[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/03: services: udev: Add 'rules' action.
From: |
guix-commits |
Subject: |
01/03: services: udev: Add 'rules' action. |
Date: |
Mon, 17 Dec 2018 17:34:41 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit bafcf1f32f3dfaf494d7640a3882585c143378cd
Author: Ludovic Courtès <address@hidden>
Date: Sun Dec 16 23:52:06 2018 +0100
services: udev: Add 'rules' action.
* gnu/services/base.scm (udev-shepherd-service): Add 'actions' field.
* doc/guix.texi (Base Services): Move "@end deffn" after 'udev-service'
definition. Mention 'herd rules udev'.
---
doc/guix.texi | 5 ++++-
gnu/services/base.scm | 10 +++++++++-
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 338ff45..1c26dc5 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11308,6 +11308,7 @@ Run @var{udev}, which populates the @file{/dev}
directory dynamically.
udev rules can be provided as a list of files through the @var{rules}
variable. The procedures @var{udev-rule} and @var{file->udev-rule} from
@code{(gnu services base)} simplify the creation of such rule files.
address@hidden deffn
@deffn {Scheme Procedure} udev-rule address@hidden @var{contents}]
Return a udev-rule file named @var{file-name} containing the rules
@@ -11325,6 +11326,9 @@ upon detecting a USB device with a given product
identifier.
"address@hidden@}==\"Example\", "
"RUN+=\"/path/to/script\"")))
@end example
+
+The @command{herd rules udev} command, as root, returns the name of the
+directory containing all the active udev rules.
@end deffn
Here we show how the default @var{udev-service} can be extended with it.
@@ -11406,7 +11410,6 @@ well as in the @var{groups} field of the
@var{operating-system} record.
(rules (cons* android-udev-rules
(udev-configuration-rules config))))))))
@end example
address@hidden deffn
@defvr {Scheme Variable} urandom-seed-service-type
Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom}
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index b10f5cb..67bdaef 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1967,7 +1967,15 @@ item of @var{packages}."
(respawn? #f)
;; We need additional modules.
(modules `((gnu build linux-boot)
- ,@%default-modules))))))))
+ ,@%default-modules))
+
+ (actions (list (shepherd-action
+ (name 'rules)
+ (documentation "Display the directory containing
+the udev rules in use.")
+ (procedure #~(lambda (_)
+ (display #$rules)
+ (newline))))))))))))
(define udev-service-type
(service-type (name 'udev)