[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/04: services: 'shepherd-service-type' now accepts a default value.
From: |
Ludovic Courtès |
Subject: |
03/04: services: 'shepherd-service-type' now accepts a default value. |
Date: |
Thu, 15 Mar 2018 06:40:00 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 88cd7bbd3dc8ecb6b02435338eff1524ad7154ed
Author: Ludovic Courtès <address@hidden>
Date: Thu Mar 15 11:34:57 2018 +0100
services: 'shepherd-service-type' now accepts a default value.
* gnu/services/shepherd.scm (shepherd-service-type): Add a second form
with an additional 'default' parameter.
---
gnu/services/shepherd.scm | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index f7c6983..000e85e 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -104,14 +104,24 @@
;; <shepherd-service> objects.
(service shepherd-root-service-type '()))
-(define-syntax-rule (shepherd-service-type service-name proc)
- "Return a <service-type> denoting a simple shepherd service--i.e., the type
-for a service that extends SHEPHERD-ROOT-SERVICE-TYPE and nothing else."
- (service-type
- (name service-name)
- (extensions
- (list (service-extension shepherd-root-service-type
- (compose list proc))))))
+(define-syntax shepherd-service-type
+ (syntax-rules ()
+ "Return a <service-type> denoting a simple shepherd service--i.e., the type
+for a service that extends SHEPHERD-ROOT-SERVICE-TYPE and nothing else. When
+DEFAULT is given, use it as the service's default value."
+ ((_ service-name proc default)
+ (service-type
+ (name service-name)
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ (compose list proc))))
+ (default-value default)))
+ ((_ service-name proc)
+ (service-type
+ (name service-name)
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ (compose list proc))))))))
(define %default-imported-modules
;; Default set of modules imported for a service's consumption.