nixos/console: fix optimizedKeymap derivation isUnicode condition

The `optimizedKeymap` derivation was introduced in commit c9276c1b52
(2019) to pre-compile text keymaps into binary format for faster loading
during early boot (initrd).

The `-u` flag of `loadkeys` command enables Unicode mode, allowing the
keymap to contain Unicode keysyms (like `leftquote`,
`left_double_quotation_mark`). Without `-u` only non-Unicode keysyms are
supported (suitable for `ISO-8859-*` character sets).

When `console.useXkbConfig = true`, the keymap is generated by `ckbcomp`
which always produces Unicode keysyms, regardless of the local charset.
Hence this commit is a followup to #408307, and fixes #445666 for sure
while probably also fixing #411374 .
This commit is contained in:
Doron Behar
2025-12-02 15:45:34 +02:00
parent 5878d67db7
commit 30a3aafae1
2 changed files with 3 additions and 3 deletions

View File

@@ -9,7 +9,7 @@ let
makeColor = i: lib.concatMapStringsSep "," (x: "0x" + lib.substring (2 * i) 2 x);
isUnicode = lib.hasSuffix "UTF-8" (lib.toUpper config.i18n.defaultLocale);
isUnicode = config.i18n.defaultCharset == "UTF-8" || cfg.useXkbConfig;
optimizedKeymap =
pkgs.runCommand "keymap"

View File

@@ -4,8 +4,8 @@
meta.maintainers = with lib.maintainers; [ doronbehar ];
nodes = {
# Nothing to run on this node, a bug (TODO: where?) is causing a builder of
# the configuration to fail. See:
# Nothing to run on this node. Only verify that this configuration doesn't
# produce the bugs described here:
#
# - https://github.com/NixOS/nixpkgs/issues/445666
# - https://github.com/NixOS/nixpkgs/issues/411374