guix_mirror_bot pushed a commit to branch master in repository guix. commit 7365e16db8abb0e66946404f621a30039ab38aa9 Author: Alexey Abramov <leven...@mmer.org> 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 <l...@gnu.org> --- 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