sybil.scm
1 | (use-modules |
2 | (gnu home) |
3 | (gnu services) |
4 | (gnu packages) |
5 | (gnu home services) |
6 | (gnu home services openbox) |
7 | (gnu home services shells) |
8 | |
9 | ;; for openbox |
10 | (gnu packages compton) |
11 | (gnu packages dunst) |
12 | (gnu packages game-development) |
13 | (gnu packages games) |
14 | (gnu packages geo) |
15 | (gnu packages gnucash) |
16 | (gnu packages gnuzilla) |
17 | (gnu packages ibus) |
18 | (gnu packages image-viewers) |
19 | (gnu packages inkscape) |
20 | (gnu packages lxde) |
21 | (gnu packages mail) |
22 | (gnu packages messaging) |
23 | (gnu packages minetest) |
24 | (gnu packages password-utils) |
25 | (gnu packages pulseaudio) |
26 | (gnu packages sync) |
27 | (gnu packages xfce) |
28 | (games packages 7-billion-humans) |
29 | (games packages baba-is-you) |
30 | (games packages factorio) |
31 | (games packages hollow-knight) |
32 | (games packages mini-metro) |
33 | (games packages starsector) |
34 | (games packages sunless-skies) |
35 | (nongnu packages steam-client) |
36 | (guix gexp) |
37 | ) |
38 | |
39 | (define openbox-environment |
40 | (plain-file "environment" "eval $(ssh-agent) |
41 | export GTK_IM_MODULE=ibus |
42 | export XMODIFIERS=@im=ibus |
43 | export QT_IM_MODULE=ibus |
44 | export GUIX_GTK2_IM_MODULE_FILE=/home/tyreunom/.guix-profile/lib/gtk-2.0/2.10.0/immodules-gtk2.cache |
45 | export GUIX_GTK3_IM_MODULE_FILE=/home/tyreunom/.guix-profile/lib/gtk-3.0/3.0.0/immodules-gtk3.cache")) |
46 | |
47 | (define openbox-autostart |
48 | (computed-file "autostart" |
49 | #~(with-output-to-file #$output |
50 | (lambda _ |
51 | (format #t "~a --bg-fill ~a~%" #$(file-append feh "/bin/feh") |
52 | #$(local-file "/home/tyreunom/background.png")) |
53 | (format #t "~a -CGb~%" #$(file-append compton "/bin/compton")) |
54 | (format #t "~a -conf ~a &~%" #$(file-append dunst "/bin/dunst") |
55 | #$(plain-file "dunstrc" "")) |
56 | (format #t "export GTK_IM_MODULE=ibus |
57 | export XMODIFIERS=@im=ibus |
58 | export QT_IM_MODULE=ibus |
59 | export GUIX_GTK2_IM_MODULE_FILE=~~/.guix-profile/lib/gtk-2.0/2.10.0/immodules-gtk2.cache |
60 | export GUIX_GTK3_IM_MODULE_FILE=~~/.guix-profile/lib/gtk-3.0/3.0.0/immodules-gtk3.cache |
61 | IBUS_COMPONENT_PATH=~~/.guix-profile/share/ibus/component ~a -drx~%" #$(file-append ibus "/bin/ibus-daemon")))))) |
62 | (define openbox-rc (local-file "files/openbox/rc.xml")) |
63 | |
64 | (define tyreunom-openbox-configuration |
65 | (home-openbox-configuration |
66 | (autostart openbox-autostart) |
67 | (environ openbox-environment) |
68 | (rc openbox-rc) |
69 | (menus |
70 | (list |
71 | (home-openbox-menu |
72 | (id "apps-game-menu") |
73 | (label "Jeux") |
74 | (elements |
75 | (list |
76 | (home-openbox-element-execute |
77 | (label "MineTest") |
78 | (command (file-append minetest "/bin/minetest"))) |
79 | ;(home-openbox-element-execute |
80 | ; (label "Starsector") |
81 | ; (command (file-append starsector "/bin/starsector"))) |
82 | ;(home-openbox-element-execute |
83 | ; (label "Factorio") |
84 | ; (command (file-append factorio "/bin/factorio"))) |
85 | ;(home-openbox-element-execute |
86 | ; (label "Hollow Knight") |
87 | ; (command (file-append gog-hollow-knight "/bin/hollow-knight"))) |
88 | ;(home-openbox-element-execute |
89 | ; (label "7 Billion Humans") |
90 | ; (command (file-append gog-7-billion-humans "/bin/7-billion-humans"))) |
91 | ;(home-openbox-element-execute |
92 | ; (label "Sunless Skies") |
93 | ; (command (file-append gog-sunless-skies "/bin/sunless-skies"))) |
94 | ;(home-openbox-element-execute |
95 | ; (label "Baba is You") |
96 | ; (command (file-append baba-is-you "/bin/baba-is-you"))) |
97 | ;(home-openbox-element-execute |
98 | ; (label "Mini Metro") |
99 | ; (command (file-append mini-metro "/bin/mini-metro"))) |
100 | ;(home-openbox-element-execute |
101 | ; (label "0ad") |
102 | ; (command (file-append 0ad "/bin/0ad"))) |
103 | ;(home-openbox-element-execute |
104 | ; (label "godot") |
105 | ; (command (file-append godot "/bin/godot")))))) |
106 | ))) |
107 | (home-openbox-menu |
108 | (id "apps-other-menu") |
109 | (label "Autres") |
110 | (elements |
111 | (list |
112 | (home-openbox-element-execute |
113 | (label "Pavucontrol") |
114 | (command (file-append pavucontrol "/bin/pavucontrol"))) |
115 | (home-openbox-element-execute |
116 | (label "Owncloud") |
117 | (command (file-append owncloud-client "/bin/owncloud"))) |
118 | (home-openbox-element-execute |
119 | (label "Keepass") |
120 | (command (file-append keepassxc "/bin/keepassxc"))) |
121 | (home-openbox-element-execute |
122 | (label "Claws-mail") |
123 | (command (file-append claws-mail "/bin/claws-mail"))) |
124 | (home-openbox-element-execute |
125 | (label "Hexchat") |
126 | (command (file-append hexchat "/bin/hexchat"))) |
127 | (home-openbox-element-execute |
128 | (label "GnuCash") |
129 | (command (file-append gnucash "/bin/gnucash"))) |
130 | (home-openbox-element-execute |
131 | (label "JOSM") |
132 | (command (file-append josm "/bin/josm"))) |
133 | (home-openbox-element-execute |
134 | (label "Inkscape") |
135 | (command (file-append inkscape "/bin/inkscape")))))))) |
136 | (root-elements |
137 | (list |
138 | (home-openbox-element-menu (id "apps-game-menu")) |
139 | (home-openbox-element-menu (id "apps-other-menu")) |
140 | (home-openbox-element-execute |
141 | (label "Terminal") |
142 | (command (file-append xfce4-terminal "/bin/xfce4-terminal"))) |
143 | (home-openbox-element-execute |
144 | (label "Navigateur") |
145 | (command (file-append icecat "/bin/icecat -P --no-remote"))) |
146 | (home-openbox-element-execute |
147 | (label "Gestionnaire de fichiers") |
148 | (command (file-append pcmanfm "/bin/pcmanfm"))))))) |
149 | |
150 | |
151 | (home-environment |
152 | (packages |
153 | (map specification->package+output |
154 | (list "arc-theme" |
155 | "arc-icon-theme" |
156 | "hicolor-icon-theme" |
157 | |
158 | ;; utilities |
159 | "ibus" |
160 | "ibus-anthy" |
161 | |
162 | ;; gui |
163 | "feh" |
164 | "mpv" |
165 | "gnucash" |
166 | "syncthing-gtk" |
167 | "syncthing" |
168 | "virt-manager" |
169 | "zathura-pdf-poppler" |
170 | "zathura" |
171 | |
172 | ;; cli |
173 | "graphviz" |
174 | "imagemagick" |
175 | "pinentry" |
176 | "youtube-dl" |
177 | "adb" |
178 | "fastboot" |
179 | "git:send-email" |
180 | "git" |
181 | "bind:utils" |
182 | "gnupg" |
183 | "curl" |
184 | "python" |
185 | "wget" |
186 | "unzip" |
187 | "torsocks" |
188 | "strace" |
189 | "acpi" |
190 | "setxkbmap" |
191 | "file" |
192 | |
193 | ;; guile |
194 | "guile" |
195 | "guile-readline" |
196 | |
197 | ;; editor |
198 | "python-pynvim" |
199 | "neovim" |
200 | |
201 | ;; fonts |
202 | "font-terminus" |
203 | "font-cozette" |
204 | "font-linuxlibertine" |
205 | "font-tamzen" |
206 | "font-liberation" |
207 | "font-fira-code" |
208 | "font-inconsolata" |
209 | "font-mplus-testflight" |
210 | "font-fontna-yasashisa-antique" |
211 | "font-dejavu" |
212 | "font-ipa-mj-mincho" |
213 | "font-wqy-microhei" |
214 | "font-google-noto" |
215 | |
216 | ;; games |
217 | "starsector" |
218 | ;"baba-is-you" |
219 | "steam" |
220 | |
221 | "glibc-locales" |
222 | "hunspell-dict-fr-moderne" |
223 | "hunspell-dict-fr-reforme1990" |
224 | "hunspell-dict-fr"))) |
225 | (services |
226 | (list (service home-bash-service-type |
227 | (home-bash-configuration |
228 | (environment-variables |
229 | `(("GTK_IM_MODULE" . "ibus") |
230 | ("XMODIFIERS" . "@im=ibus") |
231 | ("QT_IM_MODULE" . "ibus") |
232 | ("GUIX_GTK2_IM_MODULE_FILE" . "/home/tyreunom/.guix-profile/lib/gtk-2.0/2.10.0/immodules-gtk2.cache") |
233 | ("GUIX_GTK3_IM_MODULE_FILE" . "/home/tyreunom/.guix-profile/lib/gtk-3.0/3.0.0/immodules-gtk3.cache") |
234 | ("EDITOR" . "nvim"))) |
235 | (bashrc |
236 | (list |
237 | (plain-file "aliases" |
238 | "alias vim=nvim |
239 | alias info=\"info --vi-keys\""))))) |
240 | (service home-openbox-service-type tyreunom-openbox-configuration) |
241 | (simple-service 'nvim-config home-files-service-type |
242 | `(("config/nvim/init.vim" ,(plain-file "init.vim" "set tabstop=4 |
243 | set colorcolumn=80 |
244 | set expandtab |
245 | autocmd FileType latex,tex,text,md,markdown setlocal spell")))) |
246 | (simple-service 'xfce4-terminal home-files-service-type |
247 | `(("config/xfce4/terminal/terminalrc" ,(local-file "files/xfce4-terminal/terminalrc")))) |
248 | (simple-service 'guile home-files-service-type |
249 | `(("guile" ,(local-file "files/guilerc")))) |
250 | (simple-service 'git home-files-service-type |
251 | `(("gitconfig" ,(local-file "files/gitconfig")))) |
252 | (simple-service 'gtk home-files-service-type |
253 | `(("gtkrc-2.0" ,(plain-file "gtkrc-2.0" |
254 | "gtk-theme-name=\"Arc-Dark\" |
255 | gtk-icon-theme-name=\"Arc\"")) |
256 | ("config/gtk-3.0/settings.ini" ,(plain-file "settings.ini" |
257 | "[Settings] |
258 | gtk-theme-name=Arc-Dark |
259 | gtk-icon-theme-name=Arc"))))))) |
260 |