nix config for my personal machines
README.md

Device Management#

vera (OpenWRT Router)#

Managed via a custom bash script wrapped in a Nix shell.

  • Configure: Edit vera/config.nix
  • Deploy: Run ./vera/deploy.sh <router-ip> inside the dev shell.

baxi (NixOS Desktop)#

Managed via standard NixOS configuration.

  • Configure: Edit baxi/configuration.nix
  • Apply: Run nixos-rebuild switch --flake .#baxi

eggu (NixOS Server)#

Managed via standard NixOS configuration.

  • Configure: Edit eggu/configuration.nix
  • Apply: Run nixos-rebuild switch --flake .#eggu

thor (macOS Laptop)#

Managed via nix-darwin.

  • Configure: Edit thor/configuration.nix
  • Apply: Run darwin-rebuild switch --flake .#thor

enki (Windows) & gelt (Android)#

Currently placeholders.

  • Windows: Can use WSL with Nix + Home Manager.
  • Android: Can use Nix-on-Droid.

Networking#

Local Network (192.168.2.x)#

When a device contains a network.nix file, it's assumed it will have a static IP and hostname in the internal network.

Mesh Network (Tailscale)#

All main devices are part of a Tailscale mesh network for remote access and NAT traversal.

  • NixOS/macOS: Automatically configured via modules/services/tailscale.nix.
  • Secrets: Requires a tailscale_auth_key in secrets/secrets.yaml.
  • Android (gelt): Install the Tailscale app and log in.
  • OpenWRT (vera): Install tailscale package and run tailscale up.