forked from nix-community/dream2nix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
43 lines (38 loc) · 981 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
37
38
39
40
41
42
43
{
inputs = {
dream2nix.url = "path:../..";
src.url = "github:BurntSushi/ripgrep/13.0.0";
src.flake = false;
};
outputs = inp: let
l = inp.dream2nix.inputs.nixpkgs.lib // builtins;
allPkgs =
l.map
(system: inp.dream2nix.inputs.nixpkgs.legacyPackages.${system})
["x86_64-linux" "aarch64-linux"];
initD2N = pkgs:
inp.dream2nix.lib.init {
inherit pkgs;
config.projectRoot = ./.;
};
makeOutputs = pkgs: let
outputs = (initD2N pkgs).makeOutputs {
source = inp.src;
settings = [
{
builder = "build-rust-package";
translator = "cargo-lock";
}
];
};
in rec {
packages.${pkgs.system} = outputs.packages;
checks.${pkgs.system} = {
inherit (outputs.packages) ripgrep;
};
};
allOutputs = l.map makeOutputs allPkgs;
outputs = l.foldl' l.recursiveUpdate {} allOutputs;
in
outputs;
}