(define-module (jd features shepherd) #:use-module (guix gexp) #:use-module (gnu services) #:use-module (gnu home services shepherd) #:use-module (rde features) #:export (feature-shepherd-repl)) (define-public (feature-shepherd-repl) (define f-name 'shepherd-repl) (define (shepherd-repl-service _) (list (shepherd-service (provision '(repl)) (modules '((shepherd service repl))) (free-form #~(repl-service))))) (define shepherd-repl-service-type (service-type (name 'shepherd-repl) (extensions (list (service-extension home-shepherd-service-type shepherd-repl-service))) (description "Create shepherd repl socket.") (default-value '()))) (define (get-home-services config) (list (service shepherd-repl-service-type))) (feature (name f-name) (values `((,f-name . #t))) (home-services-getter get-home-services)))