;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 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)))