summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi9
-rw-r--r--gnu/services.scm8
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 =>