blob: c89a390a87455a0c12edfb884fb3b3fba8488e8a (
plain)
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
188
189
190
191
192
193
194
195
196
|
(define-module (epistemia home config)
#:use-module (gnu home)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages audio)
#:use-module (gnu packages authentication)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages emacs)
#:use-module (gnu packages emacs-xyz)
#:use-module (gnu packages engineering)
#:use-module (gnu packages file)
#:use-module (gnu packages finance)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages mail)
#:use-module (gnu packages messaging)
#:use-module (gnu packages music)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
#:use-module (gnu packages rsync)
#:use-module (gnu packages screen)
#:use-module (gnu packages tex)
#:use-module (gnu packages texlive)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
#:use-module (gnu packages wm)
#:use-module (gnu packages web-browsers)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (epistemia packages audio)
#:use-module (epistemia packages bittorrent)
#:use-module (epistemia packages emacs)
#:use-module (epistemia packages machine-learning)
#:use-module (epistemia packages minecraft)
#:use-module (epistemia packages xorg)
#:use-module (nongnu packages game-client)
#:use-module (gnu home services)
#:use-module (gnu home services desktop)
#:use-module (gnu home services dotfiles)
#:use-module (gnu home services sound)
#:use-module (gnu home services xdg)
#:use-module (guix channels)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix transformations))
(define on-machine-demiurge?
(string=? (gethostname) "demiurge.epistemia"))
(home-environment
(packages (append
(if on-machine-demiurge?
(list llama-cpp-rocm
prismlauncher
steam)
'())
(list curl
dtach
file
rsync
unison
unzip
git
htop
;; laptop
acpi
emacs-bluetooth
light
;; cryptography
age
gnupg
;; editor
emacs
emacs-age
emacs-auctex
emacs-citar
emacs-citeproc
emacs-clang-format
emacs-consult
emacs-eat
emacs-elfeed
emacs-erc-hl-nicks
emacs-erc-image
emacs-esup
emacs-exwm
emacs-geiser
emacs-geiser-guile
emacs-gptel-new
emacs-guix
emacs-hl-todo
emacs-jabber
emacs-kaolin-themes
emacs-kasi
emacs-ledger-mode
emacs-llm-tools
emacs-magit
emacs-magit-todos
emacs-marginalia
emacs-mentor
emacs-notmuch
emacs-openwith
emacs-orderless
emacs-org-mem
emacs-org-node
emacs-org-present
emacs-paredit
emacs-pdf-tools
emacs-rainbow-delimiters
emacs-skeletor
emacs-transient
emacs-undo-tree
emacs-vertico
;; texlive
texlive-latexmk
texlive-scheme-full
;; guile
guile-colorized
guile-readline
;; xorg
scrot
sx
xauth
xclip
xhost
xorg-server-with-drivers
xrandr
xsel
;; email
isync
notmuch
oauth2ms
;; videos
mpv
yt-dlp
;; browser
qutebrowser
;; printing
;prusa-slicer
;; other
rtorrent-xmlrpc)))
(services (list (simple-service 'epistemia-env-vars
home-environment-variables-service-type
'(("PS1" . "\\h$ ")
("PS2" . "> ")
("PATH" . "$HOME/bin:$PATH")
("BROWSER" . "qutebrowser")
("EDITOR" . "emacsclient")
("VISUAL" . "emacsclient")
("NOTMUCH_CONFIG" . "$XDG_CONFIG_HOME/notmuch/default/config")
("TEXMFHOME" . "$XDG_CONFIG_HOME/texmf")
("GOPROXY" . "direct")
("AGE_KEY" . "$HOME/.ssh/id_ed25519")
("AGE_PUB" . "${AGE_KEY}.pub")
("KASI_DIR" . "/data/kasi")
("KASI_EXT" . "age")
("KASI_CLIPBOARD" . "xsel -ib")
("KASI_DECRYPT" . "age -d -i $AGE_KEY")
("KASI_ENCRYPT" . "age -R $AGE_PUB")
("CRAWL_DIR" . "$XDG_DATA_HOME/crawl")))
(simple-service 'xdg-base-dirs-config
home-xdg-base-directories-service-type
(home-xdg-base-directories-configuration
(cache-home "$HOME/.cache")
(config-home "$HOME/.config")
(data-home "$HOME/.local/share")
(state-home "$HOME/.local/state")
(runtime-dir "$HOME/.local/state/runtime")))
(service home-dbus-service-type)
(service home-pipewire-service-type
(home-pipewire-configuration
(enable-pulseaudio? #t)
(wireplumber wireplumber-minimal)))
(service home-dotfiles-service-type
(home-dotfiles-configuration
(layout 'stow)
(directories '("../files")))))))
|