diff options
-rw-r--r-- | doc/guix.texi | 7 | ||||
-rw-r--r-- | gnu/services/desktop.scm | 28 |
2 files changed, 33 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 2b5bfc6cb7..d674b9484f 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 dec1c3fa0f..9dcdf38be1 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 <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> @@ -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 |