@@ -26,6 +26,9 @@ data OverrideConfig = OverrideConfig
2626
2727makeLenses ''OverrideConfig
2828
29+systemNixpkgs :: Doc
30+systemNixpkgs = "<nixpkgs>"
31+
2932hasField :: Lens' a (Maybe b) -> a -> Bool
3033hasField p = views p isJust
3134
@@ -50,11 +53,15 @@ callStackageConfig path = hsep
5053 [ "callPackage", disp (fromString path :: Nix.FilePath), "{}"]
5154
5255overrideHaskellPackages :: OverrideConfig -> NonEmpty Derivation -> Doc
53−overrideHaskellPackages oc packages = vcat
54− [ funargs ["nixpkgs ? import "
55− <> disp (fromString (oc ^. ocNixpkgs) :: Nix.FilePath)
56− <> " {}"
57− ]
56+overrideHaskellPackages oc packages =
57+ let
58+ nixpkgs = if oc ^. ocNixpkgs . to fromString == systemNixpkgs
59+ then systemNixpkgs
60+ else (disp . (fromString :: FilePath -> Nix.FilePath)) (oc ^. ocNixpkgs)
61+ in vcat
62+ [ funargs
63+ [ "nixpkgs ? import " <> nixpkgs <> " {}"
64+ ]
5865 , ""
5966 , "with nixpkgs;"
6067 , "let"