feat(keymap): route installer layout choice into Hyprland's Wayland session
core/home/config/nomarchy/default/hypr/input.conf hardcoded
`kb_layout = us`, so the installer's services.xserver.xkb.layout and
console.keyMap writes (both set from the installer's KEYMAP_LAYOUT
prompt) only reached XWayland apps and the TTY console. Native-Wayland
apps — i.e. almost everything in a Nomarchy desktop — fell back to US
regardless of what the user picked. Surprising for any non-US user.
Path (a) from the Later row:
- Added nomarchy.keymap.{layout,variant} to core/home/options.nix
(defaults "us" / "").
- Deleted the static input.conf from the bulk nomarchy/ deploy.
- Replaced it with an explicit
xdg.configFile."nomarchy/default/hypr/input.conf".text in
core/home/configs.nix that interpolates the option values into
kb_layout / kb_variant.
- Installer's home.nix heredoc now writes
nomarchy.keymap = { layout = "$KEYMAP_LAYOUT"; variant = "$KEYMAP_VARIANT"; };
alongside nomarchy.formFactor, so the layout reaches Hyprland
consistently with system.nix's xkb.layout / console.keyMap.
Documented in docs/OPTIONS.md (new `nomarchy.keymap.layout` /
`nomarchy.keymap.variant` entry). `nix flake check --no-build` clean.
This commit is contained in:
@@ -1718,6 +1718,15 @@ EOF
|
||||
# Gates UI affordances like the waybar battery widget.
|
||||
nomarchy.formFactor = "$FORM_FACTOR";
|
||||
|
||||
# Keyboard layout for Hyprland's native Wayland session. system.nix
|
||||
# writes services.xserver.xkb.layout (XWayland) and console.keyMap
|
||||
# (TTY) to the same value, but Hyprland reads its own input config so
|
||||
# this option needs to be set independently.
|
||||
nomarchy.keymap = {
|
||||
layout = "$KEYMAP_LAYOUT";
|
||||
variant = "$KEYMAP_VARIANT";
|
||||
};
|
||||
|
||||
# User-level packages (Home Manager).
|
||||
#
|
||||
# Nomarchy already ships a minimal desktop (firefox, thunar, mpv, imv, mako,
|
||||
|
||||
Reference in New Issue
Block a user