From 8144c587f89641d5976d5b3832297d391d489fbd Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Thu, 30 May 2024 20:29:54 +0200 Subject: home: services: Add home-startx-command-service-type. * gnu/home/services/desktop.scm (home-startx-command-service-type): New variable. (startx-command-service-type): New service-type mapping. * doc/guix.texi (Guix Home Services): Document home-startx-command-service-type. Change-Id: Id38b5dc7b9235e04e3a9a1b70a35b02e8fae95f0 Signed-off-by: Arun Isaac --- doc/guix.texi | 15 ++++++++++++--- gnu/home/services/desktop.scm | 14 +++++++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 77521a3542..1224104038 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -23629,9 +23629,9 @@ etc. specified in @var{config} are available. The result should be used in place of @code{startx} and should be invoked by the user from a tty after login. Unlike @code{xorg-start-command}, this script calls xinit. Therefore it works well when executed from a tty. This script can be -set up as @code{startx} using @code{startx-command-service-type}. If -you are using a desktop environment, you are unlikely to need this -procedure. +set up as @code{startx} using @code{startx-command-service-type} or +@code{home-startx-command-service-type}. If you are using a desktop +environment, you are unlikely to need this procedure. @end deffn @@ -46264,6 +46264,15 @@ The list of expressions to be read by @code{xmodmap} on service startup. @end table @end deftp +@defvar home-startx-command-service-type +Add @command{startx} to the home profile putting it onto @env{PATH}. + +The value for this service is a @code{} object which +is passed to the @code{xorg-start-command-xinit} procedure producing the +@command{startx} used. Default value is @code{(xorg-configuration)}. +@end defvar + + @node Guix Home Services @subsection Guix Home Services diff --git a/gnu/home/services/desktop.scm b/gnu/home/services/desktop.scm index 91465bf168..679ba31c0f 100644 --- a/gnu/home/services/desktop.scm +++ b/gnu/home/services/desktop.scm @@ -23,6 +23,7 @@ #:use-module (gnu home services) #:use-module (gnu home services shepherd) #:use-module (gnu services configuration) + #:use-module (gnu services xorg) #:autoload (gnu packages glib) (dbus) #:autoload (gnu packages xdisorg) (redshift unclutter) #:autoload (gnu packages xorg) (setxkbmap xmodmap) @@ -43,7 +44,9 @@ home-unclutter-service-type home-xmodmap-configuration - home-xmodmap-service-type)) + home-xmodmap-service-type + + home-startx-command-service-type)) ;;; @@ -429,3 +432,12 @@ defaults.")))) (default-value (home-xmodmap-configuration)) (description "Run the @code{xmodmap} utility to modify keymaps and pointer buttons under the Xorg display server via user-defined expressions."))) + + +(define home-startx-command-service-type + (service-type + (inherit (system->home-service-type startx-command-service-type)) + (default-value (for-home (xorg-configuration))))) + +(define-service-type-mapping + startx-command-service-type => home-startx-command-service-type) -- cgit v1.2.3