diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-04-03 13:55:06 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-04-05 15:39:35 +0200 |
commit | 305a732a0a19c5810aab401aa7d70eba02ac386b (patch) | |
tree | 674483af39ab31c329c8ec3880386b4118e52647 /gnu/services | |
parent | 607fcc75404e2b1fc74affcf372b4a6a789ac55e (diff) | |
download | guix-305a732a0a19c5810aab401aa7d70eba02ac386b.tar guix-305a732a0a19c5810aab401aa7d70eba02ac386b.tar.gz |
services: xorg: Add 'set-xorg-configuration'.
* gnu/services/xorg.scm (gdm-service-type)[compose, extend]: New fields.
(set-xorg-configuration): New procedure.
* doc/guix.texi (Keyboard Layout): Use it.
(X Window): Document it.
* gnu/system/examples/desktop.tmpl: Add 'keyboard-layout' fields.
Diffstat (limited to 'gnu/services')
-rw-r--r-- | gnu/services/xorg.scm | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 7745f9a3cc..26ca0d4f1f 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -99,7 +99,8 @@ gdm-configuration gdm-service-type - gdm-service)) + gdm-service + set-xorg-configuration)) ;;; Commentary: ;;; @@ -875,6 +876,15 @@ the GNOME desktop environment.") xorg-configuration-keyboard-layout gdm-configuration-xorg)))) + ;; For convenience, this service can be extended with an + ;; <xorg-configuration> record. Take the first one that + ;; comes. + (compose first) + (extend (lambda (config xorg-configuration) + (gdm-configuration + (inherit config) + (xorg-configuration xorg-configuration)))) + (default-value (gdm-configuration)) (description "Run the GNOME Desktop Manager (GDM), a program that allows @@ -908,4 +918,14 @@ password." (gdm gdm) (allow-empty-passwords? allow-empty-passwords?)))) +(define* (set-xorg-configuration config + #:optional + (login-manager-service-type + gdm-service-type)) + "Tell the log-in manager (of type @var{login-manager-service-type}) to use +@var{config}, an <xorg-configuration> record." + (simple-service 'set-xorg-configuration + login-manager-service-type + config)) + ;;; xorg.scm ends here |