diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2023-01-30 11:33:18 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2023-01-30 12:39:40 +0200 |
commit | 4cf1acc7f3033b50b0bf19e02c9f522d522d338c (patch) | |
tree | 9fd64956ee60304c15387eb394cd649e49f01467 /gnu/services/games.scm | |
parent | edb8c09addd186d9538d43b12af74d6c7aeea082 (diff) | |
parent | 595b53b74e3ef57a1c0c96108ba86d38a170a241 (diff) |
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts:
doc/guix.texi
gnu/local.mk
gnu/packages/admin.scm
gnu/packages/base.scm
gnu/packages/chromium.scm
gnu/packages/compression.scm
gnu/packages/databases.scm
gnu/packages/diffoscope.scm
gnu/packages/freedesktop.scm
gnu/packages/gnome.scm
gnu/packages/gnupg.scm
gnu/packages/guile.scm
gnu/packages/inkscape.scm
gnu/packages/llvm.scm
gnu/packages/openldap.scm
gnu/packages/pciutils.scm
gnu/packages/ruby.scm
gnu/packages/samba.scm
gnu/packages/sqlite.scm
gnu/packages/statistics.scm
gnu/packages/syndication.scm
gnu/packages/tex.scm
gnu/packages/tls.scm
gnu/packages/version-control.scm
gnu/packages/xml.scm
guix/build-system/copy.scm
guix/scripts/home.scm
Diffstat (limited to 'gnu/services/games.scm')
-rw-r--r-- | gnu/services/games.scm | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/gnu/services/games.scm b/gnu/services/games.scm index 6c2af44b49c..e63c1c12993 100644 --- a/gnu/services/games.scm +++ b/gnu/services/games.scm @@ -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,13 +29,46 @@ #: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 ;;; |