summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ci.nix6
-rw-r--r--repo/ci.nix10
2 files changed, 9 insertions, 7 deletions
diff --git a/lib/ci.nix b/lib/ci.nix
new file mode 100644
index 0000000..7a01e39
--- /dev/null
+++ b/lib/ci.nix
@@ -0,0 +1,6 @@
+{lib, ...}: ciSystems: {
+ getOutputs = lib.getAttrs ciSystems;
+
+ mapCfgsToDerivs = lib.mapAttrs (_: cfg: cfg.activationPackage or cfg.config.system.build.toplevel);
+ getCompatibleCfgs = lib.filterAttrs (_: cfg: lib.elem cfg.pkgs.system ciSystems);
+}
diff --git a/repo/ci.nix b/repo/ci.nix
index e33c088..8538d28 100644
--- a/repo/ci.nix
+++ b/repo/ci.nix
@@ -5,24 +5,20 @@
}: {
flake.hydraJobs = let
ciSystems = ["x86_64-linux"];
-
- getOutputs = lib.getAttrs ciSystems;
-
- mapCfgsToDerivs = lib.mapAttrs (_: cfg: cfg.activationPackage or cfg.config.system.build.toplevel);
- getCompatibleCfgs = lib.filterAttrs (_: cfg: lib.elem cfg.pkgs.system ciSystems);
+ ci = self.lib.ci ciSystems;
in
builtins.foldl' lib.recursiveUpdate {} [
(
lib.genAttrs
["nixosConfigurations" "homeConfigurations"]
(
- type: mapCfgsToDerivs (getCompatibleCfgs self."${type}")
+ type: ci.mapCfgsToDerivs (ci.getCompatibleCfgs self."${type}")
)
)
(
lib.genAttrs
["checks" "devShells"]
- (type: getOutputs self.${type})
+ (type: ci.getOutputs self.${type})
)
];
}