2024-01-17 20:06:54 +01:00
|
|
|
# emilys Nix Infra
|
|
|
|
|
2024-02-27 19:07:12 +01:00
|
|
|
## First deployment
|
|
|
|
|
2024-02-28 22:43:20 +01:00
|
|
|
### remote hosts
|
|
|
|
|
2024-02-27 19:07:12 +01:00
|
|
|
```console
|
|
|
|
$ nix run github:nix-community/nixos-anywhere -- --flake ".#<configuration>" root@<target-host>
|
|
|
|
```
|
|
|
|
|
2024-02-28 22:43:20 +01:00
|
|
|
### desktops
|
|
|
|
|
|
|
|
|
|
|
|
```console
|
|
|
|
$ 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>
|
|
|
|
```
|
|
|
|
|
|
|
|
|
2024-01-17 20:06:54 +01:00
|
|
|
## Deploy changes on ...
|
|
|
|
|
|
|
|
### all hosts
|
|
|
|
|
|
|
|
```console
|
|
|
|
$ colmena apply --on @production
|
|
|
|
```
|
|
|
|
|
|
|
|
### routers only
|
|
|
|
|
|
|
|
```console
|
|
|
|
$ colmena apply --on @router
|
|
|
|
```
|
2024-02-05 22:22:40 +01:00
|
|
|
## 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
|
|
|
|
```
|