dotfiles/nixos
DannyDannyDanny a903d76f65 nixos/hosts: add README documenting host roles + deploy flow
Deferred Phase-1-completion task from the de-platform-from-GitHub
roadmap (vimwiki/diary/2026-05-03.md). Documents:

- per-host role + current services (sunken-ship, phantom-ship, vps-relay,
  distant-shore, foreign-port, daniel-macbook-air, wsl);
- ZT mesh topology + ASCII overview;
- the auto-rebuild path (dm-pull-deploy push from sunken-ship → pull/
  rebuild on roles.default hosts within ~15 m);
- the manual clan-cli flow, including the env -u SSH_AUTH_SOCK and
  --no-check gotchas we hit in practice;
- the vps-relay reverse-proxy pattern for new public apps;
- SSH key quick-reference.
2026-06-07 19:05:06 +02:00
..
home/danny fix(home): resurrect process list + track zed settings in dotfiles 🏠 2026-06-05 17:19:38 +02:00
hosts nixos/hosts: add README documenting host roles + deploy flow 2026-06-07 19:05:06 +02:00
pkgs/hara-gmail-mcp hara-gmail-mcp: add mark_read and archive tools (v0.2.0) 2026-05-03 07:14:42 +02:00
disko-cloud.nix fix(vps-relay): switch to GRUB/BIOS — Hetzner Cloud is not UEFI 🧷 2026-04-24 16:05:27 +02:00
disko-distant-shore.nix phantom-ship/shipyard: add media-processing tools for feedback 2026-06-07 13:16:57 +02:00
disko-server.nix Add NixOS server installer USB (disko LUKS + WiFi, hostname prompt) 2026-03-08 16:16:25 +01:00
fish.nix feat(fish): add gco — smart checkout that cds into worktrees 🌿 2026-06-05 17:18:57 +02:00
installer-iso.nix Add NixOS server installer USB (disko LUKS + WiFi, hostname prompt) 2026-03-08 16:16:25 +01:00
neovim.nix feat(fish): add gco — smart checkout that cds into worktrees 🌿 2026-06-05 17:18:57 +02:00
ollama.nix feat: add ollama 💩 2025-10-26 19:48:17 +01:00
readme.md docs: update stale dotfiles/nixos flake paths 📝 2026-04-20 20:28:05 +02:00
server-configuration-with-flakes.nix Rename nixos-server to sunken-ship 2026-03-01 12:44:28 +01:00
server-install-configuration.nix Rename nixos-server to sunken-ship 2026-03-01 12:44:28 +01:00
wsl.conf chore: remove wsl.conf 2025-09-09 15:24:51 +02:00

NixOS modules

Host-specific NixOS and home-manager modules live under this dir:

  • hosts/<machine>.nix + hosts/<machine>-hardware.nix
  • home/danny/home.nix (home-manager)
  • fish.nix, neovim.nix, ollama.nix, installer-iso.nix, disko-server.nix

The flake itself (flake.nix, flake.lock, flake-modules/, lib/, modules/, sops/, vars/) lives at the repo root, not here. See CLAUDE.md at the repo root for rebuild commands, clan.lol operations, and the dotfiles-rebuild timer.

Quick rebuild reference

# macOS
cd ~/dotfiles && darwin-rebuild switch --flake .

# WSL
sudo nixos-rebuild switch --flake ~/dotfiles#wsl

# Servers (via clan from mac)
nix run git+https://git.clan.lol/clan/clan-core#clan-cli -- \
  machines update sunken-ship --flake ~/dotfiles

Server bootstrap (one-time)

nix run --extra-experimental-features "nix-command flakes" nixpkgs#git -- \
  clone https://github.com/DannyDannyDanny/dotfiles.git /tmp/dotfiles
sudo mv /tmp/dotfiles /etc/dotfiles
sudo nixos-rebuild switch --flake /etc/dotfiles#sunken-ship \
  --option accept-flake-config true

If the daemon doesn't have flakes: copy server-configuration-with-flakes.nix to /etc/nixos/configuration.nix, sudo nixos-rebuild switch, then build the flake.

SSH keys (not in repo): scp ~/.ssh/*.pub danny@server:/tmp/, then on server mkdir -p ~/.ssh; cat /tmp/*.pub >> ~/.ssh/authorized_keys. See docs/ssh-and-secrets.md.

No git in PATH: sudo nix run nixpkgs#git -- -C /etc/dotfiles pull origin main.