|
2 | 2 | description = "Mantis flake"; |
3 | 3 |
|
4 | 4 | inputs.flake-utils.url = "github:numtide/flake-utils"; |
5 | | - inputs.nixpkgs.url = "github:nixos/nixpkgs?rev=a98302aa9b9628915878a6ea9776c40a0bb02950"; |
| 5 | + inputs.nixpkgs.url = |
| 6 | + "github:nixos/nixpkgs?rev=a98302aa9b9628915878a6ea9776c40a0bb02950"; |
6 | 7 | inputs.sbt-derivation.url = "github:zaninime/sbt-derivation"; |
7 | 8 |
|
8 | | - outputs = { self, nixpkgs, flake-utils, sbt-derivation }: #, libsonic, libsonic-jnr }: |
| 9 | + outputs = { self, nixpkgs, flake-utils, sbt-derivation |
| 10 | + }: # , libsonic, libsonic-jnr }: |
9 | 11 | let |
10 | 12 | overlay = import ./nix/overlay.nix self.rev; |
11 | | - pkgsForSystem = system: (import nixpkgs) { |
12 | | - inherit system; overlays = [ |
13 | | - #libsonic.overlay |
14 | | - #libsonic-jnr.overlay |
15 | | - sbt-derivation.overlay |
16 | | - overlay |
17 | | - ]; |
18 | | - }; |
| 13 | + pkgsForSystem = system: |
| 14 | + (import nixpkgs) { |
| 15 | + inherit system; |
| 16 | + overlays = [ |
| 17 | + #libsonic.overlay |
| 18 | + #libsonic-jnr.overlay |
| 19 | + sbt-derivation.overlay |
| 20 | + overlay |
| 21 | + ]; |
| 22 | + }; |
19 | 23 |
|
20 | 24 | mkHydraUtils = mkPkgs: |
21 | 25 | let |
|
24 | 28 | # [attrset] -> attrset |
25 | 29 | recursiveMerge = libPkgs.lib.foldr libPkgs.lib.recursiveUpdate { }; |
26 | 30 | mkHydraJobsForSystem = attrs: system: |
27 | | - recursiveMerge (map (n: { "${n}"."${system}" = (mkPkgs system)."${n}"; }) attrs); |
28 | | - in |
29 | | - { |
| 31 | + recursiveMerge |
| 32 | + (map (n: { "${n}"."${system}" = (mkPkgs system)."${n}"; }) attrs); |
| 33 | + in { |
30 | 34 | collectHydraSets = jobSets: { hydraJobs = recursiveMerge jobSets; }; |
31 | | - mkHydraSet = attrs: systems: recursiveMerge (map (mkHydraJobsForSystem attrs) systems); |
| 35 | + mkHydraSet = attrs: systems: |
| 36 | + recursiveMerge (map (mkHydraJobsForSystem attrs) systems); |
32 | 37 | }; |
33 | 38 |
|
34 | 39 | hydraUtils = mkHydraUtils pkgsForSystem; |
35 | 40 | inherit (hydraUtils) collectHydraSets mkHydraSet; |
36 | 41 |
|
37 | | - in |
38 | | - flake-utils.lib.eachDefaultSystem |
39 | | - (system: rec { |
40 | | - pkgs = pkgsForSystem system; |
41 | | - legacyPackages = pkgs; |
| 42 | + in flake-utils.lib.eachDefaultSystem (system: rec { |
| 43 | + pkgs = pkgsForSystem system; |
| 44 | + legacyPackages = pkgs; |
42 | 45 |
|
43 | | - defaultPackage = pkgs.mantis; |
44 | | - devShell = pkgs.mkShell { |
45 | | - nativeBuildInputs = with pkgs; [ solc sbt ]; |
46 | | - }; |
47 | | - apps.mantis = flake-utils.lib.mkApp { drv = pkgs.mantis; }; |
48 | | - defaultApp = apps.mantis; |
49 | | - }) // (collectHydraSets [ |
50 | | - (mkHydraSet [ "mantis" ] [ "x86_64-linux" ]) |
51 | | - (mkHydraSet [ "mantis-entrypoint" ] [ "x86_64-linux" ]) |
52 | | - (mkHydraSet [ "retesteth" ] [ "x86_64-linux" ]) |
53 | | - (mkHydraSet [ "lllc" ] [ "x86_64-linux" ]) |
54 | | - ]); |
| 46 | + defaultPackage = pkgs.mantis; |
| 47 | + devShell = pkgs.mkShell { nativeBuildInputs = with pkgs; [ solc sbt ]; }; |
| 48 | + apps.mantis = flake-utils.lib.mkApp { drv = pkgs.mantis; }; |
| 49 | + defaultApp = apps.mantis; |
| 50 | + }) // (collectHydraSets |
| 51 | + (map (name: mkHydraSet [ name ] [ "x86_64-linux" ]) [ |
| 52 | + "jdk8" |
| 53 | + "lllc" |
| 54 | + "mantis" |
| 55 | + "mantis-entrypoint" |
| 56 | + "netcat-gnu" |
| 57 | + "retesteth" |
| 58 | + "sbt" |
| 59 | + "solc" |
| 60 | + ])); |
55 | 61 | } |
0 commit comments