Emma Thorpe eb1704764f fix(sway): use the us(dvorak) variant, not a "dvorak" layout
Dvorak is a variant of the "us" XKB layout, not a layout of its own:
there is no symbols/dvorak file, so "dvorak" fails to compile.

In the greetd/cage greeter the keymap comes solely from XKB_DEFAULT_*, so
the failure left the greeter with no keymap and therefore no keyboard
input at all (mouse unaffected). Split it into
XKB_DEFAULT_LAYOUT=us + XKB_DEFAULT_VARIANT=dvorak.

The same mistake in the Sway session (home/sway.nix) was masked: the
default us keymap compiled and the failing override was silently dropped,
so the session ran QWERTY despite the dvorak setting. Use xkb_variant
there too so it is actually Dvorak.

console.keyMap = "dvorak" (workstation.nix) is unaffected -- that is a
kbd console map, a separate subsystem where "dvorak" is valid.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 18:31:47 +01:00

nixfiles

NixOS / nix-darwin / home-manager configuration for all hosts, built from a single flake.

Hosts

Defined in the host table in flake.nix:

Configuration System Machine
lyrathorpe-mbp aarch64-linux MacBook Pro (Apple Silicon, Asahi)
lyrathorpe-t400 x86_64-linux ThinkPad T400 — install notes
lyrathorpe-macpro31 x86_64-linux Mac Pro 3,1, desktop — install notes
emmathorpe-edaas x86_64-linux Work WSL box (NixOS-WSL)
lyrathorpe-mac aarch64-darwin macOS (nix-darwin)

Shared layers: lyrathorpe/home (home-manager: shell, git, editor), system/modules/common-nixos.nix (all NixOS hosts), and system/modules/laptop.nix (the physical laptops).

Applying

# NixOS
sudo nixos-rebuild switch --flake .#<configuration>
# Darwin
darwin-rebuild switch --flake .#lyrathorpe-mac

Login / greeter

Graphical (Sway) hosts log in through a Wayland greeter — greetd running ReGreet inside the cage kiosk compositor — configured centrally in lyrathorpe/swaywm.nix, gated on features.swayDesktop.enable. The greeter is forced to Dvorak to match the console and Sway session. Hosts with features.swayDesktop.enable = false (the WSL work box) keep plain TTY login. The target account needs a password (passwd <user>) before it can log in.

MacBook (Asahi) firmware

The MBP host references system/modules/firmware/ for Apple peripheral firmware (Wi-Fi/Bluetooth). Those blobs are not redistributable, so the directory is gitignored and a clean checkout will not build lyrathorpe-mbp until it is populated out-of-band.

Copy the firmware extracted during the Asahi install (from /etc/nixos/firmware on the freshly-installed machine, or re-extract per the Asahi NixOS docs) into system/modules/firmware/ before rebuilding that host.

CI

.gitea/workflows/ci.yaml gates nixfmt formatting and evaluates every NixOS and Darwin host configuration on push/PR.

S
Description
No description provided
Readme 52 MiB
Languages
Nix 100%