No description
- Nix 97.2%
- Shell 2.8%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| home | ||
| hosts/nuc | ||
| kubernetes/apps/forgejo | ||
| modules/nixos | ||
| scripts | ||
| secrets | ||
| .gitignore | ||
| .sops.yaml | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
Home Infrastructure
NixOS source of truth for the home server.
Hosts
nuc: Intel NUC home server, reachable on the LAN asnuc.home.arpa.
Deploy
From this machine:
nixos-rebuild switch --flake /home/k1/infra#nuc --target-host k1@nuc.home.arpa --use-remote-sudo
The remote sudo prompt should ask for the k1 password on the NUC.
If running from the NUC after copying or cloning this repo there:
sudo nixos-rebuild switch --flake /path/to/infra#nuc
Notes
- Keep secrets out of git. Use
secrets/README.mduntilsops-nixoragenixis added. - The current NUC egress firewall assumes:
- router:
192.168.8.1 - NUC:
192.168.8.151 - trusted LAN:
192.168.8.0/24
- router:
- Public DNS:
ignis.nrve.dev->CNAME gh1d1e7.glddns.com
- Flint WAN port forwards:
- TCP
80->192.168.8.151:80 - TCP
443->192.168.8.151:443 - TCP
32222->192.168.8.151:32222for Forgejo SSH
- TCP
- Do not expose the Kubernetes API port
6443publicly unless there is a narrow source allowlist or VPN in front of it. Prefer WireGuard/Tailscale/Flint VPN access to the LAN, then reach192.168.8.151:6443. - LAN DNS should resolve internal names to the NUC:
nuc.home.arpa->192.168.8.151git.home.arpa->192.168.8.151
- If the Flint does not support NAT loopback, optionally override
ignis.nrve.devon LAN to192.168.8.151. - ACME uses Porkbun DNS-01, so certificate issuance does not require public inbound HTTP.
- When the NUC moves to its own subnet/VLAN, update
modules/firewall.nix.