@@ -18,6 +18,7 @@ import System.Info (os, arch)
1818import Data.Text (Text, unpack)
1919import Data.Maybe
2020import GHC.Paths (libdir)
21+import System.Environment
2122#if __GLASGOW_HASKELL__ >= 800
2223import GHC.LanguageExtensions
2324import GHCi.ObjLink
@@ -78,6 +79,8 @@ initScriptSession ghcPkgPaths = do
7879 handleGhcException excHandler $ runGhc (Just libdir) $ do
7980 dflags <- getSessionDynFlags
8081 let ghcVersion = projectVersion dflags
82+ -- get nix packages dir, if available
83+ mNixLibDir <- liftIO $ lookupEnv "NIX_GHC_LIBDIR"
8184
8285 sandboxPkgPaths <- liftIO $ concat <$> mapM glob [
8386 --"./dist-newstyle/packagedb/ghc-" ++ ghcVersion, --rely on cabal 3's ghc.environment install: "cabal install --lib project-m36"
@@ -89,7 +92,7 @@ initScriptSession ghcPkgPaths = do
8992 --homeDir </> ".cabal/store/ghc-" ++ ghcVersion ++ "/package.db"
9093 ]
9194
92− let localPkgPaths = map PkgConfFile (ghcPkgPaths ++ sandboxPkgPaths)
95+ let localPkgPaths = map PkgConfFile (ghcPkgPaths ++ sandboxPkgPaths ++ maybeToList mNixLibDir)
9396
9497 let dflags' = applyGopts . applyXopts $ dflags { hscTarget = HscInterpreted ,
9598 ghcLink = LinkInMemory,