diff options
| author | Ian Eure <ian@retrospec.tv> | 2025-12-31 10:07:23 -0800 |
|---|---|---|
| committer | Efraim Flashner <efraim@flashner.co.il> | 2026-01-01 13:26:02 +0200 |
| commit | 7d4db1a37c39019c0840fe074f90df0b7be3c120 (patch) | |
| tree | f933e200ce5fb5c00d396856af937007ab03fd71 /tests/services | |
| parent | fc650babdd064e57ccf6b6ea13b24e4162bab893 (diff) | |
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 <efraim@flashner.co.il>
Diffstat (limited to 'tests/services')
| -rw-r--r-- | tests/services/xorg.scm | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/services/xorg.scm b/tests/services/xorg.scm index 0bb4a3e14cf..d778d0c269b 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") |
