--- Begin Message ---
Subject: |
Keyboard layout defined by 'set-xorg-configuration' is not honored by GDM. |
Date: |
Fri, 14 Feb 2020 14:23:47 -0500 |
Hello!
I based my operating system configuration on
gnu/system/examples/desktop.tmpl in the Guix tree, and was surprised
that my dvorak keyboard is in effect everywhere except at the GDM
greeter screen (where it is QWERTY).
Here's the full config:
--8<---------------cut here---------------start------------->8---
(use-modules (gnu)
(gnu system nss)
(srfi srfi-1))
(use-service-modules admin desktop docker ssh xorg)
(use-package-modules android certs ratpoison)
(operating-system
(host-name "raisin")
(timezone "America/Montreal")
(locale "en_US.utf8")
;; Choose US English keyboard layout. The "altgr-intl"
;; variant provides dead keys for accented characters.
(keyboard-layout (keyboard-layout "dvorak"))
;; Use the UEFI variant of GRUB with the EFI System
;; Partition mounted on /boot/efi.
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(target "/boot/efi")
(keyboard-layout keyboard-layout)))
;; Radeon requires a blob else prevents booting. Blacklisting the
;; radeon driver allows falling back to VESA.
(kernel-arguments '("quiet" "modprobe.blacklist=radeon"))
;; Specify a mapped device for the encrypted root partition.
;; The UUID is that returned by 'cryptsetup luksUUID'.
(mapped-devices
(list (mapped-device
(source (uuid "f85c0627-1f6f-48b9-a2c2-6c12594a7bd1"))
(target "btrfs-pool-1")
(type luks-device-mapping))))
(file-systems (cons*
(file-system
(device (file-system-label "btrfs-pool-1"))
(mount-point "/")
(type "btrfs")
(options '(("subvol" . "rootfs")
("compress" . "zstd")))
(dependencies mapped-devices))
(file-system
(device (file-system-label "btrfs-pool-1"))
(mount-point "/home")
(type "btrfs")
(options '(("subvol" . "homefs")
("compress" . "zstd")))
(dependencies mapped-devices))
(file-system
(device (uuid "209E-67AD" 'fat))
(mount-point "/boot/efi")
(type "vfat"))
%base-file-systems))
(swap-devices '("/swap/swapfile"))
(users (cons (user-account
(name "mcournoyer")
(group "users")
(supplementary-groups '("wheel" "netdev"
"audio" "video"
"kvm" "docker"
"adbusers")))
%base-user-accounts))
(groups (cons* (user-group (system? #t)
(name "adbusers"))
%base-groups))
;; This is where we specify system-wide packages.
(packages (cons* ratpoison
nss-certs ;for HTTPS access
%base-packages))
;; SSH, Docker
(services
(cons*
(service rottlog-service-type)
(service openssh-service-type
(openssh-configuration
(port-number 22)
(permit-root-login #t)))
(service docker-service-type)
(set-xorg-configuration (xorg-configuration
(keyboard-layout keyboard-layout)))
(modify-services %desktop-services
;; Enable using adb as a simple user with a multitude of devices.
(udev-service-type config =>
(udev-configuration
(inherit config)
(rules (cons* android-udev-rules
(udev-configuration-rules config))))))))
;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss))
--8<---------------cut here---------------end--------------->8---
Maxim
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#39606: Keyboard layout defined by 'set-xorg-configuration' is not honored by GDM. |
Date: |
Thu, 22 Oct 2020 15:54:19 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hello!
I'm happy to report this was due to mis-configuration on my part. More
specifically, it it was missing the xorg-configuration modification bit,
which is documented. Testing in a VM using the following, modified
configuration cannot reproduce the problem:
--8<---------------cut here---------------start------------->8---
diff --git a/gnu/system/examples/lightweight-desktop.tmpl
b/gnu/system/examples/lightweight-desktop.tmpl
index d5a63dc457..42e7891641 100644
--- a/gnu/system/examples/lightweight-desktop.tmpl
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -3,7 +3,7 @@
;; environments.
(use-modules (gnu) (gnu system nss))
-(use-service-modules desktop)
+(use-service-modules desktop xorg)
(use-package-modules bootloaders certs emacs emacs-xyz ratpoison suckless wm
xorg)
@@ -11,12 +11,14 @@
(host-name "antelope")
(timezone "Europe/Paris")
(locale "en_US.utf8")
+ (keyboard-layout (keyboard-layout "jp"))
;; Use the UEFI variant of GRUB with the EFI System
;; Partition mounted on /boot/efi.
(bootloader (bootloader-configuration
- (bootloader grub-efi-bootloader)
- (target "/boot/efi")))
+ (bootloader grub-efi-bootloader)
+ (target "/boot/efi")
+ (keyboard-layout keyboard-layout)))
;; Assume the target root file system is labelled "my-root",
;; and the EFI System Partition has UUID 1234-ABCD.
@@ -53,7 +55,10 @@
;; Use the "desktop" services, which include the X11
;; log-in service, networking with NetworkManager, and more.
- (services %desktop-services)
+ (services (cons (set-xorg-configuration
+ (xorg-configuration ;for Xorg
+ (keyboard-layout keyboard-layout)))
+ %desktop-services))
;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss))
--8<---------------cut here---------------end--------------->8---
Closing :-)
Maxim
--- End Message ---