ac1c04d157
Add lyrathorpe/home/README.md covering the zsh / CLI tools / tmux / git / ssh features and nice-to-haves configured across shell.nix and git.nix (history, fzf/zoxide/direnv/eza/bat, nix-index, nh, tmux plugins + auto-start, git aliases/settings/signing, ssh agent + Gitea host, the zcompdump/GC maintenance behaviours, and per-host differences). Link it from the top-level README alongside the keybindings reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
64 lines
2.7 KiB
Markdown
64 lines
2.7 KiB
Markdown
# nixfiles
|
|
|
|
NixOS / nix-darwin / home-manager configuration for all hosts, built from a
|
|
single flake.
|
|
|
|
## Hosts
|
|
|
|
Defined in the host table in [`flake.nix`](./flake.nix):
|
|
|
|
| Configuration | System | Machine |
|
|
| ------------------- | --------------- | ---------------------------------------- |
|
|
| `lyrathorpe-mbp` | `aarch64-linux` | MacBook Pro (Apple Silicon, Asahi) |
|
|
| `lyrathorpe-t400` | `x86_64-linux` | ThinkPad T400 — [install notes](./system/machine/T400/README.md) |
|
|
| `lyrathorpe-macpro31` | `x86_64-linux` | Mac Pro 3,1, desktop — [install notes](./system/machine/MacPro31/README.md) |
|
|
| `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
|
|
|
|
```sh
|
|
# NixOS
|
|
sudo nixos-rebuild switch --flake .#<configuration>
|
|
# Darwin
|
|
darwin-rebuild switch --flake .#lyrathorpe-mac
|
|
```
|
|
|
|
## Shell environment & keybindings
|
|
|
|
- Interactive shell features (zsh, tmux, git, ssh, CLI tools, auto-tmux):
|
|
[`lyrathorpe/home/README.md`](./lyrathorpe/home/README.md).
|
|
- All Sway / tmux / foot / zsh keyboard shortcuts:
|
|
[`lyrathorpe/home/KEYBINDINGS.md`](./lyrathorpe/home/KEYBINDINGS.md).
|
|
|
|
## 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`](./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](https://github.com/tpwrules/nixos-apple-silicon)) into
|
|
`system/modules/firmware/` before rebuilding that host.
|
|
|
|
## CI
|
|
|
|
[`.gitea/workflows/ci.yaml`](./.gitea/workflows/ci.yaml) gates `nixfmt`
|
|
formatting and evaluates every NixOS and Darwin host configuration on push/PR.
|