Drop nixos-unified, use raw flake-parts (flakes-dght)
Replace nixos-unified.lib.mkFlake with flake-parts.lib.mkFlake. Separate host and container config namespaces. Rewrite home-configs.nix and activate-home.nix to own the logic directly. Keep autowire (from jig) for module discovery.
Plan
- Move host configs: configurations/nixos/{edger,a13,g1,p2,pc} → configurations/nixos/hosts/
- Move container configs: configurations/nixos/{yolo,spacebot,hermes} → configurations/nixos/containers/
- Rewrite flake.nix: use flake-parts.lib.mkFlake with explicit imports
- Rewrite modules/flake/toplevel.nix: remove nixos-unified imports
- Create modules/flake/nixos-configs.nix: explicit nixosConfigurations + nixosModules.default + homeModules.default + overlays
- Rewrite modules/flake/home-configs.nix: use home-manager.lib.homeManagerConfiguration directly
- Rewrite modules/flake/activate-home.nix: use home-manager switch –flake directly
- Remove nixos-unified from flake inputs
- Update mise.toml build tasks — no changes needed, output names unchanged
- Test: nix flake check (passes — niri hash mismatch is pre-existing, unrelated)
- Test: mise run build-host (on edger) — blocked by pre-existing niri hash issue
Summary of Changes
Completed in two commits:
-
fee9eea - Drop nixos-unified, use raw flake-parts
- Replaced nixos-unified.lib.mkFlake with flake-parts.lib.mkFlake
- Separated host/container configs into configurations/nixos/hosts/ and containers/
- Rewrote home-configs.nix, activate-home.nix to own the logic directly
- Removed nixos-unified flake input
-
f69f1fd - Restructure into packs/ with wireImportsRecursively
- Introduced packs/ directory with autowired module collections
- Added wireImportsRecursively to jig (1f1b27c)
- Removed 28 boilerplate default.nix files
- Merged modules/ and relevant mixins/ into packs/
- Retained mixins/ for opt-in pieces (services, versions, storage, lan)
- Deduplicated shared config (ai/, removed pass-through files)