From 18363cad97e994b5c30c8271e7cffef0fe1c82a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Sun, 24 Apr 2022 21:38:16 +0100 Subject: [PATCH] nixos/console: Allow setting keymap without font --- nixos/modules/config/console.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/nixos/modules/config/console.nix b/nixos/modules/config/console.nix index 5b07901f9901..69101bca3f21 100644 --- a/nixos/modules/config/console.nix +++ b/nixos/modules/config/console.nix @@ -149,8 +149,11 @@ in ''); boot.initrd.systemd.contents = { - "/etc/kbd".source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share"; "/etc/vconsole.conf".source = vconsoleConf; + # Add everything if we want full console setup... + "/etc/kbd" = lib.mkIf cfg.earlySetup { source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share"; }; + # ...but only the keymaps if we don't + "/etc/kbd/keymaps" = lib.mkIf (!cfg.earlySetup) { source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share/keymaps"; }; }; boot.initrd.systemd.storePaths = [ "${config.boot.initrd.systemd.package}/lib/systemd/systemd-vconsole-setup" @@ -180,7 +183,7 @@ in ]; }) - (mkIf cfg.earlySetup { + (mkIf (cfg.earlySetup && !config.boot.inird.systemd.enable) { boot.initrd.extraUtilsCommands = '' mkdir -p $out/share/consolefonts ${if substring 0 1 cfg.font == "/" then '' @@ -194,10 +197,6 @@ in cp -L $font $out/share/consolefonts/font.psf fi ''; - assertions = [{ - assertion = !config.boot.initrd.systemd.enable; - message = "console.earlySetup is implied by systemd stage 1"; - }]; }) ])) ];