diff options
author | Timo Wilken | 2024-03-03 19:20:49 +0100 |
---|---|---|
committer | Timo Wilken | 2024-03-03 19:21:00 +0100 |
commit | bca67c393a602062a1994e630c5ec6e3bde1f7ac (patch) | |
tree | 9e75ac54a5839ea7d3e556dd456d769cefad255d | |
parent | 7885d8f0331106f5eeaa2f072957d0160da7947f (diff) |
WIP Wayland home supportwayland
-rw-r--r-- | tw/home.scm | 40 |
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 |