dotfiles/AGENTS.md
2026-02-27 23:36:19 +01:00

1.6 KiB
Raw Blame History

Agent Instructions

Nix/Darwin Rebuilds

IMPORTANT: When making changes to Nix configuration files (e.g., nixos/home/danny/home.nix, nixos/flake.nix, etc.), always ask the user to rebuild before assuming packages are available.

To rebuild:

cd ~/dotfiles/nixos
darwin-rebuild switch --flake .

Do not automatically run rebuild commands - ask the user first.

Repo is public

No keys, tokens, or identifying secrets in the repo. Prefer scp or config outside the repo.

Learnings (NixOS server)

  • Minimal ISO: use Ethernet or the graphical installer (WiFi on minimal is fiddly).
  • Server hardware: stub in repo; user replaces with nixos-generate-config --show-hardware-config from the server.
  • Root password: console only; set dannys password as root once for sudo.
  • SSH keys: use actual key names on the machine (e.g. id_ed25519_github), not assumed id_ed25519.

Server (nixos-server)

  • Commit and push before testing on the server; it clones/pulls from origin.
  • Bootstrap: server has no git until first rebuild. Use nix run --extra-experimental-features "nix-command flakes" nixpkgs#git to clone. Enable flakes in the daemon via server-configuration-with-flakes.nix: scp to server /tmp/configuration.nix, on server sudo cp to /etc/nixos/configuration.nix, then sudo nixos-rebuild switch. Then build flake and run switch-to-configuration switch (see nixos/readme.md).
  • Auto-rebuild timer (dotfiles-rebuild) only runs after the system has been switched to the flake config. Check with systemctl is-active dotfiles-rebuild.timer on the server.