@@ -20,7 +20,9 @@ import Language.Nix.PrettyPrinting as PP
2020data OverrideConfig = OverrideConfig
2121 { _ocGhc :: !Version
2222 , _ocStackagePackages :: !FilePath
23− , _ocStackageConfig :: !FilePath }
23+ , _ocStackageConfig :: !FilePath
24+ , _ocNixpkgs :: !FilePath
25+ }
2426
2527makeLenses ''OverrideConfig
2628
@@ -43,20 +45,16 @@ importStackagePackages path = hsep
4345 , "}"
4446 ]
4547
46−importStackageConfig :: FilePath -> Doc
47−importStackageConfig path = hsep
48− [ "import", disp (fromString path :: Nix.FilePath), "{"
49− , "inherit pkgs;"
50− , "}"
51− ]
52−
5348callStackageConfig :: FilePath -> Doc
5449callStackageConfig path = hsep
5550 [ "callPackage", disp (fromString path :: Nix.FilePath), "{}"]
5651
5752overrideHaskellPackages :: OverrideConfig -> NonEmpty Derivation -> Doc
5853overrideHaskellPackages oc packages = vcat
59− [ funargs ["nixpkgs ? import <nixpkgs> {}"]
54+ [ funargs ["nixpkgs ? import "
55+ <> disp (fromString (oc ^. ocNixpkgs) :: Nix.FilePath)
56+ <> " {}"
57+ ]
6058 , ""
6159 , "with nixpkgs;"
6260 , "let"
@@ -74,10 +72,11 @@ overrideHaskellPackages oc packages = vcat
7472 , "};"
7573 , ""
7674 ]
77− , "in callPackage <nixpkgs/pkgs/development/haskell-modules> {"
75+ , "in callPackage (nixpkgs.path + \"/pkgs/development/haskell-modules\") {"
7876 , nest 2 $ vcat
7977 [ attr "ghc" ("pkgs.haskell.compiler." <> toNixGhcVersion (oc ^. ocGhc))
8078 , attr "compilerConfig" "self: extends pkgOverrides (extends stackageConfig (stackagePackages self))"
79+ , attr "haskellLib" "callPackage (nixpkgs.path + \"/pkgs/development/haskell-modules/lib.nix\") {}"
8180 ]
8281 , "}"
8382 ]