diff options
Diffstat (limited to 'src/jd/features/shepherd.scm')
| -rw-r--r-- | src/jd/features/shepherd.scm | 33 | 
1 files changed, 33 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))) | ||
