diff options
-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 => |