summaryrefslogtreecommitdiff
path: root/kolwynia/home/bdunahu.scm
diff options
context:
space:
mode:
Diffstat (limited to 'kolwynia/home/bdunahu.scm')
-rw-r--r--kolwynia/home/bdunahu.scm175
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