diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2017-10-09 23:03:56 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2017-10-13 08:39:16 +0200 |
commit | e0c1d080b520c1bbd2dcd7bc90a750f5ce580486 (patch) | |
tree | 4fd3f522474daf929204806a2e1a7ab20ee0fb5b /doc/guix.texi | |
parent | b38e41790338c53a33403ed574938612b596891f (diff) |
doc: Add an example to the documentation of the udev-service.
* doc/guix.texi (Base Services): Update 'udev-service' documentation.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r-- | doc/guix.texi | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 6018198567..b7f4f88f92 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9790,8 +9790,32 @@ Return a service that runs the Guix build daemon according to @var{config}. @end deffn -@deffn {Scheme Procedure} udev-service [#:udev udev] +@cindex udev-service +@cindex udev-rule +@deffn {Scheme Procedure} udev-service [#:udev @var{udev}] [#:rules @var{'()}] Run @var{udev}, which populates the @file{/dev} directory dynamically. +Additional udev rules can be provided as a list of files through the +@var{rules} variable. The procedure @var{udev-rule} simplifies the +creation of these rule files. + +In the following example, a rule for a USB device is defined to be +stored in the file @file{90-usb-thing.rules}, and the default +@var{udev-service} is extended with it. The rule runs a script upon +detecting a USB device with a given product identifier. + +@example +(define %example-udev-rule + (udev-rule "90-usb-thing.rules" + "ACTION==\"add\", SUBSYSTEM==\"usb\", ATTR@{product@}==\"Example\", RUN+=\"/path/to/script\"")) + +(operating-system + ;; @dots{} + (services (modify-services %desktop-services + (udev-service-type config => + (udev-configuration (inherit config) + (rules (append (udev-configuration-rules config) + (list %example-udev-rule)))))))) +@end example @end deffn @deffn {Scheme Procedure} urandom-seed-service @var{#f} |