-
Notifications
You must be signed in to change notification settings - Fork 13
/
flake.nix
36 lines (33 loc) · 989 Bytes
/
flake.nix
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
36
{
outputs = _: let
systems = [ "x86_64-linux" ];
# let's use niv instead of flake inputs
sources = import nix/sources.nix;
pkgs = import sources.nixpkgs { system = builtins.head systems; };
inherit (pkgs) lib;
in {
hydraJobs = lib.genAttrs systems (system: let
exposed = import ./. {
inherit sources;
pkgs = import sources.nixpkgs { inherit system; };
};
specsDerivationsPackages = key: lib.mapAttrs'
(k: lib.nameValuePair "${key}-${k}")
(lib.filterAttrs (k: v: builtins.elem k [ "docs" "hsExe" ]) exposed.${key});
jobs = {
inherit (exposed)
agda
agdaWithDeps
latex
formalLedger;
} //
specsDerivationsPackages "ledger" //
specsDerivationsPackages "midnight";
in jobs // {
required = pkgs.releaseTools.aggregate {
name = "required";
constituents = lib.collect lib.isDerivation jobs;
};
});
};
}