Subject: [bug#46421] [PATCH] doc: Expand sane-service-type documentation.

From: raid5atemyhomework <[email-masked]>
Date: Wed, 10 Feb 2021 13:06:19 +0000

SANE documentation in `info guix` is lacking, this patch gives decent documentation about it.  PLEASE merge soon, it's not like this is code.

>From e0728dbab926e4670ec067865053331a02d5d171 Mon Sep 17 00:00:00 2001
From: raid5atemyhomework <[email-masked]>
Date: Wed, 10 Feb 2021 21:01:23 +0800
Subject: [PATCH] doc: Expand sane-service-type documentation.

* doc/guix.texi (sane-service-type): Move from between documentation
about geoclue, expand slightly.
(sane-backends-minimal): New description.
(sane-backends): New description, new example.
---
 doc/guix.texi | 47 ++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 40 insertions(+), 7 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 7d18703283..7b9145aa06 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19178,6 +19178,46 @@ tool.  See @uref{https://www.freedesktop.org/software/colord/, the colord web
 site} for more information.
 @end deffn

+@cindex scanner access
+@defvr {Scheme Variable} sane-service-type
+This service provides access to scanners @i{via}
+@uref{http://www.sane-project.org, SANE} by installing the necessary udev
+rules. This service is already included in @code{%desktop-services} with
+@code{sane-backends-minimal} configured.
+@end defvr
+
+@defvr {Scheme Variable} sane-backends-minimal
+The default package which the @code{sane-service-type} will install, this will
+support many recent scanners out-of-the-box.
+@end defvr
+
+@defvr {Scheme Variable} sane-backends
+A package which includes support for all scanners that @code{sane-backends-minimal}
+supports, plus older Hewlett-Packard scanners supported by @code{hplip}.  In order
+to use this on a system which uses @code{%desktop-services}, you can use
+@code{modify-services} to change the @code{sane-service-type} configuration:
+
+@lisp
+(use-modules (gnu))
+(use-service-modules
+  ; @dots{}
+  desktop)
+(use-package-modules
+  ; @dots{}
+  scanner)
+
+(operating-system
+  ;; @dots{}
+  (services
+    (append
+      ;; @dots{}
+      (modify-services %desktop-services
+        (sane-service-type _ => sane-backends))))
+  ;; @dots{}
+  )
+@end lisp
+@end defvr
+
 @deffn {Scheme Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]
 Return a configuration allowing an application to access GeoClue
 location data.  @var{name} is the Desktop ID of the application, without
@@ -19189,13 +19229,6 @@ 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
--
2.30.0