diff options
-rw-r--r-- | .config/guix/modules/base.scm | 91 | ||||
-rw-r--r-- | .config/guix/modules/base1.scm | 26 | ||||
-rw-r--r-- | .config/guix/modules/desktop.scm | 92 | ||||
-rw-r--r-- | .config/guix/modules/gpg.scm | 15 | ||||
-rw-r--r-- | .config/guix/modules/shell.scm | 36 | ||||
-rw-r--r-- | .config/guix/modules/ssh.scm | 22 | ||||
-rw-r--r-- | .config/guix/modules/xdg.scm | 32 | ||||
-rw-r--r-- | .config/guix/modules/xserver.scm | 75 | ||||
-rw-r--r-- | .config/guix/vali.scm | 16 |
9 files changed, 180 insertions, 225 deletions
diff --git a/.config/guix/modules/base.scm b/.config/guix/modules/base.scm index e0fbdb3..6704959 100644 --- a/.config/guix/modules/base.scm +++ b/.config/guix/modules/base.scm @@ -6,6 +6,13 @@ (define-module (base) + #:use-module (gnu home services) + #:use-module (gnu home services dict) + #:use-module (gnu home services gnupg) + #:use-module (gnu home services shells) + #:use-module (gnu home services shepherd) + #:use-module (gnu home services ssh) + #:use-module (gnu home services xdg) #:use-module (gnu packages) #:use-module (gnu packages gnupg) #:use-module (gnu services) @@ -14,8 +21,10 @@ #:use-module (gnu services networking) #:use-module (gnu services ssh) #:use-module (gnu system) + #:use-module (guix gexp) #:export (bd-base-system-packages - bd-base-system-services)) + bd-base-system-services + bd-base-home-services)) @@ -94,3 +103,83 @@ ,(service tor-service-type) ,(service transmission-daemon-service-type) ,@%base-services)) + +(define bd-base-home-services + (list + (service home-shepherd-service-type) + + (service home-dicod-service-type) + + (service home-gpg-agent-service-type + (home-gpg-agent-configuration + (pinentry-program + (file-append pinentry "/bin/pinentry")) + (max-cache-ttl 43200) + (ssh-support? #t))) + + (service home-bash-service-type + (home-bash-configuration + (aliases '(("cp" . "cp -i") + ("grep" . "grep --color=auto") + ("guix-rcfg" . "sudo guix system -L ${HOME}/.config/guix/modules/ reconfigure ${HOME}/.config/guix/${HOSTNAME}.scm") + ("ll" . "ls -l") + ("ls" . "ls -p --color=auto") + ("mkd" . "mkdir -pv") + ("mv" . "mv -i") + ("rm" . "rm -i") + ("suspend" . "sudo bash -c 'echo mem > /sys/power/state'") + ("vi" . "vim") + ("xeb" . "emacsclient -nce '(switch-to-buffer nil)'") + ("xet" . "emacsclient -nce '(shell)'") + ("ytta" . "yt-dlp --extract-audio --format bestaudio/best") + ("yttv" . "yt-dlp -f b"))) + + + (bashrc (list (plain-file "bashrc" " +# converts above aliases into eshell aliases automatically +alias | sed -E \"s/^alias ([^=]+)='(.*)'$/alias \\1 \\2 \\$*/g; s/'\\\\\\''/'/g;\" >~/.config/emacs/eshell/alias + +# add my scripts to path +PATH=${HOME}/Personal/scripts:$PATH"))) + (environment-variables + '(("BROWSER" . "icecat"))))) + + (service home-openssh-service-type + (home-openssh-configuration + (hosts + (list (openssh-host (name "hati") + (host-name "192.168.1.76") + (user "bdunahu")) + (openssh-host (name "vali") + (host-name "192.168.1.64") + (user "bdunahu")) + (openssh-host (name "ivaldi") + (host-name "192.168.1.98") + (user "bdunahu")) + (openssh-host (name "heimdallr") + (host-name "operationnull.com") + (user "root")))))) + + (service home-xdg-user-directories-service-type + (home-xdg-user-directories-configuration + (desktop "$HOME") + (documents "$HOME") + (download "$HOME/dl") + (music "$HOME/media") + (pictures "$HOME/media") + (publicshare "$HOME") + (templates "$HOME") + (videos "$HOME/media"))) + + (service home-xdg-mime-applications-service-type + (home-xdg-mime-applications-configuration + (default + '((application/x-bittorrent . torrent.desktop) + (x-scheme-handler/magnet . torrent.desktop))) + (desktop-entries + (list + (xdg-desktop-entry + (file "torrent") + (name "Torrent") + (type 'application) + (config '((exec . "transmission-remote -a %u")))))))))) diff --git a/.config/guix/modules/base1.scm b/.config/guix/modules/base1.scm deleted file mode 100644 index d48b658..0000000 --- a/.config/guix/modules/base1.scm +++ /dev/null @@ -1,26 +0,0 @@ -(define-module (base1) - #:use-module (gnu packages) - #:use-module (gnu packages gnupg) - #:use-module (gnu services) - #:use-module (guix gexp) - #:use-module (gnu home services) - #:use-module (gnu home services shepherd) - #:use-module (gnu home services dict) - #:use-module (gnu home services ssh) - #:use-module (gnu home services gnupg)) - - -;; Below is a list of Home services. To search for available -;; services, run 'guix home search KEYWORD' in a terminal. -(define-public bd-base-services - (list - (service home-shepherd-service-type) - (service home-dicod-service-type) - (simple-service 'themes - home-files-service-type - `((".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/desktop.scm b/.config/guix/modules/desktop.scm index e2c6cc9..249fc4b 100644 --- a/.config/guix/modules/desktop.scm +++ b/.config/guix/modules/desktop.scm @@ -7,6 +7,7 @@ (define-module (desktop) #:use-module (gnu) #:use-module (gnu home services) + #:use-module (gnu home services desktop) #:use-module (gnu home services shells) #:use-module (gnu packages image) #:use-module (gnu packages suckless) @@ -23,7 +24,8 @@ #:use-module (guix gexp) #:use-module (guix packages) #:export (bd-desktop-system-packages - bd-desktop-system-services)) + bd-desktop-system-services + bd-desktop-home-services)) (define programs '( @@ -62,10 +64,10 @@ (define dwm-package (package - (inherit dwm) - (name "bdunahu-dwm") - (inputs (modify-inputs (package-inputs dwm))) - (source (local-file "dwm" #:recursive? #t)))) + (inherit dwm) + (name "bdunahu-dwm") + (inputs (modify-inputs (package-inputs dwm))) + (source (local-file "dwm" #:recursive? #t)))) (define bd-desktop-system-packages `(,@(map specification->package @@ -119,3 +121,83 @@ (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 & +time-getter & +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/gpg.scm b/.config/guix/modules/gpg.scm deleted file mode 100644 index 3688166..0000000 --- a/.config/guix/modules/gpg.scm +++ /dev/null @@ -1,15 +0,0 @@ -(define-module (gpg) - #:use-module (guix gexp) - #:use-module (gnu packages gnupg) - #:use-module (gnu home services) - #:use-module (gnu home services gnupg)) - - -(define-public gpg-service - (list - (service home-gpg-agent-service-type - (home-gpg-agent-configuration - (pinentry-program - (file-append pinentry "/bin/pinentry")) - (max-cache-ttl 43200) - (ssh-support? #t))))) diff --git a/.config/guix/modules/shell.scm b/.config/guix/modules/shell.scm deleted file mode 100644 index edaa90f..0000000 --- a/.config/guix/modules/shell.scm +++ /dev/null @@ -1,36 +0,0 @@ -(define-module (shell) - #:use-module (gnu home services) - #:use-module (gnu services) - #:use-module (guix gexp) - #:use-module (shell) - #:use-module (gnu home services shells)) - - -(define-public shell-service - (list - (service home-bash-service-type - (home-bash-configuration - (aliases '(("cp" . "cp -i") - ("grep" . "grep --color=auto") - ("guix-rcfg" . "sudo guix system -L ${HOME}/.config/guix/modules/ reconfigure ${HOME}/.config/guix/${HOSTNAME}.scm") - ("ll" . "ls -l") - ("ls" . "ls -p --color=auto") - ("mkd" . "mkdir -pv") - ("mv" . "mv -i") - ("rm" . "rm -i") - ("suspend" . "sudo bash -c 'echo mem > /sys/power/state'") - ("vi" . "vim") - ("xeb" . "emacsclient -nce '(switch-to-buffer nil)'") - ("xet" . "emacsclient -nce '(shell)'") - ("ytta" . "yt-dlp --extract-audio --format bestaudio/best") - ("yttv" . "yt-dlp -f b"))) - - - (bashrc (list (plain-file "bashrc" " -# converts above aliases into eshell aliases automatically -alias | sed -E \"s/^alias ([^=]+)='(.*)'$/alias \\1 \\2 \\$*/g; s/'\\\\\\''/'/g;\" >~/.config/emacs/eshell/alias - -# add my scripts to path -PATH=${HOME}/Personal/scripts:$PATH"))) - (environment-variables - '(("BROWSER" . "icecat"))))))) diff --git a/.config/guix/modules/ssh.scm b/.config/guix/modules/ssh.scm deleted file mode 100644 index 81355a1..0000000 --- a/.config/guix/modules/ssh.scm +++ /dev/null @@ -1,22 +0,0 @@ -(define-module (ssh) - #:use-module (gnu home services) - #:use-module (gnu home services ssh)) - - -(define-public ssh-service - (list - (service home-openssh-service-type - (home-openssh-configuration - (hosts - (list (openssh-host (name "hati") - (host-name "192.168.1.76") - (user "bdunahu")) - (openssh-host (name "vali") - (host-name "192.168.1.64") - (user "bdunahu")) - (openssh-host (name "ivaldi") - (host-name "192.168.1.98") - (user "bdunahu")) - (openssh-host (name "heimdallr") - (host-name "operationnull.com") - (user "root")))))))) diff --git a/.config/guix/modules/xdg.scm b/.config/guix/modules/xdg.scm deleted file mode 100644 index 0b1b8f1..0000000 --- a/.config/guix/modules/xdg.scm +++ /dev/null @@ -1,32 +0,0 @@ -(define-module (xdg) - #:use-module (guix gexp) - #:use-module (gnu services) - #:use-module (gnu home services) - #:use-module (xdg) - #:use-module (gnu home services xdg)) - - -(define-public xdg-service - (list - (service home-xdg-user-directories-service-type - (home-xdg-user-directories-configuration - (desktop "$HOME") - (documents "$HOME") - (download "$HOME/dl") - (music "$HOME/media") - (pictures "$HOME/media") - (publicshare "$HOME") - (templates "$HOME") - (videos "$HOME/media"))) - (service home-xdg-mime-applications-service-type - (home-xdg-mime-applications-configuration - (default - '((application/x-bittorrent . torrent.desktop) - (x-scheme-handler/magnet . torrent.desktop))) - (desktop-entries - (list - (xdg-desktop-entry - (file "torrent") - (name "Torrent") - (type 'application) - (config '((exec . "transmission-remote -a %u")))))))))) diff --git a/.config/guix/modules/xserver.scm b/.config/guix/modules/xserver.scm deleted file mode 100644 index 59e6652..0000000 --- a/.config/guix/modules/xserver.scm +++ /dev/null @@ -1,75 +0,0 @@ -(define-module (xserver) - #:use-module (gnu services) - #:use-module (guix gexp) - #:use-module (gnu home services) - #:use-module (gnu home services desktop)) - - -(define-public xorg-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 & -time-getter & -set-bg -xset r rate 250 70 -exec dwm")))))) diff --git a/.config/guix/vali.scm b/.config/guix/vali.scm index 2d8912d..4a436c9 100644 --- a/.config/guix/vali.scm +++ b/.config/guix/vali.scm @@ -5,7 +5,6 @@ (define-module (vali) #:use-module (base) - #:use-module (base1) #:use-module (desktop) #:use-module (gnu) #:use-module (gnu home) @@ -13,25 +12,16 @@ #:use-module (gnu packages) #:use-module (gnu services) #:use-module (gnu services guix) - #:use-module (gpg) #:use-module (guix gexp) #:use-module (mpd) - #:use-module (shell) - #:use-module (ssh) - #:use-module (xdg) - #:use-module (xserver) #:use-module (ymir)) (define home (home-environment (services - `(,@xdg-service - ,@shell-service - ,@ssh-service - ,@gpg-service - ,@bd-base-services - ,@xorg-services)))) + `(,@bd-base-home-services + ,@bd-desktop-home-services)))) (operating-system @@ -46,7 +36,7 @@ ,@(map specification->package '( "brightnessctl" - )))) + )))) (services `(,@bd-base-system-services |