diff options
author | Tim Gesthuizen <tim.gesthuizen@yahoo.de> | 2019-01-05 23:28:18 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-03-18 10:51:06 +0100 |
commit | 97ab799afeff032b422642d945c2bcc764f6d8ed (patch) | |
tree | 29b5f33bc212f20389f250753a4b15285fec1127 /gnu | |
parent | bf2a9969a26886a4c57df1a6011f18edd2f013d0 (diff) | |
download | guix-97ab799afeff032b422642d945c2bcc764f6d8ed.tar.gz |
gnu: Add inputattach service.
Add a service that runs inputattach as a daemon to translate events from serial ports. * gnu/services/desktop.scm (<inputattach-configuration>): New record type. * gnu/services/desktop.scm (inputattach-service-type): New service type. * doc/guix.texi (Miscellaneous Services): Add inputattach Service subsubheading. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/services/desktop.scm | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 0dee57e3bc..8f8e177ca9 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019 Christopher Baines <mail@cbaines.net> +;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -123,6 +124,10 @@ enlightenment-desktop-configuration? enlightenment-desktop-service-type + inputattach-configuration + inputattach-configuration? + inputattach-service-type + %desktop-services)) ;;; Commentary: @@ -1021,6 +1026,47 @@ as expected."))) ;;; +;;; inputattach-service-type +;;; + +(define-record-type* <inputattach-configuration> + inputattach-configuration + make-inputattach-configuration + inputattach-configuration? + (device-type inputattach-configuration-device-type + (default "wacom")) + (device inputattach-configuration-device + (default "/dev/ttyS0")) + (log-file inputattach-configuration-log-file + (default #f))) + +(define inputattach-shepherd-service + (match-lambda + (($ <inputattach-configuration> type device log-file) + (list (shepherd-service + (provision '(inputattach)) + (requirement '(udev)) + (documentation "inputattach daemon") + (start #~(make-forkexec-constructor + (list (string-append #$inputattach + "/bin/inputattach") + (string-append "--" #$type) + #$device) + #:log-file #$log-file)) + (stop #~(make-kill-destructor))))))) + +(define inputattach-service-type + (service-type + (name 'inputattach) + (extensions + (list (service-extension shepherd-root-service-type + inputattach-shepherd-service))) + (default-value (inputattach-configuration)) + (description "Return a service that runs inputattach on a device and +dispatches events from it."))) + + +;;; ;;; The default set of desktop services. ;;; |