mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
gnu: services: Add joycond-service.
* gnu/services/games.scm (joycond-configuration): New configuration type. (joycond-shepherd-service): New procedure. (joycond-service-type): New variable. * doc/guix.texi (Game Services): Document it.
This commit is contained in:
parent
77a3499600
commit
202ac747e6
2 changed files with 54 additions and 1 deletions
|
@ -36277,6 +36277,25 @@ like to serve.
|
|||
@node Game Services
|
||||
@subsection Game Services
|
||||
|
||||
@subsubheading Joycond service
|
||||
@cindex joycond
|
||||
The joycond service allows the pairing of Nintendo joycon game
|
||||
controllers over Bluetooth. (@pxref{Desktop Services} for setting up
|
||||
Bluetooth.)
|
||||
|
||||
@deftp {Data Type} joycond-configuration
|
||||
Data type representing the configuration of @command{joycond}.
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @code{joycond})
|
||||
The joycond package to use.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@defvar joycond-service-type
|
||||
Service type for the joycond service.
|
||||
@end defvar
|
||||
|
||||
@subsubheading The Battle for Wesnoth Service
|
||||
@cindex wesnothd
|
||||
@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
(define-module (gnu services games)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu services shepherd)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages games)
|
||||
|
@ -28,12 +29,45 @@ (define-module (gnu services games)
|
|||
#:autoload (guix least-authority) (least-authority-wrapper)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix records)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (wesnothd-configuration
|
||||
#:export (joycond-configuration
|
||||
joycond-configuration?
|
||||
joycond-service-type
|
||||
|
||||
wesnothd-configuration
|
||||
wesnothd-configuration?
|
||||
wesnothd-service-type))
|
||||
|
||||
;;;
|
||||
;;; Joycond
|
||||
;;;
|
||||
|
||||
(define-configuration/no-serialization joycond-configuration
|
||||
(package (package joycond) "The joycond package to use"))
|
||||
|
||||
(define (joycond-shepherd-service config)
|
||||
(let ((joycond (joycond-configuration-package config)))
|
||||
(list (shepherd-service
|
||||
(documentation "Run joycond.")
|
||||
(provision '(joycond))
|
||||
(requirement '(bluetooth))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append joycond "/bin/joycond"))))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
(define joycond-service-type
|
||||
(service-type
|
||||
(name 'joycond)
|
||||
(description
|
||||
"Run @command{joycond} for pairing Nintendo joycons via Bluetooth.")
|
||||
(extensions
|
||||
(list (service-extension shepherd-root-service-type
|
||||
joycond-shepherd-service)))
|
||||
(default-value (joycond-configuration))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; The Battle for Wesnoth server
|
||||
;;;
|
||||
|
|
Loading…
Reference in a new issue