|
1 |
| -let haskellNix = { |
2 |
| - checkMaterialization ? false, # Allows us to easily switch on materialization checking |
3 |
| - defaultCompilerNixName ? null, # Quick way to override the default compiler e.g. "ghc883" |
4 |
| - system ? builtins.currentSystem, |
5 |
| - sourcesOverride ? {}, |
6 |
| - ... }@args: rec { |
7 |
| - sources = (import ./nix/sources.nix) // sourcesOverride; |
| 1 | +{ checkMaterialization ? false # Allows us to easily switch on materialization checking |
| 2 | +, defaultCompilerNixName ? null # Quick way to override the default compiler e.g. "ghc883" |
| 3 | +, system ? builtins.currentSystem |
| 4 | +, sourcesOverride ? {} |
| 5 | +, ... }@args: rec { |
| 6 | + sources = (import ./nix/sources.nix) // sourcesOverride; |
8 | 7 |
|
9 |
| - config = import ./config.nix; |
10 |
| - overlays = [ allOverlays.combined ] ++ ( |
11 |
| - if checkMaterialization == true |
12 |
| - then [( |
13 |
| - final: prev: { |
14 |
| - haskell-nix = prev.haskell-nix // { |
15 |
| - checkMaterialization = true; |
16 |
| - }; |
17 |
| - } |
18 |
| - )] |
19 |
| - else [] |
20 |
| - ) ++ ( |
21 |
| - if defaultCompilerNixName != null |
22 |
| - then [( |
23 |
| - final: prev: { |
24 |
| - haskell-nix = prev.haskell-nix // { |
25 |
| - inherit defaultCompilerNixName; |
26 |
| - }; |
27 |
| - } |
28 |
| - )] |
29 |
| - else [] |
30 |
| - ); |
31 |
| - allOverlays = import ./overlays args; |
32 |
| - nixpkgsArgs = { inherit config overlays system; }; |
33 |
| - pkgs = import sources.nixpkgs-default nixpkgsArgs; |
34 |
| - }; |
35 |
| - |
36 |
| - haskellNixV1 = (haskellNix {}).nixpkgsArgs; |
37 |
| - haskellNixV2 = haskellNix; |
38 |
| - |
39 |
| - v1DeprecationMessage = "Version 1 is deprecated: use version 2 (nixpkgs arguments are available as the `nixpkgsArgs` attribute of version 2)"; |
40 |
| -# If no arguments, then you get V1 |
41 |
| -# I'd like to make importing directly issue a warning, but I couldn't figure out a way to make it happen |
42 |
| -in haskellNixV1 // { |
43 |
| - __functor = _: { version ? 2, ... }@args: |
44 |
| - if version == 1 |
45 |
| - then builtins.trace v1DeprecationMessage haskellNixV1 |
46 |
| - else if version == 2 |
47 |
| - then haskellNixV2 args |
48 |
| - else builtins.throw ("haskell.nix: unknown version: " + (builtins.toString version)); |
| 8 | + config = import ./config.nix; |
| 9 | + overlays = [ allOverlays.combined ] ++ ( |
| 10 | + if checkMaterialization == true |
| 11 | + then [( |
| 12 | + final: prev: { |
| 13 | + haskell-nix = prev.haskell-nix // { |
| 14 | + checkMaterialization = true; |
| 15 | + }; |
| 16 | + } |
| 17 | + )] |
| 18 | + else [] |
| 19 | + ) ++ ( |
| 20 | + if defaultCompilerNixName != null |
| 21 | + then [( |
| 22 | + final: prev: { |
| 23 | + haskell-nix = prev.haskell-nix // { |
| 24 | + inherit defaultCompilerNixName; |
| 25 | + }; |
| 26 | + } |
| 27 | + )] |
| 28 | + else [] |
| 29 | + ); |
| 30 | + allOverlays = import ./overlays args; |
| 31 | + nixpkgsArgs = { inherit config overlays system; }; |
| 32 | + pkgs = import sources.nixpkgs-default nixpkgsArgs; |
49 | 33 | }
|
0 commit comments