From 469e56b4afc7a6bfdc070faf162f9fed42eca1d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Mon, 8 Apr 2019 10:36:37 +0200
Subject: [PATCH] installer: Generate 'set-xorg-configuration' snippet.

* gnu/installer/services.scm (system-services->configuration): Add
'set-xorg-configuration' service.
* gnu/installer/steps.scm (format-configuration): Add 'xorg' service
module.
---
 gnu/installer/services.scm | 11 ++++++++++-
 gnu/installer/steps.scm    |  2 +-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm
index 640224688e4..1036b210709 100644
--- a/gnu/installer/services.scm
+++ b/gnu/installer/services.scm
@@ -102,4 +102,13 @@ (define (system-services->configuration services)
                        '%base-services)))
     (if (null? snippets)
         `((services ,base))
-        `((services (cons* ,@snippets ,base))))))
+        `((services (cons* ,@snippets
+
+                           ,@(if desktop?
+                                 ;; XXX: Assume 'keyboard-layout' is in scope.
+                                 '((set-xorg-configuration
+                                    (xorg-configuration
+                                     (keyboard-layout keyboard-layout))))
+                                 '())
+
+                           ,base))))))
diff --git a/gnu/installer/steps.scm b/gnu/installer/steps.scm
index 96cfdd03d19..1483cdc3dbb 100644
--- a/gnu/installer/steps.scm
+++ b/gnu/installer/steps.scm
@@ -215,7 +215,7 @@ (define (format-configuration steps results)
                   '())))
           steps))
         (modules '((use-modules (gnu))
-                   (use-service-modules desktop networking ssh))))
+                   (use-service-modules desktop networking ssh xorg))))
     `(,@modules
       ()
       (operating-system ,@configuration))))
-- 
GitLab