(define-module (services xorg) #:use-module (gnu) #:use-module (gnu home services) #:use-module (gnu home services desktop) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (gnu packages suckless) #:use-module (ymir) #:export (bd-desktop-system-services bd-desktop-home-services )) (use-service-modules audio desktop networking sound xorg) (define %keyboard-udev-rule (udev-rule "90-keyboard-hotplug.rules" (string-append "ATTR{idVendor}==\"04b4\", ATTR{idProduct}==\"0510\", ACTION==\"add\", RUN+=\"/run/current-system/profile/bin/touch /tmp/keyboard_plugged\" RUN+=\"/run/current-system/profile/bin/chown " username " /tmp/keyboard_plugged\""))) (define bd-desktop-system-services (list (service screen-locker-service-type (screen-locker-configuration (name "slock") (program (file-append slock "/bin/slock")))) (service x11-socket-directory-service-type) (udev-rules-service 'keyboard-hotplug %keyboard-udev-rule) (service pulseaudio-service-type) (service alsa-service-type))) (define bd-desktop-home-services (list (simple-service 'dotfiles home-files-service-type `((".Xresources" ,(plain-file "Xresources" " Nsxiv.window.background: #000000 Nsxiv.window.foreground: #FFFFFF Nsxiv.bar.font: Terminus:size=9 ")) (".xinitrc" ,(plain-file "xinitrc" " #!/bin/sh userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap # merge in defaults and keymaps if [ -f \"$userresources\" ]; then xrdb -merge \"$userresources\" fi if [ -f \"$usermodmap\" ]; then xmodmap \"$usermodmap\" fi picom --backend=glx & xss-lock -- slock & xset r rate 250 70 xset s 600 touchpad-defaults xrandr-toggle xkeyboard-auto & test -f ~/.xkb/symbols/rocker && xkbcomp -I$HOME/.xkb ~/.xkb/keymap/rocket $DISPLAY exec emacs -mm")) (".config/gtk-2.0/settings.ini" ,(plain-file "settings.ini" " [Settings] gtk-application-prefer-dark-theme=1\n")) (".config/gtk-3.0/settings.ini" ,(plain-file "settings.ini" " [Settings] gtk-application-prefer-dark-theme=1\n"))))))