about summary refs log tree commit diff
path: root/lib/mk_system.nix
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 /lib/mk_system.nix
parentb311d7f8459fe1e90f7b0cbf5862b22a2cbedff5 (diff)
downloadnixrc-686390149fb250054fea5de87a068adc44b0e394.tar.gz
nixrc-686390149fb250054fea5de87a068adc44b0e394.zip
feat(flake): generate colmena from nixosConfigurations
Diffstat (limited to 'lib/mk_system.nix')
-rw-r--r--lib/mk_system.nix22
1 files changed, 12 insertions, 10 deletions
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;
+}