diff options
| author | seth <[email protected]> | 2023-12-28 23:01:41 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2023-12-28 23:01:41 -0500 |
| commit | ab3ea6d89795f0413b0e7a4b5c65bff989f7f284 (patch) | |
| tree | a0170377a81b34f75a120d7889ab691f1d2d6741 /dev/ci.nix | |
| parent | 0293681c28ff303b2842ad70e4c4ee7d49db9a6f (diff) | |
ci: make hydraJobs a bit neater
Diffstat (limited to 'dev/ci.nix')
| -rw-r--r-- | dev/ci.nix | 34 |
1 files changed, 17 insertions, 17 deletions
@@ -5,29 +5,29 @@ }: { flake.hydraJobs = let ciSystems = ["x86_64-linux" "x86_64-darwin"]; - recursiveMerge = builtins.foldl' lib.recursiveUpdate {}; + getOutputs = lib.getAttrs ciSystems; in - recursiveMerge [ - (let - outputs = lib.getAttrs ["checks" "devShells"] self; - isCompatible = system: _: lib.elem system ciSystems; - in - lib.mapAttrs (_: lib.filterAttrs isCompatible) outputs) + 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); + } ( let - configurations = - lib.getAttrs [ - "nixosConfigurations" - "darwinConfigurations" - "homeConfigurations" - ] - self; + 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}); - isCompatible = _: configuration: lib.elem configuration.pkgs.system ciSystems; - toDeriv = _: configuration: configuration.config.system.build.toplevel or configuration.activationPackage; + configurations = [ + "nixosConfigurations" + "darwinConfigurations" + ]; in - lib.mapAttrs (_: v: lib.mapAttrs toDeriv (lib.filterAttrs isCompatible v)) configurations + lib.genAttrs configurations getConfigurationsFor ) ]; } |
