summary refs log tree commit diff
path: root/gnu/services/xorg.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/services/xorg.scm')
-rw-r--r--gnu/services/xorg.scm13
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