PVV's multimachine nixos setup
Go to file
2022-12-10 10:17:27 +01:00
hosts Initialize flake 2022-12-07 22:13:28 +01:00
misc Rename dir to 2022-09-08 17:34:00 +02:00
pkgs Pin minecraft server to 1.18.1 2021-12-30 04:04:58 +01:00
secrets/jokum Add signing key to secrets 2022-12-09 06:24:28 +01:00
services inital sync metrics 2022-12-10 08:51:36 +01:00
users Add user felixalb 2022-09-08 17:44:20 +02:00
.gitignore Initialize flake 2022-12-07 22:13:28 +01:00
.sops.yaml Add sops for secret management 2022-12-07 10:16:07 +01:00
base.nix switch to systemd-resolved and add domains to search for fqdns from hostnames 2022-12-10 10:17:27 +01:00
flake.lock update flakes 2022-12-10 08:31:00 +01:00
flake.nix lock nix-path and local flake registry to sytem nixpkgs 2022-12-09 05:25:07 +01:00
README.MD initial readme 2022-12-09 04:14:21 +01:00
shell.nix Add devShell including sops 2022-12-09 03:43:14 +01:00

PVV NixOS configs

Hvordan endre på ting

Før du endrer på ting husk å ikke putte ting som skal være hemmelig uten å først lese seksjonen for hemmeligheter!

Etter å ha klonet prosjektet ned og gjort endringer kan du bygge med:

nix build .#nixosConfigurations.jokum.config.system.build.toplevel

Husk å hvertfall stage nye filer om du har laget dem!

Om alt bygger fint commit det og push til git repoet. Det er sikkert lurt å lage en PR først om du ikke er vandt til nix enda.

Innen 24h skal alle systemene hente ned den nye konfigurasjonen og deploye den.

Du kan tvinge en maskin til å oppdatere seg før dette ved å kjøre: nixos-rebuild switch --flake "git+https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git"

som root på maskinen.

Seksjonen for hemmeligheter

For at hemmeligheter ikke skal deles med hele verden i git - eller å være world readable i nix-storen, bruker vi sops-nix

For å legge til secrets kan du kjøre f.eks. sops secrets/jokum/jokum.yaml Dette vil dekryptere filen og gi deg en text-editor du kan bruke for endre hemmelighetene.

Et nix shell med dette verktøyet inkludert ligger i flaket og shell.nix og kan aktiveres med:

nix-shell eller nix develop. Vi anbefaler det siste. I tilegg kan du sette opp direnv slik at dette skjer automatisk

for å få tilgang til å lese/skrive hemmeligheter må du spørre noen/noe som har tilgang til hemmelighetene om å legge til age eller pgp nøkkelen din i .sops.yaml

Denne kan du generere fra ssh-nøkkelene dine eller lage en egen nøkkel.