blob: 1eb78e3abdab4400f1e6e55c561e6938bce8f8de (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
{
lib,
self,
...
}: {
nix2workflow.output = self.hydraJobs;
flake.hydraJobs = let
ciSystems = ["x86_64-linux" "x86_64-darwin"];
recursiveMerge = builtins.foldl' lib.recursiveUpdate {};
in
recursiveMerge [
(let
outputs = lib.getAttrs ["checks" "devShells"] self;
isCompatible = system: _: lib.elem system ciSystems;
in
lib.mapAttrs (_: lib.filterAttrs isCompatible) outputs)
(
let
configurations =
lib.getAttrs [
"nixosConfigurations"
"darwinConfigurations"
"homeConfigurations"
]
self;
isCompatible = _: configuration: lib.elem configuration.pkgs.system ciSystems;
toDeriv = _: configuration: configuration.config.system.build.toplevel or configuration.activationPackage;
in
lib.mapAttrs (_: v: lib.mapAttrs toDeriv (lib.filterAttrs isCompatible v)) configurations
)
];
}
|