aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2024-01-23 00:21:50 +0900
committersefidel <contact@sefidel.net>2024-01-23 01:05:04 +0900
commit686390149fb250054fea5de87a068adc44b0e394 (patch)
tree3da5a0455dca3ee9f75845a3c9a36b7f9bff4de0
parentb311d7f8459fe1e90f7b0cbf5862b22a2cbedff5 (diff)
downloadnixrc-686390149fb250054fea5de87a068adc44b0e394.zip
feat(flake): generate colmena from nixosConfigurations
-rw-r--r--flake.nix3
-rw-r--r--lib/mk_system.nix22
2 files changed, 13 insertions, 12 deletions
diff --git a/flake.nix b/flake.nix
index 9cb3aa9..bcfc778 100644
--- a/flake.nix
+++ b/flake.nix
@@ -41,8 +41,7 @@
homeConfigurations = import ./home inputs;
- packages.x86_64-linux = self.lib.nixosConfigurationsAsPackages.x86_64-linux
- // self.lib.homeConfigurationsAsPackages.x86_64-linux;
+ colmena = self.lib.mkColmenaFromNixOSConfigurations self.nixosConfigurations;
lib = lib.my;
};
diff --git a/lib/mk_system.nix b/lib/mk_system.nix
index 2aca550..ff51fef 100644
--- a/lib/mk_system.nix
+++ b/lib/mk_system.nix
@@ -28,13 +28,15 @@
] ++ nixpkgs.lib.optional (overlays != null) { nixpkgs.overlays = overlays; }
++ nixpkgs.lib.optionals (extraModules != null) extraModules;
}
- entryPoint
- hardware
- # TODO: import all modules (use mapModules?)
- ../modules/flakes.nix
- ../modules/nix.nix
- ../modules/nixpkgs.nix
- ] ++ nixpkgs.lib.optional (overlays != null) { nixpkgs.overlays = overlays; }
- ++ nixpkgs.lib.optionals (extraModules != null) extraModules;
- }
-)
+ );
+
+ mkColmenaFromNixOSConfigurations = conf:
+ {
+ meta = {
+ # Colmena requirement. Will be overridden in nodeNixpkgs.
+ nixpkgs = import unstable { system = "x86_64-linux"; };
+ nodeNixpkgs = builtins.mapAttrs (_: value: value.pkgs) conf;
+ nodeSpecialArgs = builtins.mapAttrs (_: value: value._module.specialArgs) conf;
+ };
+ } // builtins.mapAttrs (_: value: { imports = value._module.args.modules; }) conf;
+}