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

Reply via email to