1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
;;; Copyright © 2025-2026 bdunahu <bdunahu@operationnull.com>
(define-module (kolwynia home bdunahu)
#:use-module (gnu)
#:use-module (gnu home services)
#:use-module (gnu services xorg)
#: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 guix)
#: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 utils)
#:use-module ((kolwynia channels)
#:prefix channel:)
#: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)
(if hel? (service home-startx-command-service-type
(xorg-configuration
(modules (cons (specification->package "nvda")
%default-xorg-modules))
(drivers '("nvidia"))))
(service home-startx-command-service-type))
(service home-channels-service-type
(cons* channel:guix
channel:tanelorn
(if hel? (list channel:nonguix) '())))
(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
|