common | ||
hosts | ||
modules | ||
packages | ||
switchconfig | ||
users | ||
.sops.yaml | ||
deploy.sh | ||
flake.lock | ||
flake.nix | ||
README.md |
VCP Bundeslager 2022 Nixfiles
How to deploy
./deploy.sh apply switch --on vpn7
or to deploy all gateways:
./deploy.sh apply switch --on gateway
There is a special case for the nixdeploy-host:
./deploy.sh apply-local switch --sudo --node nixdeploy
Secrets
Secrets are managed with sops, see https://github.com/Mic92/sops-nix
To add yourself, follow steps 2 and 4 of above mentioned README and add yourself to .sops.yaml
in keys
and all creation rules.
To add a new host, configure a creation rule in .sops.yaml
,
configure the key (e.g. fetch it with nix-shell -p ssh-to-age --run 'ssh-keyscan hostname.bula22.de | ssh-to-age'
and add it to keys
.
Then you can create a secrets file with nix-shell -p sops --run "sops hosts/hostname/secrets.yaml"
, add your secrets and then configure your secrets. Example:
sops.secrets.nerd_secret = {
sopsFile = ./secrets.yaml;
owner = "nerd";
restartUnits = [ "nerd.service" ];
};
Your secret will then be available in /run/secrets/secret_name
.