nix infra
Find a file
2024-05-10 16:21:18 +02:00
config allow missing modules rpi 2024-05-10 16:21:18 +02:00
lib/shinyflakes add sops-nix module by default 2024-05-09 16:41:01 +02:00
modules added forgejo 2024-05-03 16:12:39 +02:00
pkgs added nyastodon config 2024-04-25 20:50:06 +02:00
secrets/services added hydra and attic 2024-05-10 13:39:46 +02:00
.gitignore gitignore 2024-01-12 15:14:17 +01:00
.sops.yaml added .sops.yaml 2024-05-03 16:13:33 +02:00
flake.lock flake.lock: Update 2024-05-10 15:37:24 +02:00
flake.nix removed darwin output 2024-05-10 14:35:05 +02:00
README.md add nixpkgs.hostplatform by default 2024-04-29 12:22:22 +02:00

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
├── lib                 # helper functions
├── modules             # NixOS modules
└── pkgs                # nixpkgs overlays