aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Wilken2024-03-03 19:20:49 +0100
committerTimo Wilken2024-03-03 19:21:00 +0100
commitbca67c393a602062a1994e630c5ec6e3bde1f7ac (patch)
tree9e75ac54a5839ea7d3e556dd456d769cefad255d
parent7885d8f0331106f5eeaa2f072957d0160da7947f (diff)
WIP Wayland home supportwayland
-rw-r--r--tw/home.scm40
1 files changed, 28 insertions, 12 deletions
diff --git a/tw/home.scm b/tw/home.scm
index efa21344..e0c6b9cd 100644
--- a/tw/home.scm
+++ b/tw/home.scm
@@ -112,9 +112,10 @@
(export tw-home-configuration)
(define-configuration/no-serialization tw-home-configuration
+ (wayland-desktop? (boolean #f) "Install a full desktop and development
+environment based on Wayland.")
(x11-desktop? (boolean #t) "Install a full desktop and development
-environment. This is based on X11; a Wayland environment may be provided in
-future.")
+environment based on X11.")
(gaming? (boolean #f) "Install games and other packages useful for gaming?")
(nvidia-driver? (boolean #f) "Adapt the X11 desktop for the proprietary
NVIDIA driver?")
@@ -123,7 +124,7 @@ like a calendar and mail reader?"))
(define (home-packages config)
"Install packages I use frequently."
- (match-record config <tw-home-configuration> (x11-desktop? gaming? nvidia-driver? pim?)
+ (match-record config <tw-home-configuration> (wayland-desktop? x11-desktop? gaming? nvidia-driver? pim?)
(append
;; Basic packages to install everywhere, including servers.
(list curl diffstat dos2unix fdupes file git gnupg gnuplot graphviz hledger
@@ -154,7 +155,7 @@ like a calendar and mail reader?"))
(list steam-nvidia nvidia-system-monitor))
(else '()))
- (if x11-desktop?
+ (if (or wayland-desktop? x11-desktop?)
(list
;; CLI tools
bsd-games powertop (list git "send-email") pdsh qrencode
@@ -176,17 +177,14 @@ like a calendar and mail reader?"))
hashicorp-consul-bin hashicorp-vault-bin hashicorp-packer-bin
ansible vinagre
- ;; i3 and Xorg. i3 itself must be installed system-wide for gdm to pick it up.
+ ;; General GUI packages
;; acpilight is a drop-in xbacklight replacement, as xbacklight doesn't work on my system.
- acpilight arandr dunst gimp hsetroot inkscape icecat imv kitty libreoffice
- mpv polybar pulsemixer rofi rofi-calc simple-scan/airscan
- transmission-remote-gtk tk xdg-utils xdot xclip xcwd xdotool
- xdpyinfo xev xfd xfontsel xinput xkill xprop xrandr xrdb xsel xset xwininfo
- xfce4-screenshooter zoom zathura zathura-ps zathura-pdf-poppler
+ acpilight
+ inkscape icecat imv gimp libreoffice mpv pulsemixer simple-scan/airscan
+ transmission-remote-gtk tk xdg-utils xdot zoom
+ zathura zathura-ps zathura-pdf-poppler
ungoogled-chromium ; needed e.g. for Interrail site & DRM video
dconf dconf-editor ; required for config by blueman, cozy, ...
- ;; gnome-keyring ; installed system-wide; see system-configuration.scm
- ;; geoclue ; for redshift -- installed system-wide
;; Fonts
font-hermit font-inconsolata font-fira-code font-fira-sans font-libertinus
;; Base Noto doesn't include CJK, so install those separately.
@@ -197,6 +195,24 @@ like a calendar and mail reader?"))
;; Games (larger games installed in ~/.guix-profile to avoid frequent huge downloads).
szio-solitaire
+ ;; i3 and Xorg. i3 itself must be installed system-wide for gdm to pick it up.
+ arandr dunst hsetroot kitty polybar rofi rofi-calc
+ xclip xcwd xdotool xdpyinfo xev xfd xfontsel xinput xkill xprop
+ xrandr xrdb xsel xset xwininfo
+ xfce4-screenshooter ; no Wayland support yet: https://gitlab.xfce.org/apps/xfce4-screenshooter/-/merge_requests/52
+
+ ;; Wayland
+ ;; TODO: update swayfx to latest to fix bugs?
+ ;; TOOD: use greetd-service-type + greetd-wlgreet-sway-session instead of gdm
+ ;; See also: https://man.sr.ht/~kennylevinsen/greetd/#using-sway-for-gtkgreet
+ ;; TODO: https://wiki.archlinux.org/title/Wayland#GUI_libraries (Qt, Electron, SDL)
+ swayfx
+ wob ; for brightness/volume popup
+ foot ; terminal
+ slurp grim ; https://wiki.archlinux.org/title/Screen_capture#Wayland
+ wtype ; xdotool for wayland. Or use ydotool
+ wev ; xev for wayland
+
;; Development & language servers
gnu-make python-lsp-server python-yamllint shellcheck gcc binutils patchelf elfutils
clang ; for clangd