diff options
Diffstat (limited to 'kolwynia/home/bdunahu.scm')
| -rw-r--r-- | kolwynia/home/bdunahu.scm | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/kolwynia/home/bdunahu.scm b/kolwynia/home/bdunahu.scm new file mode 100644 index 0000000..4c60772 --- /dev/null +++ b/kolwynia/home/bdunahu.scm @@ -0,0 +1,175 @@ +;;; Copyright © 2025-2026 bdunahu <bdunahu@operationnull.com> +(define-module (kolwynia home bdunahu) + #:use-module (gnu) + #:use-module (gnu home services) + #:use-module (gnu home services desktop) + #:use-module (gnu home services dict) + #:use-module (gnu home services dotfiles) + #:use-module (gnu home services gnupg) + #:use-module (gnu home services mail) + #:use-module (gnu home services mcron) + #: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 gnupg) ;pinentry-emacs + #:use-module ((kolwynia home bdunahu packages) + #:prefix pkgs:) + #:use-module ((kolwynia home bdunahu app-preferences) + #:prefix app:) + #:use-module ((kolwynia home bdunahu ssh) + #:prefix ssh-host:) + #:use-module ((kolwynia home bdunahu mail) ;gitignored + #:prefix mail:) + #:use-module (gnu home) + #:export (bdunahu)) + +;;; Commentary: +;;; Code: + +(define bdunahu + (home-environment + (packages + `(,@pkgs:emacs + ,@pkgs:browser + ,@pkgs:pass + ,@pkgs:media + ,@pkgs:mail + ,@pkgs:tex + ,@pkgs:desktop + ,@pkgs:pdf + ,@pkgs:fonts + ,@pkgs:development + ,@pkgs:reverse-engineering + ,@pkgs:university + ,@pkgs:emulators + ,@pkgs:games)) + (services + (list (service home-shepherd-service-type) + (service home-dicod-service-type) + ;; TODO: causes EXWM XELB: Authorization required, + ;; but no authorization protocol specified. + ;; ,(service home-startx-command-service-type) + (service home-dotfiles-service-type + (home-dotfiles-configuration + (directories '("./bdunahu/files")))) + (service home-gpg-agent-service-type + (home-gpg-agent-configuration + (pinentry-program + (file-append pinentry-emacs "/bin/pinentry-emacs")) + (ssh-support? #t) + (default-cache-ttl 28800) + (max-cache-ttl 28800) + (default-cache-ttl-ssh 28800) + (max-cache-ttl-ssh 28800))) + (service home-xdg-user-directories-service-type + (home-xdg-user-directories-configuration + (desktop "$HOME/dl") + (documents "$HOME/dc") + (download "$HOME/dl") + (music "$HOME/ik") + (pictures "$HOME/md/ig") + (publicshare "$HOME") + (templates "$HOME") + (videos "$HOME/md/vi"))) + (service home-bash-service-type + (home-bash-configuration + (aliases + '(("aardwolf" . "telnet aardmud.org 23") + ("auth" . "echo -e \"$PWD\n\" >> $HOME/.config/guix/shell-authorized-directories") + ("cp" . "cp -i") + ("grep" . "grep --color=auto") + ("guix-rcfg" . "sudo guix system -L ${HOME}/.dotfiles/ reconfigure ${HOME}/.dotfiles/kolwynia/os/${HOSTNAME}.scm") + ("ll" . "ls -l") + ("ls" . "ls -p --color=auto") + ("mkd" . "mkdir -pv") + ("mv" . "mv -i") + ("rm" . "rm -i") + ("suspend" . "sudo loginctl suspend") + ("usb0-shell" . "screen /dev/ttyUSB0 115200") + ("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 +"))) + (environment-variables + `(("PATH" . "$HOME/.local/bin:$PATH") + ("BROWSER" . ,(car app:default-browser)) + ("VISUAL" . ,(car app:default-editor)) + ("EDITOR" . ,(car app:default-editor)) + ("NETHACKOPTIONS" . "@$XDG_CONFIG_HOME/nethack/config") + ("ZATHURA_PLUGINS_PATH" . "$HOME/.guix-home/profile/lib/zathura"))))) + (service home-openssh-service-type + (home-openssh-configuration + (hosts + (list ssh-host:garmr + ssh-host:heimdallr + ssh-host:nott + ssh-host:surt + ssh-host:codeberg)))) + (service home-mcron-service-type + (home-mcron-configuration + (jobs + (list + #~(job + ;; twenty minutes + (lambda (current-time) (+ current-time (* 20 60))) + "offlineimap") + #~(job + (lambda (current-time) (+ current-time (* 5 60))) + "~/.local/bin/set-t1"))))) + (service home-xdg-configuration-files-service-type + `(("gdbinit" + ,(plain-file + (plain-file-name %default-gdbinit) + (string-append (plain-file-content %default-gdbinit) + "set disassembly-flavor intel +set confirm no +set history filename ~/.cache/gdb/history +set history save on +set history size unlimited"))))) + (service home-msmtp-service-type + (home-msmtp-configuration + (defaults + (msmtp-configuration + (port 587) + (tls? #t) + (tls-starttls? #t) + (log-file "/home/bdunahu/.local/state/msmtp.log") + (auth? #t))) + (accounts + (list + mail:operationnull + mail:umass)) + (default-account "operationnull"))) + (service home-xdg-mime-applications-service-type + (home-xdg-mime-applications-configuration + (default app:mime-app-alist) + (desktop-entries + (list + (xdg-desktop-entry + (file "torrent") + (name "Torrent") + (type 'application) + (config '((exec . "transmission-remote -a %u")))))))) + (simple-service 'xorg-dot + home-files-service-type + `((".Xresources" + ,(plain-file "Xresources" " +Nsxiv.window.background: #000000 +Nsxiv.window.foreground: #FFFFFF +Nsxiv.bar.font: MedievalSharp:size=9 +")) + (".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")))))))) + +;;; bdunahu.scm ends here |
