diff options
Diffstat (limited to 'repo/ci.nix')
| -rw-r--r-- | repo/ci.nix | 49 |
1 files changed, 27 insertions, 22 deletions
diff --git a/repo/ci.nix b/repo/ci.nix index 8538d28..05fd106 100644 --- a/repo/ci.nix +++ b/repo/ci.nix @@ -1,24 +1,29 @@ -{ - lib, - self, - ... -}: { - flake.hydraJobs = let - ciSystems = ["x86_64-linux"]; - ci = self.lib.ci ciSystems; - in - builtins.foldl' lib.recursiveUpdate {} [ - ( - lib.genAttrs - ["nixosConfigurations" "homeConfigurations"] - ( - type: ci.mapCfgsToDerivs (ci.getCompatibleCfgs self."${type}") - ) - ) - ( - lib.genAttrs - ["checks" "devShells"] - (type: ci.getOutputs self.${type}) - ) +{self, ...}: { + perSystem = { + lib, + pkgs, + system, + self', + ... + }: let + ci = self.lib.ci [system]; + + configurations = map (type: ci.mapCfgsToDerivs (ci.getCompatibleCfgs self.${type})) [ + "nixosConfigurations" + "darwinConfigurations" + "homeConfigurations" ]; + + required = lib.concatMap lib.attrValues ( + [ + self'.checks + self'.devShells + ] + ++ configurations + ); + in { + packages.ciGate = pkgs.writeText "ci-gate" ( + lib.concatMapStringsSep "\n" toString required + ); + }; } |
