summaryrefslogtreecommitdiff
path: root/repo/ci.nix
diff options
context:
space:
mode:
Diffstat (limited to 'repo/ci.nix')
-rw-r--r--repo/ci.nix49
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
+ );
+ };
}