fix(install): normalize empty keyboard variants
All checks were successful
Check / eval (push) Successful in 3m18s
All checks were successful
Check / eval (push) Successful in 3m18s
Treat the picker-only (none) row as an empty XKB variant at the shared input boundary and again in the template patcher. Guard the real downstream output and console keymap, and carry the sentinel through the offline installer VM. Verified: V0 full flake evaluation plus shell/Python/Nix/diff checks; V1 installer-keyboard, installer-safety, and template-SoT builds; V2 full KVM offline LUKS+swap install and themed first boot. No V3 required.
This commit is contained in:
31
flake.nix
31
flake.nix
@@ -349,10 +349,39 @@
|
||||
{ nativeBuildInputs = [ pkgs.python3 ]; }
|
||||
''
|
||||
python3 ${./tools/check-install-safety.py} \
|
||||
${./pkgs/nomarchy-install/nomarchy-install.sh}
|
||||
${./pkgs/nomarchy-install/nomarchy-install.sh} \
|
||||
${./pkgs/nomarchy-install/patch-template.py} \
|
||||
${./templates/downstream}
|
||||
touch $out
|
||||
'';
|
||||
|
||||
# Installer keyboard no-variant regression (item 91): gum's `(none)`
|
||||
# row is display-only. Exercise it through the real template
|
||||
# patcher, then build the exact us + empty-variant console keymap
|
||||
# which previously failed as xkb-console-keymap.drv.
|
||||
installer-keyboard =
|
||||
let
|
||||
keyboardSystem = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [{
|
||||
console.useXkbConfig = true;
|
||||
services.xserver.xkb.layout = "us";
|
||||
services.xserver.xkb.variant = "";
|
||||
system.stateVersion = "26.05";
|
||||
}];
|
||||
};
|
||||
in
|
||||
pkgs.runCommand "nomarchy-installer-keyboard"
|
||||
{ nativeBuildInputs = [ pkgs.python3 ]; }
|
||||
''
|
||||
python3 ${./tools/check-install-safety.py} \
|
||||
${./pkgs/nomarchy-install/nomarchy-install.sh} \
|
||||
${./pkgs/nomarchy-install/patch-template.py} \
|
||||
${./templates/downstream}
|
||||
test -s ${keyboardSystem.config.console.keyMap}
|
||||
touch $out
|
||||
'';
|
||||
|
||||
# Installer share ↔ templates/downstream SoT (item 72): the four
|
||||
# files default.nix copies into share/.../template/ must stay
|
||||
# byte-identical to the checkout template (single machine-seed
|
||||
|
||||
Reference in New Issue
Block a user