~ruther/guix-local

b714395a39fffc60f75408504a23dfe27ad13fc2 — Ludovic Courtès 8 years ago c7ae219
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'.
2 files changed, 16 insertions(+), 1 deletions(-)

M doc/guix.texi
M gnu/services.scm
M doc/guix.texi => doc/guix.texi +4 -0
@@ 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

M gnu/services.scm => gnu/services.scm +12 -1
@@ 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>"