diff options
Diffstat (limited to '.config/guix/modules/desktop.scm')
-rw-r--r-- | .config/guix/modules/desktop.scm | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/.config/guix/modules/desktop.scm b/.config/guix/modules/desktop.scm new file mode 100644 index 0000000..e2c6cc9 --- /dev/null +++ b/.config/guix/modules/desktop.scm @@ -0,0 +1,121 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Provides a set of my preferred ;; +;; program and services for desktops ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + + +(define-module (desktop) + #:use-module (gnu) + #:use-module (gnu home services) + #:use-module (gnu home services shells) + #:use-module (gnu packages image) + #:use-module (gnu packages suckless) + #:use-module (gnu packages xorg) + #:use-module (gnu services) + #:use-module (gnu services admin) + #:use-module (gnu services audio) + #:use-module (gnu services avahi) + #:use-module (gnu services dbus) + #:use-module (gnu services desktop) + #:use-module (gnu services networking) + #:use-module (gnu services sound) + #:use-module (gnu services xorg) + #:use-module (guix gexp) + #:use-module (guix packages) + #:export (bd-desktop-system-packages + bd-desktop-system-services)) + +(define programs + '( + "dmenu" + "flameshot" + "font-google-noto-emoji" + "gimp" + "icecat" + "imagemagick" + "libnotify" + "librewolf" + "mpv" + "pavucontrol" + "picom" + "pulseaudio" + "sxiv" + "xprop" + "zathura" + "zathura-pdf-poppler" + )) + +(define x-server + '( + "feh" + "ffmpeg" + "gtk+" + "xdotool" + "xf86-input-libinput" + "xf86-video-fbdev" + "xinit" + "xmodmap" + "xorg-server" + "xrdb" + "xset" + )) + +(define dwm-package + (package + (inherit dwm) + (name "bdunahu-dwm") + (inputs (modify-inputs (package-inputs dwm))) + (source (local-file "dwm" #:recursive? #t)))) + +(define bd-desktop-system-packages + `(,@(map specification->package + (append! + programs + x-server + )) + ,dwm-package + )) + +(define bd-desktop-system-services + (list + (service screen-locker-service-type + (screen-locker-configuration + (name "slock") + (program (file-append slock "/bin/slock")))) + + ;; so that non-root users in the wheel group can + ;; perform administrative tasks (similar to "sudo"). + polkit-wheel-service + ;; The global fontconfig cache directory can sometimes contain + ;; stale entries, possibly referencing fonts that have been GC'd, + ;; so mount it read-only. + fontconfig-file-system-service + + (service network-manager-service-type) + (service wpa-supplicant-service-type) ; needed by NetworkManager + (service modem-manager-service-type) + (service usb-modeswitch-service-type) + + ;; The D-Bus clique. + (service avahi-service-type) + (service udisks-service-type) + (service upower-service-type) + (service accountsservice-service-type) + (service cups-pk-helper-service-type) + (service colord-service-type) + (service geoclue-service-type) + (service polkit-service-type) + (service elogind-service-type + (elogind-configuration + (handle-power-key 'hibernate) + ;; (idle-action-seconds (* 5 60)) + ;; (idle-action 'suspend) + )) + (service dbus-root-service-type) + + (service ntp-service-type) + + (service x11-socket-directory-service-type) + + (service pulseaudio-service-type) + (service alsa-service-type))) |