nix infra
Find a file
2024-04-29 15:22:48 +02:00
config added integra 2024-04-29 15:22:48 +02:00
lib/shinyflakes added integra 2024-04-29 15:22:48 +02:00
modules minor flake refactor 2024-04-27 19:34:17 +02:00
pkgs added nyastodon config 2024-04-25 20:50:06 +02:00
.gitignore gitignore 2024-01-12 15:14:17 +01:00
flake.lock flake.lock: Update 2024-04-05 16:31:56 +02:00
flake.nix added integra 2024-04-29 15:22:48 +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