Files
homelab/README.md
T

51 lines
1.4 KiB
Markdown

# homelab
Flake-based NixOS config. Host: `jupiter` (ZimaBlade, NAS + services).
## Structure
```
flake.nix # inputs + nixosConfigurations.jupiter
jupiter/configuration.nix # system, users, ssh, samba, containers, caddy
jupiter/hardware-configuration.nix # PLACEHOLDER — regenerate on real machine
```
## First install (on the ZimaBlade)
1. Boot NixOS minimal ISO, partition + mount disks at `/mnt`.
2. Generate hardware config:
```
sudo nixos-generate-config --root /mnt
```
Copy `/mnt/etc/nixos/hardware-configuration.nix` into `jupiter/`.
3. Add your SSH public key to `users.users.erik.openssh.authorizedKeys.keys`.
4. Install:
```
sudo nixos-install --flake .#jupiter
```
## Rebuild after changes
```
sudo nixos-rebuild switch --flake .#jupiter
```
Remote from laptop:
```
nixos-rebuild switch --flake .#jupiter \
--target-host erik@jupiter --use-remote-sudo
```
## Adding a service
Copy the `whoami` block in `oci-containers.containers`, swap image/ports/volumes.
Native NixOS module exists for many apps (Nextcloud, Jellyfin, Grafana...) —
prefer `services.<app>` over a container when available.
## Notes
- Backend is Podman with `dockerCompat` — `docker` CLI works, no daemon.
- Set correct `time.timeZone` and Samba `path` for your data mount.
- `system.stateVersion` = `26.05`, install-time schema. Do NOT bump on upgrades.
```