From f64fe17bf3f457a055b1ec3404c65ac653c4e6cf Mon Sep 17 00:00:00 2001 From: bd Date: Mon, 3 Jun 2024 02:21:34 -0600 Subject: Segregate xorg packages --- .config/guix/modules/base.scm | 64 +++++++++--- .config/guix/modules/desktop.scm | 203 --------------------------------------- .config/guix/modules/xorg.scm | 186 +++++++++++++++++++++++++++++++++++ .config/guix/vali.scm | 4 +- 4 files changed, 237 insertions(+), 220 deletions(-) delete mode 100644 .config/guix/modules/desktop.scm create mode 100644 .config/guix/modules/xorg.scm diff --git a/.config/guix/modules/base.scm b/.config/guix/modules/base.scm index 7f35e44..c512ab6 100644 --- a/.config/guix/modules/base.scm +++ b/.config/guix/modules/base.scm @@ -24,16 +24,37 @@ (use-service-modules base file-sharing networking ssh) -(use-package-modules gnupg mail password-utils - bittorrent pdf video - cryptsetup curl emacs - version-control web admin - databases rsync - package-management - texlive compression vim) - - -(define comm +(use-package-modules + admin ;; netcat + bittorrent ;; transmission + compression ;; unzip + cryptsetup ;; cryptsetup + curl ;; curl + databases ;; recutils + emacs ;; emacs + fonts ;; font-google-noto-emoji, font-terminus + fontutils ;; fontconfig + gimp ;; gimp + gnupg ;; gnupg, pinentry, + gnuzilla ;; icecat + gtk ;; gtk+ + imagemagick ;; imagemagick + librewolf ;; librewolf + mail ;; notmuch, offlineimap + package-management ;; stow + password-utils ;; pass-otp, password-store + pdf ;; xpdf, zathura, zathura-pdf-mupdf + rsync ;; rsync + texlive ;; texlive + version-control ;; git + video ;; ffmpeg, mpv + video ;; yt-dlp + vim ;; vim + web ;; jq + ) + + +(define base (list gnupg notmuch @@ -44,10 +65,7 @@ transmission xpdf ; pdftotext yt-dlp - )) -(define dev - (list cryptsetup curl emacs @@ -62,10 +80,26 @@ vim )) +(define desk + (list + ffmpeg + fontconfig + font-google-noto-emoji + font-terminus + gimp + gtk+ + icecat + imagemagick + librewolf + mpv + zathura + zathura-pdf-mupdf + )) + (define bd-base-system-packages (append! - comm - dev + base + desk %base-packages )) diff --git a/.config/guix/modules/desktop.scm b/.config/guix/modules/desktop.scm deleted file mode 100644 index de07aa2..0000000 --- a/.config/guix/modules/desktop.scm +++ /dev/null @@ -1,203 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Provides a set of my preferred ;; -;; program and services for desktops ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - -(define-module (modules desktop) - #: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 compton fonts fontutils - gimp gnome gnuzilla gtk - image imagemagick - image-viewers librewolf - pdf pulseaudio suckless - video xdisorg xorg) - -(define dwm-package - (package - (inherit dwm) - (name "bdunahu-dwm") - (inputs (modify-inputs (package-inputs dwm))) - (source (local-file "dwm" #:recursive? #t)))) - -(define programs - (list - dmenu - flameshot - font-google-noto-emoji - fontconfig - gimp - icecat - imagemagick - libnotify - librewolf - mpv - pavucontrol - picom - pulseaudio - sxiv - xprop - zathura - zathura-pdf-mupdf - )) - -(define x-server - (list - dwm-package - feh - ffmpeg - gtk+ - font-terminus - xdotool - xf86-input-libinput - xf86-video-fbdev - xinit - xmodmap - xorg-server - xrdb - xset - )) - -(define bd-desktop-system-packages - (append! - programs - x-server - )) - -(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")))))) 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")))))) diff --git a/.config/guix/vali.scm b/.config/guix/vali.scm index 517c199..3e2acfc 100644 --- a/.config/guix/vali.scm +++ b/.config/guix/vali.scm @@ -14,9 +14,9 @@ #:use-module (gnu services guix) #:use-module (guix gexp) #:use-module (modules base) - #:use-module (modules desktop) #:use-module (modules mpd) - #:use-module (modules ymir)) + #:use-module (modules ymir) + #:use-module (modules xorg)) (define home -- cgit v1.2.3