Stage 4f cleanup. The flake moved from ~/dotfiles/nixos/ to ~/dotfiles/
in 88c5139; docs and install scripts hadn't been refreshed. Point all
rebuild / flake references at the new root:
- AGENTS.md, README.md, server-quickstart.md, docs/server-installer-usb.md,
docs/sunken-ship-wifi.md, nixos/readme.md — rebuild command paths.
- scripts/nixos-server-install.sh — auto-detect now looks for flake.nix
at repo root (was nixos/flake.nix).
- scripts/post-install-provision.sh — first-rebuild hint path.
`nixos/hosts/<host>-hardware.nix` and friends stay where they are —
host-specific NixOS modules still live under nixos/; only the flake
entry-points + sops/ + vars/ + lib/ + modules/ + flake-modules/ moved.
nixos/readme.md rewritten to reflect the split (flake at root, per-host
modules under nixos/).
1.5 KiB
Agent Instructions
See CLAUDE.md for build commands, rebuild protocol, flake architecture, repo rules, and SSH key strategy. This file covers agent-specific operational details.
Running commands on sunken-ship
From the Mac, agents can SSH to sunken-ship:
ssh -i ~/.ssh/id_ed25519_sunken_ship danny@sunken-ship 'hostname; ip addr'
Rebuild on the server: ssh ... 'cd /etc/dotfiles && sudo nixos-rebuild switch --flake .#sunken-ship'. The server has WiFi; it remains reachable when ethernet is unplugged. Preferred from the mac: nix run git+https://git.clan.lol/clan/clan-core#clan-cli -- machines update sunken-ship --flake ~/dotfiles.
Server installer USB (new machines only)
Build from Linux: cd ~/dotfiles && nix build .#installer-iso (x86_64-linux only; cannot build on macOS). Or use official NixOS minimal ISO, write to USB, boot server, clone repo, run scripts/nixos-server-install.sh. See docs/server-installer-usb.md. Optional live WiFi: add nixos/installer-wifi.nix (gitignored) when building custom ISO on Linux.
Learnings (NixOS server)
- Minimal ISO: use Ethernet or the graphical installer (Wi‑Fi on minimal is fiddly).
- Server hardware: stub in repo; user replaces with
nixos-generate-config --show-hardware-configfrom the server. - Root password: console only; set danny's password as root once for sudo.
- SSH keys: use actual key names on the machine (e.g.
id_ed25519_github), not assumedid_ed25519.