aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-09-17 03:23:41 +0000
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-10-06 16:20:22 +0000
commitcf3f9230c302201e4808b322832260c0b9fbeab6 (patch)
tree657d1c8267c4655165087a37a0a4fa0decb32a7c
parent6954cc6c7a211e24b4e2ec8cd67d880318bd04f8 (diff)
downloadguix-cf3f9230c302201e4808b322832260c0b9fbeab6.tar
guix-cf3f9230c302201e4808b322832260c0b9fbeab6.tar.gz
guix-cf3f9230c302201e4808b322832260c0b9fbeab6.tar.bz2
guix-cf3f9230c302201e4808b322832260c0b9fbeab6.tar.lz
guix-cf3f9230c302201e4808b322832260c0b9fbeab6.tar.xz
guix-cf3f9230c302201e4808b322832260c0b9fbeab6.tar.zst
guix-cf3f9230c302201e4808b322832260c0b9fbeab6.zip
services: Extend udev rules in joycond-service-type.
* gnu/services/games.scm (joycond-service-type): Also extend the udev service with the configured joycond package. * doc/guix.texi (Game Services): Update documentation. Change-Id: I9f7fb0da5cfc1f8a7e8bb5f2ce7161e5e66b2f5e
-rw-r--r--doc/guix.texi6
-rw-r--r--gnu/services/games.scm8
2 files changed, 11 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 9734408347..3ae39ebcd9 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -39358,6 +39358,7 @@ like to serve.
@subsubheading Joycond service
@cindex joycond
+@cindex nintendo controllers
The joycond service allows the pairing of Nintendo joycon game
controllers over Bluetooth. (@pxref{Desktop Services} for setting up
Bluetooth.)
@@ -39372,7 +39373,10 @@ The joycond package to use.
@end deftp
@defvar joycond-service-type
-Service type for the joycond service.
+Service type for the joycond service. It also extends the
+@code{udev-service-type} with the @code{joycond} package (provided via
+the @code{joycond-configuration} configuration), so that joycond
+controllers can be detected and used by an unprivileged user.
@end defvar
@subsubheading The Battle for Wesnoth Service
diff --git a/gnu/services/games.scm b/gnu/services/games.scm
index e63c1c1299..2557b82bec 100644
--- a/gnu/services/games.scm
+++ b/gnu/services/games.scm
@@ -23,6 +23,7 @@
#:use-module (gnu services shepherd)
#:use-module (gnu packages admin)
#:use-module (gnu packages games)
+ #:use-module ((gnu services base) #:select (udev-service-type))
#:use-module (gnu system shadow)
#:use-module ((gnu system file-systems) #:select (file-system-mapping))
#:use-module (gnu build linux-container)
@@ -61,10 +62,13 @@
(service-type
(name 'joycond)
(description
- "Run @command{joycond} for pairing Nintendo joycons via Bluetooth.")
+ "Run @command{joycond} for pairing Nintendo joycons via Bluetooth and
+install udev rules required to use the controller as an unprivileged user.")
(extensions
(list (service-extension shepherd-root-service-type
- joycond-shepherd-service)))
+ joycond-shepherd-service)
+ (service-extension udev-service-type
+ (compose list joycond-configuration-package))))
(default-value (joycond-configuration))))