Subject: bug#31657: closed (Re: [bug#31657] [FIXME] services: Add fingerprint identification service.)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 22 Jun 2018 22:19:02 +0000

Your bug report

#31657: [FIXME] services: Add fingerprint identification service.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31657: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31657
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#31657] [FIXME] services: Add fingerprint identification service.
From: Danny Milosavljevic <[email-masked]>
To: [email-masked] (Ludovic Courtès)
Cc: [email-masked]
Date: Sat, 23 Jun 2018 00:18:08 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Ludo,

On Fri, 22 Jun 2018 21:51:28 +0200
[email-masked] (Ludovic Courtès) wrote:

> Danny Milosavljevic <[email-masked]> skribis:
> 
> Why “FIXME” in the subject?  :-)  Overall it LGTM.

A default I forgot to fix.

> The only question is whether it’s enough to have it activated by DBus,
> or whether we should have a Shepherd service to make sure it’s started
> when the system boots.  Thoughts?

Oh, I haven't done the system integration yet.  It's just providing
enough for fprintd programs to actually work (dbus activation will
be enough for those).

> Also, perhaps we should call the module “authentication.scm”?

Ok!

Pushed as 7f93bbd5aadf0427190769fba8f478c29e37b4f4.

Let's open a new bug for the system integration later.

Subject: [FIXME] services: Add fingerprint identification service.
From: Danny Milosavljevic <[email-masked]>
To: [email-masked]
Cc: Danny Milosavljevic <[email-masked]>
Date: Wed, 30 May 2018 19:44:15 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/services/fingerprint.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document it.
---
 doc/guix.texi                | 15 +++++++++++++++
 gnu/local.mk                 |  1 +
 gnu/services/fingerprint.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 57 insertions(+)
 create mode 100644 gnu/services/fingerprint.scm

diff --git a/doc/guix.texi b/doc/guix.texi
index 09749b15e..95abd0b81 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19777,6 +19777,21 @@ The port to bind the server to.
 @node Miscellaneous Services
 @subsubsection Miscellaneous Services
 
+@cindex fingerprint
+@subsubheading Fingerprint Service
+
+The @code{(gnu services fingerprint)} module provides a DBus service to
+read and identify fingerprints via a fingerprint sensor.
+
+@defvr {Scheme Variable} fprintd-service-type
+The service type for @command{fprintd}, which provides the fingerprint
+reading capability.
+
+@example
+(service fprintd-service-type)
+@end example
+@end defvr
+
 @cindex sysctl
 @subsubheading System Control Service
 
diff --git a/gnu/local.mk b/gnu/local.mk
index 7734586f0..42797bcb0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -470,6 +470,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/services/desktop.scm			\
   %D%/services/dict.scm				\
   %D%/services/dns.scm				\
+  %D%/services/fingerprint.scm			\
   %D%/services/games.scm			\
   %D%/services/kerberos.scm			\
   %D%/services/lirc.scm				\
diff --git a/gnu/services/fingerprint.scm b/gnu/services/fingerprint.scm
new file mode 100644
index 000000000..1ab2b0300
--- /dev/null
+++ b/gnu/services/fingerprint.scm
@@ -0,0 +1,41 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Danny Milosavljevic <[email-masked]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu services fingerprint)
+  #:use-module (gnu services)
+  #:use-module (gnu services dbus)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (guix gexp)
+  #:use-module (guix records)
+  #:export (fprintd-configuration
+            fprintd-configuration?
+            fprintd-service-type))
+
+(define-record-type* <fprintd-configuration>
+  fprintd-configuration make-fprintd-configuration
+  fprintd-configuration?
+  (ntp      fprintd-configuration-fprintd
+            (default fprintd)))
+
+(define fprintd-service-type
+  (service-type (name 'fprintd)
+                (extensions
+                 (list (service-extension dbus-root-service-type
+                                          list)))
+                (description
+                 "Run fprintd, a fingerprint management daemon.")))