# nixos-configs

NixOS configurations for the machines I manage.

Currently managed systems:

- **blocktech**: My current laptop, a ThinkPad P1. It has two flavours:
  - Default running GNOME
  - Specialisation running Cosmic
- **gamepc**: My gaming PC running Cinnamon
- **warwick**: A Raspberry Pi 4 Model B, which mostly does some monitoring
- **atlas**: A Gigabyte Brix, one of my Kubernetes nodes
- **jefke**: A Gigabyte Brix, one of my Kubernetes nodes
- **lewis**: A Gigabyte Brix, one of my Kubernetes nodes. Additionally, contains
  my media collection and does backups.

## Deployment

I use [Colmena](https://colmena.cli.rs) for deploying my machines.

Create garbage collection roots like so:

```
colmena build --keep-result --experimental-flake-eval
```

To apply to the local machine:

```
sudo colmena apply-local --sudo --experimental-flake-eval
```

To apply to all remotely managed systems:

```
colmena apply --experimental-flake-eval
```

> [!NOTE]
> Currently the `--experimental-flake-eval` flag is necessary to properly use
> Colmena with flakes. See
> [this PR](https://github.com/zhaofengli/colmena/pull/228).