Emma Thorpe 77e14968ee fix(sway): restore clobbered keybindings; update foot for 1.27
Two desktop-config fixes found together:

1. Keybindings: the previous Mod+Space launcher bind wrapped the set in
   `lib.mkMerge [ { ... } (mkOptionDefault ...) ]`. A normal-priority
   definition there wins over (and discards) the home-manager module's
   default keybindings, which are at mkOptionDefault priority -- so every
   default bind (terminal Mod+Return, movement, workspaces, kill, ...) and
   even the custom swaylock/volume binds silently vanished; only Mod+Space
   survived. That is why Super+Enter opened nothing. Restore the single
   mkOptionDefault wrapper (so it merges with the module defaults) and
   override just Mod+Space via lib.mkForce to beat the module's default
   focus-mode_toggle without a same-priority conflict. Generated config
   goes from 1 bindsym back to 57.

2. foot 1.27: the bare [colors] section is deprecated in favour of
   [colors-dark], and `[cursor] color` is rejected ("not a valid option:
   color"). Move the palette to colors-dark and set the cursor colour via
   its `cursor` key ("<text> <cursor>"). `foot --check-config` now passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 20:04:52 +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%