- Move over `auto.confirmations.confirmations`' default value to a
separate module (clearing out the associated `TODO`)
- Create a module type for the `meta` of each `configurationType`,
which streamlines the definition and checking thereof
- Pass `meta` instead of just `host` to `predicate`, `mkHost` and
`mkDeployNode`
- Move the `host != "__template__"` logic inside the default value for
`meta`'s `enable` option, leaving it (`enable`) as the main filtering
factor in the `configurations`' `predicate`s
- Combine `auto.configurations.result{Configurations,DeployNodes}` into
`auto.configurations.result.{configurations,deployNodes}`
Flatten down directory structure:
- From: `./hosts/${configuration-type}/${system}/{configuration,deploy}.nix`
- To: `./hosts/${configuration-type}/{meta,configuration}.nix`
Keep `system` and `deploy-rs` config in `meta.nix`
Update `flake.lock`
Also stop passing `outputs` around, prefer `inputs.self`
Also put all `auto_` in `readOnly` `internal` options
- `autoModules`, `autoConfigurations` and `autoPackages`
Do not export packages as overlay (causes an infinite recursion)
- this is documented on the two places it has effect on
-- in `./overlays/default.nix` and `./modules/flake/configurations.nix`
-- in `autoConfigurations` we manually extend `pkgs` with the flake packages
Allow packages to say what `systems` they are compatible with
- See `./pkgs/swww/systems.nix` - disabled for all systems
- See `./pkgs/pngpaste/systems.nix` - enabled only for `darwin` targets
Can now also build with (1) instead of just (2)
- `nix build .#topology`
(from `legacyPackages`, hidden in `nix flake show`)
- `nix build .#topology.${system}.config.output`
(raw flake output)