summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorBernardo Meurer <bernardo@meurer.org>2022-04-30 11:29:25 -0700
committerGitHub <noreply@github.com>2022-04-30 11:29:25 -0700
commitcd7596dff48bf5233abc5cd22f4368b56155f470 (patch)
tree6d263e3549ca88e6e64e7f740a2ac7c392728393 /nixos
parent7a5785d6aec02fbdb8da709d4597eb7e82625180 (diff)
parent18363cad97e994b5c30c8271e7cffef0fe1c82a1 (diff)
downloadnixpkgs-cd7596dff48bf5233abc5cd22f4368b56155f470.tar
nixpkgs-cd7596dff48bf5233abc5cd22f4368b56155f470.tar.gz
nixpkgs-cd7596dff48bf5233abc5cd22f4368b56155f470.tar.bz2
nixpkgs-cd7596dff48bf5233abc5cd22f4368b56155f470.tar.lz
nixpkgs-cd7596dff48bf5233abc5cd22f4368b56155f470.tar.xz
nixpkgs-cd7596dff48bf5233abc5cd22f4368b56155f470.tar.zst
nixpkgs-cd7596dff48bf5233abc5cd22f4368b56155f470.zip
Merge pull request #170131 from helsinki-systems/feat/systemd-stage-1-only-keymap
nixos/console: Allow setting keymap without font
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/config/console.nix11
1 files changed, 5 insertions, 6 deletions
diff --git a/nixos/modules/config/console.nix b/nixos/modules/config/console.nix
index 5b07901f990..69101bca3f2 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";
-        }];
       })
     ]))
   ];