From a4b2071887255a1bcbfa3613297cbc31fe03c1db Mon Sep 17 00:00:00 2001 From: seth Date: Sat, 30 Dec 2023 04:52:14 -0500 Subject: ci: little cleanup for hydraJobs --- dev/ci.nix | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'dev/ci.nix') 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" + ]) ) ]; } -- cgit v1.2.3