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 @@ | |||
| 24 | #:use-module (gnu bootloader grub) | 24 | #:use-module (gnu bootloader grub) |
| 25 | #:use-module (gnu services) | 25 | #:use-module (gnu services) |
| 26 | #:use-module (gnu services base) | 26 | #:use-module (gnu services base) |
| 27 | #:use-module (gnu services desktop) | ||
| 28 | #:use-module (gnu services lightdm) | ||
| 27 | #:use-module (gnu services xorg) | 29 | #:use-module (gnu services xorg) |
| 28 | #:use-module (gnu system) | 30 | #:use-module (gnu system) |
| 29 | #:use-module (gnu system keyboard) | 31 | #:use-module (gnu system keyboard) |
| @@ -229,4 +231,37 @@ | |||
| 229 | (xorg-configuration (drivers %drivers-custom-1)) | 231 | (xorg-configuration (drivers %drivers-custom-1)) |
| 230 | (xorg-configuration (drivers %drivers-custom-2)))))) | 232 | (xorg-configuration (drivers %drivers-custom-2)))))) |
| 231 | 233 | ||
| 234 | ;; regression tests. | ||
| 235 | |||
| 236 | ;; https://codeberg.org/guix/guix/issues/5267 | ||
| 237 | (test-equal "https://codeberg.org/guix/guix/issues/5267" | ||
| 238 | (xorg-configuration-keyboard-layout %config-xorg-keyboard-layout-1) | ||
| 239 | (let ((os (operating-system | ||
| 240 | (host-name "test") | ||
| 241 | (bootloader | ||
| 242 | (bootloader-configuration | ||
| 243 | (bootloader grub-bootloader) | ||
| 244 | (targets '("/dev/sdX")))) | ||
| 245 | (file-systems | ||
| 246 | (cons | ||
| 247 | (file-system | ||
| 248 | (device (file-system-label "my-root")) | ||
| 249 | (mount-point "/") | ||
| 250 | (type "ext4")) | ||
| 251 | %base-file-systems)) | ||
| 252 | (services | ||
| 253 | (cons* | ||
| 254 | (service lightdm-service-type | ||
| 255 | (lightdm-configuration | ||
| 256 | (xorg-configuration | ||
| 257 | %config-xorg-keyboard-layout-1))) | ||
| 258 | (modify-services %desktop-services | ||
| 259 | (delete gdm-service-type))))))) | ||
| 260 | (xorg-configuration-keyboard-layout | ||
| 261 | (lightdm-configuration-xorg-configuration | ||
| 262 | (service-value | ||
| 263 | (fold-services | ||
| 264 | (operating-system-services os) | ||
| 265 | #:target-type lightdm-service-type)))))) | ||
| 266 | |||
| 232 | (test-end "merge-xorg-configurations") | 267 | (test-end "merge-xorg-configurations") |
