gnu: services: Add activate script to the profile system directory.

* gnu/services.scm (activation-profile-entry): New procedure...
(activation-service-type): ... use it.
This commit is contained in:
Brice Waegeneire 2021-01-30 21:08:08 +01:00
parent f5c6e6966c
commit df138dc208
No known key found for this signature in database
GPG key ID: A94903A166A18FAE

View file

@ -617,13 +617,21 @@ (define (gexps->activation-gexp gexps)
"Return a gexp that runs the activation script containing GEXPS."
#~(primitive-load #$(activation-script gexps)))
(define (activation-profile-entry gexps)
"Return, as a monadic value, an entry for the activation script in the
system directory."
(mlet %store-monad ((activate (lower-object (activation-script gexps))))
(return `(("activate" ,activate)))))
(define (second-argument a b) b)
(define activation-service-type
(service-type (name 'activate)
(extensions
(list (service-extension boot-service-type
gexps->activation-gexp)))
gexps->activation-gexp)
(service-extension system-service-type
activation-profile-entry)))
(compose identity)
(extend second-argument)
(description