/
default.nix
38 lines (33 loc) · 1.01 KB
/
default.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
{ system ? builtins.currentSystem
, crossSystem ? null
, config ? { }
, overlays ? [ ]
, sourcesOverride ? { }
, sources
, isInFlake
, haskellNix
, checkMaterialization ? false
, enableHaskellProfiling ? false
}:
let
ownOverlays =
[
# Modifications to derivations from nixpkgs
(import ./overlays/nixpkgs-overrides.nix)
# fix r-modules
(import ./overlays/r.nix)
];
# haskell-nix has to be used differently in flakes/no-flakes scenarios:
# - When imported from flakes, 'haskellNix.overlay' needs to be passed here.
# - When imported from default.nix without flakes, default to haskellNix.overlays
haskellNixOverlays = if isInFlake then [ haskellNix.overlay ] else haskellNix.overlays;
extraOverlays = haskellNixOverlays ++ ownOverlays;
pkgs = import sources.nixpkgs {
inherit config system crossSystem;
overlays = extraOverlays ++ overlays;
};
plutus = import ./pkgs { inherit pkgs checkMaterialization enableHaskellProfiling sources; };
in
{
inherit pkgs plutus sources;
}