chore(install): stop writing distro-default config into system.nix
console.useXkbConfig and boot.initrd.systemd.enable are set distro-wide (lib.mkDefault true in modules/nixos/default.nix, since the LUKS-keymap fix), so the installer rewriting them in the generated system.nix was redundant. Drop them there and from the offline-pin test fixture in flake.nix — the nomarchy module still defaults them on, so the closure (and the pin set) is unchanged; verified the values still resolve true and `nix flake check` passes. Only the machine-specific xkb layout is written now. Adjusts the README keyboard-option wording to match. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -186,7 +186,7 @@ examples: **[docs/OVERRIDES.md](docs/OVERRIDES.md)**.
|
||||
|---|---|---|
|
||||
| `nomarchy.stateFile` | — (required) | Path to your theme-state.json |
|
||||
| `nomarchy.terminal` | `"ghostty"` | Terminal for keybinds and `$TERMINAL` |
|
||||
| `nomarchy.keyboard.layout` | `"us"` | XKB layout for the Hyprland session (installer writes it; pairs with xkb + `console.useXkbConfig` in system.nix) |
|
||||
| `nomarchy.keyboard.layout` | `"us"` | XKB layout for the Hyprland session (installer writes the matching `services.xserver.xkb` in system.nix; the console + LUKS prompt follow via the distro default) |
|
||||
| `nomarchy.keyboard.variant` | `""` | XKB variant for the session |
|
||||
| `nomarchy.hyprland.enable` | `true` | Nomarchy's Hyprland config |
|
||||
| `nomarchy.waybar.enable` | `true` | Nomarchy's Waybar |
|
||||
|
||||
@@ -252,12 +252,6 @@
|
||||
({ lib, ... }: {
|
||||
nomarchy.system.snapper.enable = true;
|
||||
nomarchy.system.greeter.autoLogin = username;
|
||||
# The installer writes these (keyboard-everywhere
|
||||
# incl. the LUKS prompt) — mirror them or the
|
||||
# initrd/vconsole pins don't match an offline
|
||||
# install's rebuild set.
|
||||
console.useXkbConfig = true;
|
||||
boot.initrd.systemd.enable = true;
|
||||
# nixos-generate-config keys microcode off
|
||||
# enableRedistributableFirmware (now on): the
|
||||
# real machine enables exactly one vendor —
|
||||
|
||||
@@ -444,15 +444,14 @@ cat > "$FLAKE_DIR/system.nix" <<EOF
|
||||
time.timeZone = "$TIMEZONE";
|
||||
i18n.defaultLocale = "$LOCALE";
|
||||
|
||||
# One keyboard layout everywhere: xkb is the source of truth, the
|
||||
# virtual console derives from it (greeter/ttys), and the systemd
|
||||
# initrd applies it to the LUKS passphrase prompt too (the classic
|
||||
# script initrd cannot). The Hyprland session reads the same layout
|
||||
# from nomarchy.keyboard.* in home.nix.
|
||||
# One keyboard layout everywhere: xkb is the source of truth, and the
|
||||
# distro defaults (console.useXkbConfig + the systemd initrd, set in
|
||||
# the nomarchy module) derive the virtual console and the LUKS
|
||||
# passphrase prompt from it — so only the chosen layout is written here.
|
||||
# The Hyprland session reads the same layout from nomarchy.keyboard.* in
|
||||
# home.nix.
|
||||
services.xserver.xkb.layout = "$KB_LAYOUT";
|
||||
services.xserver.xkb.variant = "$KB_VARIANT";
|
||||
console.useXkbConfig = true;
|
||||
boot.initrd.systemd.enable = true;
|
||||
|
||||
# Your login user — \`username\` flows in from flake.nix automatically.
|
||||
users.users.\${username} = {
|
||||
|
||||
Reference in New Issue
Block a user