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