nix infra
config | ||
lib/shinyflakes | ||
modules | ||
pkgs | ||
secrets/services | ||
.gitignore | ||
.sops.yaml | ||
flake.lock | ||
flake.nix | ||
README.md |
emilys Nix Infra
First deployment
remote hosts
$ nix run github:nix-community/nixos-anywhere -- --flake ".#<configuration>" root@<target-host>
desktops
$ nix --extra-experimental-features nix-command run github:nix-community/nixos-anywhere -- --flake "git+https://woof.rip/emily/nixfiles.git#<configuration>" --no-reboot --build-on-target root@127.0.0.1
$ nixos-enter
$ passwd <local-user>
reboot
$ git clone https://woof.rip/emily/nixfiles.git
$ colmena apply-local --sudo --node <node>
Todo
- tomate (router dus)
- kartoffel
- most services
- brokkoli2 (router ams)
- alucard
- merge hetzner hosts
Structure
nixfiles
├── config # NixOS configuration
│ ├── common # configuration applyed to all hosts (some settings might be influenced by machine-type)
│ │ └── users # user configuration
│ ├── hosts # configuration for specific hosts
│ ├── profiles # configuariotn for specific machine types
│ └── services # common service configuration
├── lib # helper functions
├── modules # NixOS modules
└── pkgs # nixpkgs overlays