From cf3f9230c302201e4808b322832260c0b9fbeab6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 17 Sep 2024 12:23:41 +0900 Subject: [PATCH] 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 --- doc/guix.texi | 6 +++++- gnu/services/games.scm | 8 ++++++-- 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 @@ (define-module (gnu services games) #: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 @@ (define joycond-service-type (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))))