diff options
Diffstat (limited to '.config/guix/modules/xorg.scm')
-rw-r--r-- | .config/guix/modules/xorg.scm | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/.config/guix/modules/xorg.scm b/.config/guix/modules/xorg.scm new file mode 100644 index 0000000..dd3f994 --- /dev/null +++ b/.config/guix/modules/xorg.scm @@ -0,0 +1,186 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Provides a set of my preferred ;; +;; program and services for desktops ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + + +(define-module (modules xorg) + #:use-module (gnu) + #:use-module (gnu home services) + #:use-module (gnu home services desktop) + #:use-module (gnu home services shells) + #:use-module (guix gexp) + #:use-module (guix packages) + #:export (bd-desktop-system-packages + bd-desktop-system-services + bd-desktop-home-services)) + +(use-service-modules admin audio avahi dbus + desktop networking + sound xorg) + +(use-package-modules + image ;; flameshot, + suckless ;; dmenu, + gnome ;; libnotify, + pulseaudio ;; pavucontrol, pulseaudio, + compton ;; picom + image-viewers ;; sxiv, feh + xorg ;; xprop, xf86-input-libinput, xf86-video-fbdev, xinit... + xdisorg ;; xdotool + ) + +(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 + (list + dmenu + flameshot + libnotify + pavucontrol + picom + pulseaudio + sxiv + xprop + + dwm-package + feh + xdotool + xf86-input-libinput + xf86-video-fbdev + xinit + xmodmap + xorg-server + xrdb + xset + )) + +(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))) + +(define bd-desktop-home-services + (list + (simple-service 'dotfiles + home-files-service-type + `((".Xresources" + ,(plain-file "Xresources" " +Sxiv.background: #000000 +Sxiv.foreground: #00C0FF +")) + (".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 +")) + (".xinitrc" + ,(plain-file "xinitrc" " +#!/bin/sh + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +sysresources=/etc/X11/xinit/.Xresources +sysmodmap=/etc/X11/xinit/.Xmodmap + +# merge in defaults and keymaps + +if [ -f $sysresources ]; then + + xrdb -merge $sysresources + +fi + +if [ -f $sysmodmap ]; then + xmodmap $sysmodmap +fi + +if [ -f \"$userresources\" ]; then + + xrdb -merge \"$userresources\" + +fi + +if [ -f \"$usermodmap\" ]; then + xmodmap \"$usermodmap\" +fi + +# start some programs +if [ -d /etc/X11/xinit/xinitrc.d ] ; then + for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do + [ -x \"$f\" ] && . \"$f\" + done + unset f +fi + +picom & +dwmstatus & +emacs --daemon +set-bg +xset r rate 250 70 +exec dwm")) + (".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")))))) |