diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-11-27 18:38:33 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-11-27 23:06:17 +0100 |
commit | 61ad9bc2adc189f41128874649b115cfaadec48d (patch) | |
tree | 700e88ea251428d95edf2f5a2765fd0a05669d75 | |
parent | 29b2ac570a75aff971818c4b32bae52f477c89fa (diff) | |
download | guix-61ad9bc2adc189f41128874649b115cfaadec48d.tar.gz |
services: Document the 'delete' clause of 'modify-services'.
* doc/guix.texi (Service Reference): Mention the 'delete' clause of 'modify-services'. * gnu/services.scm (modify-services): Likewise in docstring.
-rw-r--r-- | doc/guix.texi | 9 | ||||
-rw-r--r-- | gnu/services.scm | 8 |
2 files changed, 16 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 1bb139e9b0..59651f996b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -35724,6 +35724,15 @@ are created using @code{define-record-type*}, you can write a succinct @var{body} that evaluates to the new service parameters by using the @code{inherit} feature that @code{define-record-type*} provides. +Clauses can also have the following form: + +@lisp +(delete @var{type}) +@end lisp + +Such a clause removes all services of the given @var{type} from +@var{services}. + @xref{Using the Configuration System}, for example usage. @end deffn diff --git a/gnu/services.scm b/gnu/services.scm index 1655218f2d..68fa4ebb63 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -319,7 +319,13 @@ the resulting list of services. Each clause must have the form: where TYPE is a service type, such as 'guix-service-type', and VARIABLE is an identifier that is bound within BODY to the value of the service of that -TYPE. Consider this example: +TYPE. + +Clauses can also remove services of a given type: + + (delete TYPE) + +Consider this example: (modify-services %base-services (guix-service-type config => |