diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | signing-key.pub | 6 | ||||
-rw-r--r-- | src/jd/features/mail.scm | 34 | ||||
-rw-r--r-- | src/jd/features/math.scm | 68 | ||||
-rw-r--r-- | src/jd/features/nextcloud.scm | 50 | ||||
-rw-r--r-- | src/jd/host.scm | 4 | ||||
-rw-r--r-- | src/jd/user.scm | 151 |
7 files changed, 246 insertions, 71 deletions
@@ -16,4 +16,6 @@ repl: | |||
16 | "(begin (use-modules (guix gexp)) ((@ (ares server) run-nrepl-server)))" | 16 | "(begin (use-modules (guix gexp)) ((@ (ares server) run-nrepl-server)))" |
17 | 17 | ||
18 | reconfigure: | 18 | reconfigure: |
19 | sudo -E ${GUIX} system -L ./src reconfigure -e "(@ (jd config) %os)" | 19 | sudo -E ${GUIX} system -L ./src reconfigure \ |
20 | -e "(@ (jd config) %os)" \ | ||
21 | --substitute-urls='https://ci.guix.gnu.org https://bordeaux.guix.gnu.org https://substitutes.nonguix.org' | ||
diff --git a/signing-key.pub b/signing-key.pub new file mode 100644 index 0000000..32ddac6 --- /dev/null +++ b/signing-key.pub | |||
@@ -0,0 +1,6 @@ | |||
1 | (public-key | ||
2 | (ecc | ||
3 | (curve Ed25519) | ||
4 | (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#) | ||
5 | ) | ||
6 | ) | ||
diff --git a/src/jd/features/mail.scm b/src/jd/features/mail.scm index f5c3536..bf137e9 100644 --- a/src/jd/features/mail.scm +++ b/src/jd/features/mail.scm | |||
@@ -27,7 +27,7 @@ | |||
27 | #:use-module (guix diagnostics) | 27 | #:use-module (guix diagnostics) |
28 | #:use-module (guix i18n) | 28 | #:use-module (guix i18n) |
29 | 29 | ||
30 | #:export (feature-l2md* feature-mail-mcron)) | 30 | #:export (feature-l2md* feature-mail-mcron feature-octave)) |
31 | 31 | ||
32 | (define* (feature-l2md* | 32 | (define* (feature-l2md* |
33 | #:key | 33 | #:key |
@@ -113,3 +113,35 @@ features that have been enabled." | |||
113 | (feature | 113 | (feature |
114 | (name 'mail-mcron) | 114 | (name 'mail-mcron) |
115 | (home-services-getter get-home-services))) | 115 | (home-services-getter get-home-services))) |
116 | |||
117 | (define* (feature-octave | ||
118 | #:key (octave (@ (gnu packages maths) octave-cli))) | ||
119 | (define f-name 'octave) | ||
120 | (define (get-home-services config) | ||
121 | (list | ||
122 | (rde-elisp-configuration-service | ||
123 | f-name | ||
124 | config | ||
125 | `((with-eval-after-load 'org | ||
126 | (require 'ob-octave) | ||
127 | (add-to-list 'org-structure-template-alist | ||
128 | '("octave" . "src octave")) | ||
129 | (org-babel-do-load-languages | ||
130 | 'org-babel-load-languages | ||
131 | '((octave . t))) | ||
132 | (setq org-babel-default-header-args:octave | ||
133 | '((:results . "output") | ||
134 | (:session . "octave") | ||
135 | (:exports . "both") | ||
136 | (:eval . "no-export")))))) | ||
137 | (simple-service | ||
138 | 'octave-packages | ||
139 | home-profile-service-type | ||
140 | (append (or (and (get-value 'python config) | ||
141 | (list (@ (gnu packages python-xyz) python-sympy))) | ||
142 | '()) | ||
143 | (list octave))))) | ||
144 | (feature | ||
145 | (name f-name) | ||
146 | (values `((,f-name . #t))) | ||
147 | (home-services-getter get-home-services))) | ||
diff --git a/src/jd/features/math.scm b/src/jd/features/math.scm new file mode 100644 index 0000000..7609370 --- /dev/null +++ b/src/jd/features/math.scm | |||
@@ -0,0 +1,68 @@ | |||
1 | (define-module (jd features math) | ||
2 | #:use-module (rde features) | ||
3 | #:use-module (gnu services) | ||
4 | #:use-module (rde features emacs) | ||
5 | #:use-module (gnu home services) | ||
6 | |||
7 | |||
8 | #:use-module (rde packages) | ||
9 | #:use-module (rde exceptions) | ||
10 | |||
11 | #:use-module (rde predicates) | ||
12 | |||
13 | #:use-module (rde features mail) | ||
14 | #:use-module ((rde features mail providers) #:prefix mail-providers:) | ||
15 | #:use-module (gnu packages mail) | ||
16 | #:use-module (gnu packages emacs-xyz) | ||
17 | #:use-module (rde packages emacs-xyz) | ||
18 | #:use-module (rde packages mail) | ||
19 | #:use-module (rde serializers elisp) | ||
20 | #:use-module (rde home services mail) | ||
21 | |||
22 | #:use-module (gnu services configuration) | ||
23 | |||
24 | #:use-module (gnu home-services mail) | ||
25 | #:use-module (gnu home services mcron) | ||
26 | #:use-module (gnu home-services version-control) | ||
27 | #:use-module (gnu home services xdg) | ||
28 | |||
29 | #:use-module (ice-9 match) | ||
30 | #:use-module (srfi srfi-1) | ||
31 | #:use-module (guix gexp) | ||
32 | #:use-module (guix deprecation) | ||
33 | #:use-module (guix diagnostics) | ||
34 | #:use-module (guix i18n) | ||
35 | |||
36 | #:export (feature-octave)) | ||
37 | |||
38 | (define* (feature-octave | ||
39 | #:key (octave (@ (gnu packages maths) octave-cli))) | ||
40 | (define f-name 'octave) | ||
41 | (define (get-home-services config) | ||
42 | (list | ||
43 | (rde-elisp-configuration-service | ||
44 | f-name | ||
45 | config | ||
46 | `((with-eval-after-load 'org | ||
47 | (require 'ob-octave) | ||
48 | (add-to-list 'org-structure-template-alist | ||
49 | '("octave" . "src octave")) | ||
50 | (org-babel-do-load-languages | ||
51 | 'org-babel-load-languages | ||
52 | '((octave . t))) | ||
53 | (setq org-babel-default-header-args:octave | ||
54 | '((:results . "output") | ||
55 | (:session . "octave") | ||
56 | (:exports . "both") | ||
57 | (:eval . "no-export")))))) | ||
58 | (simple-service | ||
59 | 'octave-packages | ||
60 | home-profile-service-type | ||
61 | (append (or (and (get-value 'python config) | ||
62 | (list (@ (gnu packages python-xyz) python-sympy))) | ||
63 | '()) | ||
64 | (list octave))))) | ||
65 | (feature | ||
66 | (name f-name) | ||
67 | (values `((,f-name . #t))) | ||
68 | (home-services-getter get-home-services))) | ||
diff --git a/src/jd/features/nextcloud.scm b/src/jd/features/nextcloud.scm new file mode 100644 index 0000000..ff3c9fb --- /dev/null +++ b/src/jd/features/nextcloud.scm | |||
@@ -0,0 +1,50 @@ | |||
1 | (define-module (jd features nextcloud) | ||
2 | #:use-module (rde features) | ||
3 | #:use-module (rde predicates) | ||
4 | |||
5 | #:use-module (gnu packages) | ||
6 | #:use-module (gnu packages polkit) | ||
7 | #:use-module (gnu services) | ||
8 | #:use-module (gnu services configuration) | ||
9 | #:use-module (gnu home services) | ||
10 | #:use-module (gnu home services shepherd) | ||
11 | #:use-module (guix gexp) | ||
12 | #:export (feature-nextcloud)) | ||
13 | |||
14 | (define* (feature-nextcloud | ||
15 | #:key | ||
16 | (nextcloud-client (@ (gnu packages sync) nextcloud-client)) | ||
17 | (gnome-keyring (@ (gnu packages gnome) gnome-keyring)) | ||
18 | (polkit? #t)) | ||
19 | (define f-name 'nextcloud) | ||
20 | |||
21 | (define (get-home-services config) | ||
22 | (list | ||
23 | (simple-service | ||
24 | 'add-nextcloud-home-package | ||
25 | home-profile-service-type | ||
26 | (append | ||
27 | (if polkit? (list gnome-keyring) '()) | ||
28 | (list nextcloud-client))) | ||
29 | |||
30 | (simple-service | ||
31 | 'nextcloud-shepherd-service | ||
32 | home-shepherd-service-type | ||
33 | (list | ||
34 | (shepherd-service | ||
35 | (provision `(nextcloud)) | ||
36 | (auto-start? #t) | ||
37 | (stop #~(make-kill-destructor)) | ||
38 | (start #~(make-forkexec-constructor | ||
39 | (list #$(program-file | ||
40 | "nextcloud" | ||
41 | #~(begin | ||
42 | (setenv "QT_QPA_PLATFORM" "wayland-egl;xcb") | ||
43 | (apply system* | ||
44 | (list | ||
45 | #$(file-append (@ (gnu packages sync) nextcloud-client) "/bin/nextcloud"))))))))))))) | ||
46 | |||
47 | (feature | ||
48 | (name f-name) | ||
49 | (values `((,f-name . #t))) | ||
50 | (home-services-getter get-home-services))) | ||
diff --git a/src/jd/host.scm b/src/jd/host.scm index 7071a3f..d94d0e2 100644 --- a/src/jd/host.scm +++ b/src/jd/host.scm | |||
@@ -43,5 +43,7 @@ | |||
43 | #:extra-config | 43 | #:extra-config |
44 | `((profile laptop ((output eDP-1 enable))) | 44 | `((profile laptop ((output eDP-1 enable))) |
45 | (profile docked ((output eDP-1 disable) | 45 | (profile docked ((output eDP-1 disable) |
46 | (output DP-3 enable))))) | 46 | (output DP-3 enable))) |
47 | (profile docked ((output eDP-1 disable) | ||
48 | (output DP-4 enable))))) | ||
47 | (feature-hidpi))) | 49 | (feature-hidpi))) |
diff --git a/src/jd/user.scm b/src/jd/user.scm index 7c54a30..7a79e2c 100644 --- a/src/jd/user.scm +++ b/src/jd/user.scm | |||
@@ -4,12 +4,17 @@ | |||
4 | #:use-module (gnu home-services ssh) | 4 | #:use-module (gnu home-services ssh) |
5 | #:use-module (gnu home services xdg) | 5 | #:use-module (gnu home services xdg) |
6 | #:use-module (gnu packages) | 6 | #:use-module (gnu packages) |
7 | #:use-module (gnu packages cups) | ||
7 | #:use-module (gnu packages emacs-xyz) | 8 | #:use-module (gnu packages emacs-xyz) |
8 | #:use-module (gnu packages gnome) | 9 | #:use-module (gnu packages gnome) |
9 | #:use-module (gnu packages gnupg) | 10 | #:use-module (gnu packages gnupg) |
10 | #:use-module (gnu packages guile-xyz) | 11 | #:use-module (gnu packages guile-xyz) |
11 | #:use-module (gnu services) | 12 | #:use-module (gnu services) |
13 | #:use-module (gnu services base) | ||
14 | #:use-module (gnu services cups) | ||
12 | #:use-module (gnu services nix) | 15 | #:use-module (gnu services nix) |
16 | #:use-module (gnu services desktop) | ||
17 | #:use-module (gnu system pam) | ||
13 | 18 | ||
14 | #:use-module (guix channels) | 19 | #:use-module (guix channels) |
15 | #:use-module (guix download) | 20 | #:use-module (guix download) |
@@ -19,6 +24,7 @@ | |||
19 | 24 | ||
20 | #:use-module (jd features mail) | 25 | #:use-module (jd features mail) |
21 | #:use-module (jd features networking) | 26 | #:use-module (jd features networking) |
27 | #:use-module (jd features nextcloud) | ||
22 | 28 | ||
23 | #:use-module (nongnu packages linux) | 29 | #:use-module (nongnu packages linux) |
24 | #:use-module (nongnu system linux-initrd) | 30 | #:use-module (nongnu system linux-initrd) |
@@ -72,14 +78,15 @@ | |||
72 | (feature-base-services) | 78 | (feature-base-services) |
73 | (feature-base-packages) | 79 | (feature-base-packages) |
74 | (feature-desktop-services) | 80 | (feature-desktop-services) |
81 | (feature-tex) | ||
75 | (feature-xdg | 82 | (feature-xdg |
76 | #:xdg-user-directories-configuration | 83 | #:xdg-user-directories-configuration |
77 | (home-xdg-user-directories-configuration | 84 | (home-xdg-user-directories-configuration |
78 | (music "$HOME/music") | 85 | (music "$HOME/music") |
79 | (videos "$HOME/videos") | 86 | (videos "$HOME/videos") |
80 | (pictures "$HOME/pictures") | 87 | (pictures "$HOME/pics") |
81 | (documents "$HOME/documents") | 88 | (documents "$HOME/docs") |
82 | (download "$HOME/downloads") | 89 | (download "$HOME/dl") |
83 | (publicshare "$HOME/sync") | 90 | (publicshare "$HOME/sync") |
84 | (desktop "$HOME") | 91 | (desktop "$HOME") |
85 | (templates "$HOME"))) | 92 | (templates "$HOME"))) |
@@ -142,6 +149,7 @@ | |||
142 | (waybar-battery #:intense? #f) | 149 | (waybar-battery #:intense? #f) |
143 | (waybar-tray) | 150 | (waybar-tray) |
144 | (waybar-clock))) | 151 | (waybar-clock))) |
152 | ;; (feature-nextcloud) | ||
145 | (feature-foot) | 153 | (feature-foot) |
146 | (feature-yt-dlp) | 154 | (feature-yt-dlp) |
147 | (feature-libreoffice) | 155 | (feature-libreoffice) |
@@ -152,9 +160,16 @@ | |||
152 | (feature-swaylock) | 160 | (feature-swaylock) |
153 | (feature-batsignal) | 161 | (feature-batsignal) |
154 | (feature-imv) | 162 | (feature-imv) |
155 | (feature-mpv) | ||
156 | (feature-librewolf) | 163 | (feature-librewolf) |
157 | (feature-ledger))) | 164 | (feature-librewolf |
165 | #:browser (@ (gnu packages gnuzilla) icecat) | ||
166 | #:default-browser? #f) | ||
167 | (feature-librewolf | ||
168 | #:browser (@ (nongnu packages mozilla) firefox) | ||
169 | #:default-browser? #f) | ||
170 | ;; (feature-ungoogled-chromium) | ||
171 | (feature-ledger) | ||
172 | (feature-mpv))) | ||
158 | 173 | ||
159 | (define-public %mail-features | 174 | (define-public %mail-features |
160 | (list | 175 | (list |
@@ -182,14 +197,7 @@ | |||
182 | (rde-elisp-configuration-service | 197 | (rde-elisp-configuration-service |
183 | f-name | 198 | f-name |
184 | config | 199 | config |
185 | `((with-eval-after-load 'geiser-mode | 200 | `((with-eval-after-load 'notmuch |
186 | (defun jd/guix-repl () | ||
187 | (interactive) | ||
188 | (let ((geiser-guile-binary '("guix" "repl")) | ||
189 | (geiser-guile-load-path (cons "~/dotfiles/rde" geiser-guile-load-path))) | ||
190 | (geiser 'guile)))) | ||
191 | |||
192 | (with-eval-after-load 'notmuch | ||
193 | (setq-default notmuch-search-oldest-first nil)) | 201 | (setq-default notmuch-search-oldest-first nil)) |
194 | 202 | ||
195 | (with-eval-after-load 'paredit | 203 | (with-eval-after-load 'paredit |
@@ -240,24 +248,30 @@ | |||
240 | (global-page-break-lines-mode 1)) | 248 | (global-page-break-lines-mode 1)) |
241 | 249 | ||
242 | (with-eval-after-load 'gptel | 250 | (with-eval-after-load 'gptel |
243 | (setq gptel-model 'gpt-4o | 251 | (setq gptel-model 'gpt-4o |
244 | gptel-backend (gptel-make-gh-copilot "Copilot"))) | 252 | gptel-backend (gptel-make-gh-copilot "Copilot"))) |
245 | 253 | ||
246 | (with-eval-after-load 'simple | 254 | (with-eval-after-load 'simple |
247 | (add-hook 'after-init-hook (lambda () | 255 | (add-hook |
248 | (delete-selection-mode 1) | 256 | 'after-init-hook |
249 | (pixel-scroll-precision-mode 0) | 257 | (lambda () |
250 | (electric-pair-mode 1) | 258 | (delete-selection-mode 1) |
251 | (setq-default truncate-lines t) | 259 | (pixel-scroll-precision-mode 0) |
252 | (setq-default cursor-in-non-selected-windows 'hollow) | 260 | (electric-pair-mode 1) |
253 | (setq-default cursor-type 'box) | 261 | (setq-default truncate-lines t) |
254 | ;; (set-face-attribute 'default nil :height 165) | 262 | (setq-default cursor-in-non-selected-windows 'hollow) |
255 | ;; (require 'solarized-theme) | 263 | (setq-default cursor-type 'box) |
256 | (require 'multiple-cursors) | 264 | (require 'multiple-cursors) |
257 | (require 'undo-tree) | 265 | (require 'undo-tree) |
258 | (require 'rainbow-delimiters) | 266 | (require 'rainbow-delimiters) |
259 | (require 'paredit) | 267 | (require 'paredit) |
260 | )) | 268 | (require 'url) |
269 | (require 'json) | ||
270 | (require 'org) | ||
271 | (require 'org-pdftools) | ||
272 | (defalias 'getf 'cl-getf) | ||
273 | (defalias 'find-if 'cl-find-if) | ||
274 | (add-hook 'org-mode-hook 'org-pdftools-setup-link))) | ||
261 | (set-default 'display-fill-column-indicator-column 100) | 275 | (set-default 'display-fill-column-indicator-column 100) |
262 | (add-hook 'prog-mode-hook 'display-fill-column-indicator-mode) | 276 | (add-hook 'prog-mode-hook 'display-fill-column-indicator-mode) |
263 | (setq display-line-numbers-type 'relative) | 277 | (setq display-line-numbers-type 'relative) |
@@ -270,11 +284,10 @@ | |||
270 | "emacs-hl-todo" | 284 | "emacs-hl-todo" |
271 | "emacs-undo-tree" | 285 | "emacs-undo-tree" |
272 | "emacs-multiple-cursors" | 286 | "emacs-multiple-cursors" |
273 | ;; "emacs-swiper" | ||
274 | ;; "emacs-solarized-theme" | ||
275 | "emacs-nginx-mode" | 287 | "emacs-nginx-mode" |
276 | "emacs-yaml-mode" | 288 | "emacs-yaml-mode" |
277 | "emacs-org-present")))) | 289 | "emacs-org-present" |
290 | "emacs-org-pdftools")))) | ||
278 | (feature | 291 | (feature |
279 | (name f-name) | 292 | (name f-name) |
280 | (values `((,f-name . #t))) | 293 | (values `((,f-name . #t))) |
@@ -282,30 +295,33 @@ | |||
282 | 295 | ||
283 | (define-public %emacs-features | 296 | (define-public %emacs-features |
284 | (list | 297 | (list |
285 | (feature-emacs-modus-themes #:headings-scaling? #t | 298 | (feature-emacs-modus-themes #:deuteranopia? #f) |
286 | #:deuteranopia? #f) | 299 | (feature-emacs-citation #:global-bibliography (list "/home/jakub/docs/notes/references/master.bib")) |
287 | (feature-emacs-citation #:global-bibliography (list "/home/jakub/Notes/Roam/references/master.bib")) | ||
288 | (feature-emacs-completion #:mini-frame? #f ;; Dziwne kurwa bledy | 300 | (feature-emacs-completion #:mini-frame? #f ;; Dziwne kurwa bledy |
289 | #:marginalia-align 'right) | 301 | #:marginalia-align 'right) |
290 | (feature-emacs-corfu #:corfu-doc-auto #f) | 302 | (feature-emacs-corfu #:corfu-doc-auto #f) |
291 | (feature-emacs #:default-application-launcher? #t) | 303 | (feature-emacs #:default-application-launcher? #t) |
292 | (feature-emacs-elfeed #:elfeed-org-files '("/home/jakub/Notes/Rss.org")) | 304 | (feature-emacs-elfeed #:elfeed-org-files '("/home/jakub/docs/notes/rss.org")) |
293 | (feature-emacs-erc #:erc-log? #t | 305 | (feature-emacs-erc #:erc-log? #t |
294 | #:erc-autojoin-channels-alist '((Libera.Chat "#rde") | 306 | #:erc-autojoin-channels-alist '((Libera.Chat "#rde") |
295 | (Libera.Chat "#systemcrafters") | 307 | (Libera.Chat "#systemcrafters") |
296 | (Libera.Chat "#lisp-pl") | 308 | (Libera.Chat "#lisp-pl") |
297 | (Libera.Chat "#hsp"))) | 309 | (Libera.Chat "#hsp"))) |
298 | (feature-emacs-keycast #:turn-on? #f) | 310 | (feature-emacs-keycast #:turn-on? #f) |
299 | (feature-emacs-org-agenda #:org-agenda-files '("/home/jakub/Notes/Me.org" "/home/jakub/Notes/Work.org")) | 311 | (feature-emacs-org-agenda #:org-agenda-files '("/home/jakub/docs/notes/personal.org" |
312 | "/home/jakub/docs/notes/s22425.org")) | ||
300 | (feature-emacs-org-dailies #:encrypted? #t) | 313 | (feature-emacs-org-dailies #:encrypted? #t) |
301 | (feature-emacs-org #:org-directory "/home/jakub/Notes" | 314 | (feature-emacs-org #:org-directory "/home/jakub/docs/notes" |
302 | #:org-indent? #f) | 315 | #:org-indent? #t) |
303 | (feature-emacs-org-roam #:org-roam-directory "/home/jakub/Notes/Roam/slip-box") | 316 | (feature-emacs-org-roam #:org-roam-directory "/home/jakub/docs/notes/slip-box") |
304 | (feature-emacs-spelling #:spelling-program (@ (gnu packages hunspell) hunspell) | 317 | (feature-emacs-spelling #:spelling-program (@ (gnu packages hunspell) hunspell) |
305 | #:spelling-dictionaries (list (@ (gnu packages hunspell) hunspell-dict-en) | 318 | #:spelling-dictionaries (list (@ (gnu packages hunspell) hunspell-dict-en) |
306 | (@ (gnu packages hunspell) hunspell-dict-pl)) | 319 | (@ (gnu packages hunspell) hunspell-dict-pl)) |
307 | #:ispell-standard-dictionary "pl_PL") | 320 | #:ispell-standard-dictionary "pl_PL") |
308 | (feature-emacs-dired #:extra-switches "-h") | 321 | (feature-emacs-dired #:extra-switches "-h") |
322 | (feature-emacs-monocle #:olivetti-body-width 100) | ||
323 | (feature-emacs-denote #:denote-directory "/home/jakub/docs/notes") | ||
324 | (feature-emacs-devdocs) | ||
309 | (feature-emacs-appearance) | 325 | (feature-emacs-appearance) |
310 | (feature-emacs-dashboard) | 326 | (feature-emacs-dashboard) |
311 | (feature-emacs-eglot) | 327 | (feature-emacs-eglot) |
@@ -314,7 +330,6 @@ | |||
314 | (feature-emacs-gptel) | 330 | (feature-emacs-gptel) |
315 | (feature-emacs-guix) | 331 | (feature-emacs-guix) |
316 | (feature-emacs-message) | 332 | (feature-emacs-message) |
317 | (feature-emacs-monocle) | ||
318 | (feature-emacs-nov-el) | 333 | (feature-emacs-nov-el) |
319 | (feature-emacs-pdf-tools) | 334 | (feature-emacs-pdf-tools) |
320 | (feature-emacs-personal-config) | 335 | (feature-emacs-personal-config) |
@@ -331,10 +346,11 @@ | |||
331 | 346 | ||
332 | (define %dev-features | 347 | (define %dev-features |
333 | (list | 348 | (list |
349 | (feature-markdown #:headings-scaling? #t) | ||
334 | (feature-android) | 350 | (feature-android) |
335 | (feature-clojure) | 351 | (feature-clojure) |
336 | (feature-markdown) | 352 | (feature-python) |
337 | (feature-python))) | 353 | (feature-octave))) |
338 | 354 | ||
339 | (define %virtualization-features | 355 | (define %virtualization-features |
340 | (list | 356 | (list |
@@ -380,36 +396,25 @@ | |||
380 | (feature-custom-services | 396 | (feature-custom-services |
381 | #:feature-name-prefix 'jd-additional-services | 397 | #:feature-name-prefix 'jd-additional-services |
382 | #:system-services | 398 | #:system-services |
383 | (list (service nix-service-type)) | 399 | (list (service nix-service-type) |
400 | (service gnome-keyring-service-type) | ||
401 | (service pam-limits-service-type | ||
402 | (list | ||
403 | (pam-limits-entry "*" 'both 'nofile 100000) ;; Required for some cases when building Docker images in Nix | ||
404 | (pam-limits-entry "@users" 'both 'rtprio 99) ;; Needed for Guitarix | ||
405 | (pam-limits-entry "@users" 'both 'memlock 'unlimited))) | ||
406 | (service cups-service-type | ||
407 | (cups-configuration | ||
408 | (web-interface? #t) | ||
409 | (extensions | ||
410 | (list cups-filters))))) | ||
384 | #:home-services | 411 | #:home-services |
385 | (list | 412 | (list |
386 | (simple-service | 413 | (simple-service |
387 | 'home-environment-extra-variables | 414 | 'home-environment-extra-variables |
388 | home-environment-variables-service-type | 415 | home-environment-variables-service-type |
389 | '(("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share"))) | 416 | '(("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share"))) |
390 | ;; (simple-service | 417 | |
391 | ;; 'home-nextcloud-package | ||
392 | ;; home-profile-service-type | ||
393 | ;; (list | ||
394 | ;; (@@ (gnu packages sync) nextcloud-client))) | ||
395 | (simple-service | ||
396 | 'nextcloud-shepherd-service | ||
397 | home-shepherd-service-type | ||
398 | (list | ||
399 | (shepherd-service | ||
400 | (provision `(nextcloud)) | ||
401 | (auto-start? #t) | ||
402 | (stop #~(make-kill-destructor)) | ||
403 | (start #~(make-forkexec-constructor | ||
404 | (list #$(program-file | ||
405 | "nextcloud" | ||
406 | #~(begin | ||
407 | (setenv "QT_QPA_PLATFORM" "wayland-egl;xcb") | ||
408 | (apply system* | ||
409 | (list | ||
410 | #$(file-append (@ (gnu packages sync) nextcloud-client) "/bin/nextcloud"))))))))))) | ||
411 | ;; (simple-service | ||
412 | ;; 'home-nextcloud-daemon) | ||
413 | (simple-service | 418 | (simple-service |
414 | 'home-profile-extra-packages | 419 | 'home-profile-extra-packages |
415 | home-profile-service-type | 420 | home-profile-service-type |
@@ -435,13 +440,23 @@ | |||
435 | "gnome-themes-extra" "papirus-icon-theme" | 440 | "gnome-themes-extra" "papirus-icon-theme" |
436 | "arc-theme" | 441 | "arc-theme" |
437 | 442 | ||
443 | "xdg-desktop-portal-gnome" | ||
444 | |||
438 | "fd" | 445 | "fd" |
439 | "nautilus" | 446 | "nautilus" |
440 | "qbittorrent" | 447 | "qbittorrent" |
441 | "kdenlive" "gimp" | 448 | "kdenlive" "gimp" |
442 | "blender" | 449 | "blender" |
443 | 450 | ||
444 | "ripgrep" "curl")))))) | 451 | "ripgrep" "curl" |
452 | |||
453 | "texlive" "texlive-collection-basic" | ||
454 | "texlive-bin" "texlive-collection-latex" | ||
455 | "texlive-collection-fontsrecommended" | ||
456 | "texlive-collection-pictures" | ||
457 | "texlive-collection-latexextra" | ||
458 | "texlive-dvipng")))))) | ||
459 | |||
445 | 460 | ||
446 | (define-public (feature-nonfree-kernel) | 461 | (define-public (feature-nonfree-kernel) |
447 | (feature-kernel | 462 | (feature-kernel |