forked from emily/nixfiles
nix infra
config | ||
modules | ||
pkgs | ||
.gitignore | ||
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://git.bsd.gay/snaki/nixfiles.git#<configuration>" --no-reboot --build-on-target root@127.0.0.1
$ nixos-enter
$ passwd <local-user>
reboot
$ git clone https://git.bsd.gay/snaki/nixfiles.git
$ colmena apply-local --sudo --node <node>
Deploy changes on ...
all hosts
$ colmena apply --on @production
routers only
$ colmena apply --on @router
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
└── modules # NixOS modules