summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJakub Dlugosz <me@jdlugosz.com>2025-10-31 13:05:37 +0100
committerJakub Dlugosz <me@jdlugosz.com>2025-10-31 13:05:37 +0100
commit05067670476f839100fbb98b77284ddbf8e5adc4 (patch)
tree7971c5fffd41075df320da80423c2504396294da /src
parent0f4ff250b31d0ca11f7603fc662d6d43bfcafa6c (diff)
downloaddotfiles-05067670476f839100fbb98b77284ddbf8e5adc4.tar.gz
dotfiles-05067670476f839100fbb98b77284ddbf8e5adc4.zip
Add feature-shepherd-repl to create REPL socket with home's herd
Diffstat (limited to 'src')
-rw-r--r--src/jd/features/shepherd.scm33
-rw-r--r--src/jd/user.scm2
2 files changed, 35 insertions, 0 deletions
diff --git a/src/jd/features/shepherd.scm b/src/jd/features/shepherd.scm
new file mode 100644
index 0000000..003e3bf
--- /dev/null
+++ b/src/jd/features/shepherd.scm
@@ -0,0 +1,33 @@
1(define-module (jd features shepherd)
2 #:use-module (guix gexp)
3 #:use-module (gnu services)
4 #:use-module (gnu home services shepherd)
5 #:use-module (rde features)
6 #:export (feature-shepherd-repl))
7
8(define-public (feature-shepherd-repl)
9 (define f-name 'shepherd-repl)
10
11 (define (shepherd-repl-service _)
12 (list
13 (shepherd-service
14 (provision '(repl))
15 (modules '((shepherd service repl)))
16 (free-form #~(repl-service)))))
17
18 (define shepherd-repl-service-type
19 (service-type
20 (name 'shepherd-repl)
21 (extensions
22 (list (service-extension home-shepherd-service-type shepherd-repl-service)))
23 (description "Create shepherd repl socket.")
24 (default-value '())))
25
26 (define (get-home-services config)
27 (list
28 (service shepherd-repl-service-type)))
29
30 (feature
31 (name f-name)
32 (values `((,f-name . #t)))
33 (home-services-getter get-home-services)))
diff --git a/src/jd/user.scm b/src/jd/user.scm
index 15857a0..aff2b99 100644
--- a/src/jd/user.scm
+++ b/src/jd/user.scm
@@ -26,6 +26,7 @@
26 #:use-module (jd features mail) 26 #:use-module (jd features mail)
27 #:use-module (jd features networking) 27 #:use-module (jd features networking)
28 #:use-module (jd features nextcloud) 28 #:use-module (jd features nextcloud)
29 #:use-module (jd features shepherd)
29 #:use-module (jd features state) 30 #:use-module (jd features state)
30 31
31 #:use-module (nongnu packages linux) 32 #:use-module (nongnu packages linux)
@@ -80,6 +81,7 @@
80 (feature-base-services) 81 (feature-base-services)
81 (feature-base-packages) 82 (feature-base-packages)
82 (feature-desktop-services) 83 (feature-desktop-services)
84 (feature-shepherd-repl)
83 (feature-tex) 85 (feature-tex)
84 (feature-xdg 86 (feature-xdg
85 #:xdg-user-directories-configuration 87 #:xdg-user-directories-configuration