diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-09-13 16:01:36 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-09-16 17:47:46 +0200 |
commit | b714395a39fffc60f75408504a23dfe27ad13fc2 (patch) | |
tree | 0ddf0e4f385d0809ad0d0d1ce67aa0b3128f74fb | |
parent | c7ae219e399804a8eb33f176e532a79b389ee1f1 (diff) | |
download | patches-b714395a39fffc60f75408504a23dfe27ad13fc2.tar patches-b714395a39fffc60f75408504a23dfe27ad13fc2.tar.gz |
services: Add a description and location for each service type.
* gnu/services.scm (<service-type>)[description, location]: New field.
* doc/guix.texi (Service Types and Services): Document 'description'.
-rw-r--r-- | doc/guix.texi | 4 | ||||
-rw-r--r-- | gnu/services.scm | 13 |
2 files changed, 16 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index c9505f41d7..b2eed51bd0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18020,6 +18020,10 @@ Udev extensions are composed into a list of rules, but the udev service value is itself a @code{<udev-configuration>} record. So here, we extend that record by appending the list of rules it contains to the list of contributed rules. + +@item description +This is a string giving an overview of the service type. The string can +contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}). @end table There can be only one instance of an extensible service type such as diff --git a/gnu/services.scm b/gnu/services.scm index 8ef1ae7c77..83a163b766 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -49,6 +49,9 @@ service-type-compose service-type-extend service-type-default-value + service-type-description + service-type-location + service service? @@ -145,7 +148,15 @@ ;; Optional default value for instances of this type. (default-value service-type-default-value ;Any - (default &no-default-value))) + (default &no-default-value)) + + ;; Meta-data. + (description service-type-description ;string + (default #f)) + (location service-type-location ;<location> + (default (and=> (current-source-location) + source-properties->location)) + (innate))) (define (write-service-type type port) (format port "#<service-type ~a ~a>" |