From 7d4db1a37c39019c0840fe074f90df0b7be3c120 Mon Sep 17 00:00:00 2001 From: Ian Eure Date: Wed, 31 Dec 2025 10:07:23 -0800 Subject: gnu: services: Fix xorg configuration merging. A bug in #21 causes the default configuration to be omitted from the xorg merging process. This can cause users not using set-xorg-configuration or service extensions to end up with a broken configuration. Fixes #5267. * tests/services/xorg.scm: Add a regression test. * gnu/services/xorg.scm (handle-xorg-configuration): Include the xorg-configuration record from config in merges. Change-Id: I6bed8c109057cb9b5de36db68b78e3ccc88e6bcb Signed-off-by: Efraim Flashner --- tests/services/xorg.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'tests') diff --git a/tests/services/xorg.scm b/tests/services/xorg.scm index 0bb4a3e14c..d778d0c269 100644 --- a/tests/services/xorg.scm +++ b/tests/services/xorg.scm @@ -24,6 +24,8 @@ #:use-module (gnu bootloader grub) #:use-module (gnu services) #:use-module (gnu services base) + #:use-module (gnu services desktop) + #:use-module (gnu services lightdm) #:use-module (gnu services xorg) #:use-module (gnu system) #:use-module (gnu system keyboard) @@ -229,4 +231,37 @@ (xorg-configuration (drivers %drivers-custom-1)) (xorg-configuration (drivers %drivers-custom-2)))))) +;; regression tests. + +;; https://codeberg.org/guix/guix/issues/5267 +(test-equal "https://codeberg.org/guix/guix/issues/5267" + (xorg-configuration-keyboard-layout %config-xorg-keyboard-layout-1) + (let ((os (operating-system + (host-name "test") + (bootloader + (bootloader-configuration + (bootloader grub-bootloader) + (targets '("/dev/sdX")))) + (file-systems + (cons + (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + (services + (cons* + (service lightdm-service-type + (lightdm-configuration + (xorg-configuration + %config-xorg-keyboard-layout-1))) + (modify-services %desktop-services + (delete gdm-service-type))))))) + (xorg-configuration-keyboard-layout + (lightdm-configuration-xorg-configuration + (service-value + (fold-services + (operating-system-services os) + #:target-type lightdm-service-type)))))) + (test-end "merge-xorg-configurations") -- cgit v1.3