1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-27 11:32:21 +02:00

services: xorg: Add startx-command-service-type.

* gnu/services/xorg.scm (startx-command-profile-service,
startx-command-service-type): New variables.
* doc/guix.texi (X Window): Document startx-command-service-type.

Change-Id: Ia2a7c3b2d5ebf6bcfff40cb2640b17d3baf6eba0
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
This commit is contained in:
Tomas Volf
2024-05-30 20:29:53 +02:00
committed by Arun Isaac
parent 8db1d51b0f
commit e51a930c5c
2 changed files with 46 additions and 3 deletions
+33
View File
@@ -92,6 +92,7 @@
xorg-start-command-xinit
xinitrc
xorg-server-service-type
startx-command-service-type
%default-slim-theme
%default-slim-theme-name
@@ -496,6 +497,38 @@ therefore it works well when executed from tty."
(program-file "startx" exp))
(define (startx-command-profile-service config)
;; XXX: profile-service-type only accepts <package> objects.
(package
(name "startx-profile-package")
(version "0")
(source (xorg-start-command-xinit config))
(build-system trivial-build-system)
(arguments
(list
#:modules '((guix build utils))
#:builder
#~(begin
(use-modules (guix build utils))
(let ((bin (string-append #$output "/bin")))
(mkdir-p bin)
(symlink #$source (string-append bin "/startx"))))))
(home-page #f)
(synopsis #f)
(description #f)
(license #f)))
(define startx-command-service-type
(service-type
(name 'startx-command)
(extensions
(list (service-extension profile-service-type
(compose list startx-command-profile-service))))
(default-value (xorg-configuration))
(description "Add @command{startx} to the system profile.")))
(define* (xinitrc #:key fallback-session)
"Return a system-wide xinitrc script that starts the specified X session,
which should be passed to this script as the first argument. If not, the