Commit graph

23 commits

Author SHA1 Message Date
31f9e7dbef
style(flake)!: manually import lib flake module
- Also make `lib` an `internal` option
- Unify let blocks and move them under `imports`
  (makes it clear where `config.lib` comes from)
- Fix a minor typo
2024-09-07 20:51:57 +03:00
137cab1aed
refactor(flake)!: use the module system for configurations' meta.nix
- 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}`
2024-09-05 23:37:49 +03:00
9c709598d1
feat(secrets): declare agenix-rekey hostPubkey in meta 2024-09-02 21:52:40 +03:00
eb53390b5a
chore(topology): inherit indentation 2024-09-01 17:41:59 +03:00
479c86c003
feat(configurations): add enable to meta
Disable old `darwin` configurations (`apavel-a01` and `limontozu`)
2024-09-01 17:36:20 +03:00
7956cfd20a
refactor(flake)!: flake.autoStuff -> auto.stuff
Avoids infinite recursion in `auto.configurations` and `auto.modules`
Can now fully dynamically define `configuration` and `module` types
2024-09-01 04:29:32 +03:00
26e58b8f24
chore(topology): cleanup
`cheetah` name typo
explicit use of `builtins`
(also added `-monitor` to `magick` but it does not seem to help much)
2024-08-27 23:32:42 +03:00
9b8f894a1a
feat(configurations)!: flatten down, introduce meta.nix
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`
2024-08-13 15:59:45 +03:00
29738555b1
feat(shells)!: redefine in terms of createThings 2024-08-05 01:12:54 +03:00
5fa16c98ce
chore(packages): indentation 2024-08-04 03:12:58 +03:00
51e8fafec6
feat(overlays)!: redefine in terms of createThings 2024-08-04 03:10:58 +03:00
7cf980d913
feat(lib)!: add createThings
Redefine `createPackages` and `createModules` in terms of `createThings`
Move `lib` flake module to a subdirectory
2024-08-04 02:57:15 +03:00
4e3733178e
feat(packages)!: add support for dream2nix
Also convert `sdcv` to use `dream2nix`
2024-08-02 10:31:26 +03:00
db88731eba
refactor(flake): move flake modules into separate subdirectories
Also put `outputs` before `inputs` in `flake.nix` (readability)
2024-08-01 13:26:56 +03:00
c070f48d5e
refactor(utils)!: promote to a flake module
Accessible through `config.lib`
2024-07-29 02:11:32 +03:00
2941536b80
refactor(flake)!: export packages using a flake module
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
2024-07-29 01:54:22 +03:00
8b0d2b1e51
fix(configurations)!: correctly set home-manager root 2024-07-28 02:36:34 +03:00
f90ac47d91
feat(topology): add legacyPackages package for convenience
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)
2024-07-27 13:39:33 +03:00
c9b5210325
feat(configurations)!: {lib -> inputs.nixpkgs.lib}.nixosSystem 2024-07-27 13:14:58 +03:00
a881c5d7e1
refactor(flake)!: machines -> hosts 2024-07-27 13:04:48 +03:00
719b12e431
fix(configuration-types)!: consolidate names with upstream
`nixDarwin{Machines,Modules}` -> `darwin{Machines,Modules}`
2024-07-25 12:21:59 +03:00
91f0deb3bc
feat(flake)!: *dogfood* on all flake modules
Export all `./nix/` flake modules
Modularize `configurations` on `machines` dir
Also move `toposort` images to a single attrset binding
2024-07-25 01:25:21 +03:00
e832c6558a
feat(flake): start using flake-parts
Deprecate `util`'s `forEachSystem` and `forEachPkgs`
Use `flake-parts`'s `mkFlake`
Export `flakeModules`
2023-12-31 19:00:18 +02:00