@@ -75,8 +75,8 @@ overrideHaskellPackages oc packages = vcat
75 , nest 2 "inherit pkgs stdenv;"
75 , nest 2 "inherit pkgs stdenv;"
76 , nest 2 "inherit (self) callPackage;"
76 , nest 2 "inherit (self) callPackage;"
78− , ""
78+ , attr "stackYamlPackages" (stackYamlPackages $ pkgName . packageId <$> packages)
80 , "in callPackage (nixpkgs.path + \"/pkgs/development/haskell-modules\") {"
80 , "in callPackage (nixpkgs.path + \"/pkgs/development/haskell-modules\") {"
81 , nest 2 $ vcat
81 , nest 2 $ vcat
82 [ attr "ghc" ("pkgs.haskell.compiler." <> nixGhc)
82 [ attr "ghc" ("pkgs.haskell.compiler." <> nixGhc)
@@ -86,7 +86,7 @@ overrideHaskellPackages oc packages = vcat
86 , attr "configurationCommon" "args: self: super: {}"
86 , attr "configurationCommon" "args: self: super: {}"
87 , "inherit haskellLib;"
87 , "inherit haskellLib;"
89− , "}"
89+ , "} // { inherit stackYamlPackages; }"
91 nixGhc = toNixGhcVersion (oc ^. ocGhc)
91 nixGhc = toNixGhcVersion (oc ^. ocGhc)
@@ -100,11 +100,12 @@ overrideStackage stackResolver nixpkgsPath packages = vcat
100 , nest 2 $ vcat
100 , nest 2 $ vcat
101 [ "stackPackages ="
101 [ "stackPackages ="
102 , nest 2 $ overridePackages packages <> semi
102 , nest 2 $ overridePackages packages <> semi
103+ , attr "stackYamlPackages" (stackYamlPackages $ pkgName . packageId <$> packages)
104 , "in nixpkgs.haskell.packages.stackage." <> toNixStackResolver stackResolver <> ".override {"
105 , "in nixpkgs.haskell.packages.stackage." <> toNixStackResolver stackResolver <> ".override {"
106 $ attr "packageSetConfig" "self: super: stackPackages { inherit (nixpkgs) pkgs stdenv; inherit (self) callPackage; } super"
107 $ attr "packageSetConfig" "self: super: stackPackages { inherit (nixpkgs) pkgs stdenv; inherit (self) callPackage; } super"
107− , "}"
108+ , "} // { inherit stackYamlPackages; }"
110pPrintHaskellPackages :: OverrideConfig -> Doc
111pPrintHaskellPackages :: OverrideConfig -> Doc
@@ -147,6 +148,15 @@ pPrintHaskellPackages oc = vcat
147 , "in extensible-self"
148 , "in extensible-self"
151+stackYamlPackages :: NonEmpty PackageName -> Doc
152+stackYamlPackages packages = hcat
155+ , text . intercalate " " $ NE.toList packageNames
158+ packageNames = unPackageName <$> packages
150toNixGhcVersion :: Version -> Doc
160toNixGhcVersion :: Version -> Doc
151toNixGhcVersion = (<>) "ghc" . toNixVersion . show . disp
161toNixGhcVersion = (<>) "ghc" . toNixVersion . show . disp