diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-09-30 12:01:32 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-09-30 12:05:27 +0200 |
commit | 79355ae3e84359716f5135cc7083e72246bc8bf9 (patch) | |
tree | 6b61851e2153581578bb78ef0f177b8841ee5db7 /gnu/services.scm | |
parent | 39d6b9c99f297e14fc4f47f002be3d40556726be (diff) | |
parent | 86d8f6d3efb8300a3354735cbf06be6c01e23243 (diff) | |
download | patches-79355ae3e84359716f5135cc7083e72246bc8bf9.tar patches-79355ae3e84359716f5135cc7083e72246bc8bf9.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/services.scm')
-rw-r--r-- | gnu/services.scm | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gnu/services.scm b/gnu/services.scm index 5479bfae19..693a7f8001 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -25,6 +25,7 @@ #:use-module (guix profiles) #:use-module (guix sets) #:use-module (guix ui) + #:use-module (guix modules) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (srfi srfi-1) @@ -50,6 +51,7 @@ service-kind service-parameters + simple-service modify-services service-back-edges fold-services @@ -141,6 +143,13 @@ (type service-kind) (parameters service-parameters)) +(define (simple-service name target value) + "Return a service that extends TARGET with VALUE. This works by creating a +singleton service type NAME, of which the returned service is an instance." + (let* ((extension (service-extension target identity)) + (type (service-type (name name) + (extensions (list extension))))) + (service type value))) (define-syntax %modify-service (syntax-rules (=>) @@ -312,16 +321,6 @@ ACTIVATION-SCRIPT-TYPE." (define (activation-script gexps) "Return the system's activation script, which evaluates GEXPS." - (define %modules - '((gnu build activation) - (gnu build linux-boot) - (gnu build linux-modules) - (gnu build file-systems) - (guix build utils) - (guix build syscalls) - (guix build bournish) - (guix elf))) - (define (service-activations) ;; Return the activation scripts for SERVICES. (mapm %store-monad @@ -330,7 +329,8 @@ ACTIVATION-SCRIPT-TYPE." (mlet* %store-monad ((actions (service-activations))) (gexp->file "activate" - (with-imported-modules %modules + (with-imported-modules (source-module-closure + '((gnu build activation))) #~(begin (use-modules (gnu build activation)) |