diff options
Diffstat (limited to '.config/guix/modules/services/xorg.scm')
-rw-r--r-- | .config/guix/modules/services/xorg.scm | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/.config/guix/modules/services/xorg.scm b/.config/guix/modules/services/xorg.scm new file mode 100644 index 0000000..2795c1c --- /dev/null +++ b/.config/guix/modules/services/xorg.scm @@ -0,0 +1,96 @@ +(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 + `((".Xmodmap" + ,(plain-file "Xmodmap" " +clear lock +clear control +clear mod1 +clear mod2 +clear mod3 +clear mod4 +clear mod5 +keycode 37 = Hyper_L +keycode 66 = Control_L +add control = Control_L Control_R +add mod1 = Alt_L Alt_R Meta_L +add mod2 = Num_Lock +add mod3 = Hyper_L +add mod4 = Super_L Super_R +add mod5 = Mode_switch ISO_Level3_Shift +")) + (".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 & +xss-lock -- slock & +xset r rate 250 70 +xset s 600 +touchpad-defaults +xrandr-toggle +xkeyboard-auto & +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")))))) |