guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: services: sane: Create the "scanner" account.


From: guix-commits
Subject: 02/02: services: sane: Create the "scanner" account.
Date: Tue, 21 Jan 2020 09:03:04 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit b2f948be9f815582a49bd80a9594a881d7d1a56e
Author: Ludovic Courtès <address@hidden>
AuthorDate: Tue Jan 21 14:26:41 2020 +0100

    services: sane: Create the "scanner" account.
    
    * gnu/services/desktop.scm (%sane-accounts, sane-service-type): New
    variables.
    (%desktop-services): Use SANE-SERVICE-TYPE instead of 'simple-service'.
    * doc/guix.texi (Desktop Services): Document 'sane-service-type'.
---
 doc/guix.texi            |  7 +++++++
 gnu/services/desktop.scm | 28 ++++++++++++++++++++++++++--
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 2b5bfc6..d674b94 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -15845,6 +15845,13 @@ this application is allowed location info access.  An 
empty users list
 means that all users are allowed.
 @end deffn
 
+@cindex scanner access
+@deffn {Scheme Procedure} sane-service-type
+This service provides access to scanners @i{via}
+@uref{http://www.sane-project.org, SANE} by installing the necessary udev
+rules.
+@end deffn
+
 @defvr {Scheme Variable} %standard-geoclue-applications
 The standard list of well-known GeoClue application configurations,
 granting authority to the GNOME date-and-time utility to ask for the
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index dec1c3f..9dcdf38 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès 
<address@hidden>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès 
<address@hidden>
 ;;; Copyright © 2015 Andy Wingo <address@hidden>
 ;;; Copyright © 2015 Mark H Weaver <address@hidden>
 ;;; Copyright © 2016 Sou Bunnbu <address@hidden>
@@ -110,6 +110,7 @@
             accountsservice-service
 
             cups-pk-helper-service-type
+            sane-service-type
 
             gnome-desktop-configuration
             gnome-desktop-configuration?
@@ -838,6 +839,29 @@ accountsservice web site} for more information."
 
 
 ;;;
+;;; Scanner access via SANE.
+;;;
+
+(define %sane-accounts
+  ;; The '60-libsane.rules' udev rules refers to the "scanner" group.
+  (list (user-group (name "scanner") (system? #t))))
+
+(define sane-service-type
+  (service-type
+   (name 'sane)
+   (description
+    "This service provides access to scanners @i{via}
+@uref{http://www.sane-project.org, SANE} by installing the necessary udev
+rules.")
+   (default-value sane-backends-minimal)
+   (extensions
+    (list (service-extension udev-service-type list)
+          (service-extension account-service-type
+                             (const %sane-accounts))))))
+
+
+
+;;;
 ;;; GNOME desktop service.
 ;;;
 
@@ -1156,7 +1180,7 @@ or setting its password with passwd.")))
          ;; them.
          (simple-service 'mtp udev-service-type (list libmtp))
          ;; Add udev rules for scanners.
-         (simple-service 'sane udev-service-type (list sane-backends-minimal))
+         (service sane-service-type)
          ;; Add polkit rules, so that non-root users in the wheel group can
          ;; perform administrative tasks (similar to "sudo").
          polkit-wheel-service



reply via email to

[Prev in Thread] Current Thread [Next in Thread]