summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseth <[email protected]>2023-12-30 04:52:14 -0500
committerseth <[email protected]>2023-12-30 04:52:14 -0500
commita4b2071887255a1bcbfa3613297cbc31fe03c1db (patch)
tree57e4b9842895a1c3dc7ac47de5e129e2318392d2
parentd4d1100fa6c291f0d1456703c25ccfeb0c3b9a9d (diff)
ci: little cleanup for hydraJobs
-rw-r--r--dev/ci.nix23
1 files changed, 14 insertions, 9 deletions
diff --git a/dev/ci.nix b/dev/ci.nix
index 6f47da1..a2da068 100644
--- a/dev/ci.nix
+++ b/dev/ci.nix
@@ -5,25 +5,30 @@
}: {
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);
in
lib.attrsets.mergeAttrsList [
{
checks = getOutputs self.checks;
devShells = getOutputs self.devShells;
- homeConfigurations = lib.mapAttrs (_: v:
- lib.mapAttrs (_: v: v.activationPackage) v.homeConfigurations)
- (getOutputs self.legacyPackages);
+
+ homeConfigurations = let
+ legacyPackages = getOutputs self.legacyPackages;
+ in
+ lib.mapAttrs (_: v: mapCfgsToDerivs v.homeConfigurations) legacyPackages;
}
(
let
- toDerivs = lib.mapAttrs (_: configuration: configuration.config.system.build.toplevel);
- toCompatible = lib.filterAttrs (_: configuration: lib.elem configuration.pkgs.system ciSystems);
- getConfigurationsFor = type: toDerivs (toCompatible self.${type});
- in {
- nixosConfigurations = getConfigurationsFor "nixosConfigurations";
- }
+ mapCfgsToDerivs' = type: mapCfgsToDerivs (getCompatibleCfgs self.${type});
+ in
+ lib.attrsets.mergeAttrsList (map mapCfgsToDerivs' [
+ # "darwinConfigurations"
+ "nixosConfigurations"
+ ])
)
];
}