[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#34929] [PATCH 00/12] Provide uniform keyboard layout configuration
From: |
Julien Lepiller |
Subject: |
[bug#34929] [PATCH 00/12] Provide uniform keyboard layout configuration |
Date: |
Sun, 24 Mar 2019 11:03:03 +0100 |
Le Wed, 20 Mar 2019 23:32:29 +0100,
Ludovic Courtès <address@hidden> a écrit :
> Hello Guix!
>
> This patch series attempts to address a longstanding issue in Guix:
> keyboard layout configuration.
>
> The end result is that you can configure the layout for GRUB,
> the Linux console, and Xorg using a single <keyboard-layout> record,
> which directly corresponds to an XKB layout specification.
>
> The three things still have to be configured separately. Here’s an
> example where GRUB, Linux, and Xorg use the same layout:
>
> (operating-system
> ;; ...
> (keyboard-layout (keyboard-layout "tr")) ;for the console
> (bootloader (bootloader-configuration
> (bootloader grub-efi-bootloader)
> (target "/boot/efi")
> (keyboard-layout keyboard-layout))) ;for GRUB
> (services (modify-services %desktop-services
> (slim-service-type config =>
> (slim-configuration
> (inherit config)
> (xorg-configuration
> (xorg-configuration ;for Xorg
> (keyboard-layout keyboard-layout))))))))
>
> Clearly the Xorg bit is suboptimal. I don’t see any obvious way
> to simplify this part unfortunately because the <xorg-configuration>
> record is aggregated by ‘slim-configuration’ & co. (there’s no Xorg
> service that we could extend.) That’s something we can still improve
> afterwards, though.
>
> Potentially controversial issues:
>
> 1. The Xorg API is changed in an incompatible way:
> ‘xorg-start-command’ has a different prototype, the ‘startx’
> field of ‘slim-configuration’ is gone, etc. If you were using
> these, your config will have to be adjusted to use the new
> ‘xorg-configuration’ record. (But hey, we’re still pre-1.0!).
>
> 2. Since both fields and the record constructor are called
> ‘keyboard-layout’, you could easily have name clashes (it’s
> more of an aesthetic consideration, not a showstopper.)
>
> After that we should probably change the installer to generate
> the right incantations.
>
> These patches fix <https://issues.guix.info/issue/25453> and
> <https://issues.guix.info/issue/26234>.
>
> Feedback welcome!
>
> And thanks to nee for the initial inspiration!
>
> Ludo’.
>
> Ludovic Courtès (12):
> bootloader: Remove unused 'additional-configuration' field.
> bootloader: Reindent record type definition.
> Add (gnu system keyboard).
> bootloader: Add a 'keyboard-layout' field.
> services: xorg: Remove unused #:guile parameter.
> services: xorg: Define and <xorg-configuration> record type.
> services: sddm, slim, gdm: Take an <xorg-configuration> record.
> services: xorg: Add a 'keyboard-layout' field in
> <xorg-configuration>. vm: 'virtualized-operating-system' inherits
> from the user's bootloader config.
> gnu: Add loadkeys-static.
> system: Initialize console keyboard layout in the initrd.
> doc: Document keyboard layout.
>
> doc/guix.texi | 305
> ++++++++++++++++++++++++------------ gnu.scm |
> 3 +- gnu/bootloader.scm | 43 ++---
> gnu/bootloader/grub.scm | 35 +++++
> gnu/build/linux-boot.scm | 15 +-
> gnu/local.mk | 1 +
> gnu/packages/linux.scm | 37 +++++
> gnu/services/sddm.scm | 14 +-
> gnu/services/xorg.scm | 182 ++++++++++++---------
> gnu/system.scm | 7 +-
> gnu/system/keyboard.scm | 98 ++++++++++++
> gnu/system/linux-initrd.scm | 26 ++-
> gnu/system/vm.scm | 1 +
> 13 files changed, 561 insertions(+), 206 deletions(-)
> create mode 100644 gnu/system/keyboard.scm
>
Apart from the minor comments I already sent to patches 4, 6 and 8,
LGTM! Thank you!
- [bug#34929] [PATCH 07/12] services: sddm, slim, gdm: Take an <xorg-configuration> record., (continued)
- [bug#34929] [PATCH 08/12] services: xorg: Add a 'keyboard-layout' field in <xorg-configuration>., Ludovic Courtès, 2019/03/20
- [bug#34929] [PATCH 10/12] gnu: Add loadkeys-static., Ludovic Courtès, 2019/03/20
- [bug#34929] [PATCH 12/12] doc: Document keyboard layout., Ludovic Courtès, 2019/03/20
- [bug#34929] [PATCH 11/12] system: Initialize console keyboard layout in the initrd., Ludovic Courtès, 2019/03/20
[bug#34929] [PATCH 00/12] Provide uniform keyboard layout configuration,
Julien Lepiller <=