git.iko.soy/typeable/stackage2nix
on master help sign in
Fix nixpkgs override
commitb5c891890aa162f3744639a1686f284a0bbf0415 authorDmitry Bushev <bushevdv@gmail.com> dateMon 21 Aug 2017, 17:52 (9 years ago) parent024a5c7
1 file changed+12−5
src/Distribution/Nixpkgs/Haskell/Stack/PrettyPrinting.hs+12−5
src/Distribution/Nixpkgs/Haskell/Stack/PrettyPrinting.hs+12−5
@@ -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"