guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 7365e16db8abb0e66946404f621a30039ab38aa9
Author: Alexey Abramov <[email protected]>
AuthorDate: Tue Sep 23 11:44:58 2025 +0200
services: dhcpcd: Add shepherd-provision field.
* doc/guix.texi (Networking Setup)<dhcpcd-configuration>: Regenerate
the dhcpcd-configuration documentation.
* gnu/services/networking.scm (dhcpcd-configuration)
<shepherd-provision>: Add new field. Fix typo in client-id description.
(dhcpcd-shepherd-service): Use it.
Signed-off-by: Ludovic Courtès <[email protected]>
---
doc/guix.texi | 12 +++++++++++-
gnu/services/networking.scm | 11 ++++++++---
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 759f044659..fe057a98df 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -22096,6 +22096,9 @@ resolver:
@end lisp
@end defvar
+
+@c %start of fragment
+
@deftp {Data Type} dhcpcd-configuration
Available @code{dhcpcd-configuration} fields are:
@@ -22150,11 +22153,15 @@ refer to
@uref{https://www.rfc-editor.org/rfc/rfc2132#section-9.13,RFC
@item @code{client-id} (type: maybe-string)
Use the interface hardware address or the given string as a client
-identifier, this is matually exclusive with the @code{duid} option.
+identifier, this is mutually exclusive with the @code{duid} option.
@item @code{extra-content} (type: maybe-string)
Extra content to append to the configuration as-is.
+@item @code{shepherd-provision} (default: @code{(networking)}) (type:
list-of-symbols)
+This is a list of symbols naming Shepherd services provided by this
+service.
+
@item @code{shepherd-requirement} (default: @code{()}) (type: list-of-symbols)
This is a list of symbols naming Shepherd services that this service
will depend on.
@@ -22163,6 +22170,9 @@ will depend on.
@end deftp
+
+@c %end of fragment
+
@cindex NetworkManager
@defvar network-manager-service-type
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index b0d1c74490..646c862040 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -629,13 +629,18 @@ to
@uref{https://www.rfc-editor.org/rfc/rfc2132#section-9.13,RFC 2132}.")
(client-id
maybe-string
"Use the interface hardware address or the given string as a client
identifier,
-this is matually exclusive with the @code{duid} option.")
+this is mutually exclusive with the @code{duid} option.")
;; Escape hatch for the generated configuration file.
(extra-content
maybe-string
"Extra content to append to the configuration as-is.")
+ (shepherd-provision
+ (list-of-symbols '(networking))
+ "This is a list of symbols naming Shepherd services provided by this
service."
+ empty-serializer)
+
(shepherd-requirement
(list-of-symbols '())
"This is a list of symbols naming Shepherd services that this service
@@ -662,11 +667,11 @@ will depend on."
(define (dhcpcd-shepherd-service config)
(match-record config <dhcpcd-configuration>
- (command-arguments interfaces shepherd-requirement)
+ (command-arguments interfaces shepherd-provision
shepherd-requirement)
(let ((config-file (dhcpcd-config-file config)))
(list (shepherd-service
(documentation "dhcpcd daemon.")
- (provision '(networking))
+ (provision shepherd-provision)
(requirement `(user-processes udev ,@shepherd-requirement))
(actions (list (shepherd-configuration-action config-file)))
(start