summaryrefslogtreecommitdiff
path: root/.config/guix/modules/desktop.scm
diff options
context:
space:
mode:
Diffstat (limited to '.config/guix/modules/desktop.scm')
-rw-r--r--.config/guix/modules/desktop.scm121
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)))