diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-04-05 17:40:01 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-04-05 17:55:50 +0200 |
commit | 0cf981a6066711f6e830a3f1d40f7c265b0bac94 (patch) | |
tree | 3f82e55ece63fc43d30575ff04cb559dc1670991 /gnu/services/xorg.scm | |
parent | 37aaf9a8c7d64ae69c4670a12f481dfc0aac53ae (diff) |
services: gdm: Properly handle empty extensions lists.
Fixes a bug whereby not extending GDM would lead us to do:
(first '())
in the 'compose' method.
Regression introduced in 305a732a0a19c5810aab401aa7d70eba02ac386b.
* gnu/services/xorg.scm (gdm-service-type)[compose]: Handle the case
where EXTENSIONS is empty.
[extend]: Handle the case where XORG-CONFIGURATION is #f.
Diffstat (limited to 'gnu/services/xorg.scm')
-rw-r--r-- | gnu/services/xorg.scm | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 26ca0d4f1f..ede8bc7304 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -879,11 +879,16 @@ the GNOME desktop environment.") ;; For convenience, this service can be extended with an ;; <xorg-configuration> record. Take the first one that ;; comes. - (compose first) + (compose (lambda (extensions) + (match extensions + (() #f) + ((config . _) config)))) (extend (lambda (config xorg-configuration) - (gdm-configuration - (inherit config) - (xorg-configuration xorg-configuration)))) + (if xorg-configuration + (gdm-configuration + (inherit config) + (xorg-configuration xorg-configuration)) + config))) (default-value (gdm-configuration)) (description |