From 71654dfdda4890d7a663a36a7fe754b53591aba6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 19 Sep 2016 13:31:06 +0900 Subject: services: Add 'simple-service'. * gnu/services.scm (simple-service): New procedure. * doc/guix.texi (Service Reference): Document it. --- gnu/services.scm | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gnu/services.scm') diff --git a/gnu/services.scm b/gnu/services.scm index 5479bfae19..7e322c50b0 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -50,6 +50,7 @@ service-kind service-parameters + simple-service modify-services service-back-edges fold-services @@ -141,6 +142,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 (=>) -- cgit v1.2.3