summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-11-27 18:38:33 +0100
committerLudovic Courtès <ludo@gnu.org>2021-11-27 23:06:17 +0100
commit61ad9bc2adc189f41128874649b115cfaadec48d (patch)
tree700e88ea251428d95edf2f5a2765fd0a05669d75
parent29b2ac570a75aff971818c4b32bae52f477c89fa (diff)
downloadguix-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.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 =>