blob: e6d7d0126016a33a0d29654ddb408eaabdc571c2 (
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
36
37
|
let
sources = import ./Sources.nix { sourcesFile = ./Sources.json; };
in
import sources.nixpkgs {
system = __currentSystem;
overlays = [
(_: _: { inherit sources; })
(_: pkgs: {
# Given a generic `builder`, will generate an attrset for all the packages
# pinned by `deps` with `builder` applied to the package. This attrset can
# then be merged with the rest of the packages in the set as part of an
# overlay or overrides.
overridePinnedDeps = builder:
pkgs.lib.genAttrs (builtins.attrNames pkgs.sources) builder;
})
(_: pkgs: {
# Modifies a derivation with our source and version, keeping old build
# rules. This will fail if build steps have changed, or if no build
# rules are available upstream.
overrideSource = depName:
pkgs.${depName}.overrideAttrs (old: old // rec {
version = pkgs.sources.${depName}.version or pkgs.sources.${depName}.rev;
src = pkgs.sources.${depName};
});
})
(_: pkgs:
# override pinned deps with our sources
pkgs.overridePinnedDeps pkgs.overrideSource)
(import ./Deps.nix)
(_: pkgs: { niv = import pkgs.sources.niv {}; })
];
config = {
allowBroken = true;
allowUnfree = true;
cudaSupport = true;
};
}
|