@@ -1,4 +1,4 @@
1−{ lib, stdenv, glibcLocales, pkgconfig, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, buildPackages, compiler }:
1+{ lib, stdenv, mkShell, glibcLocales, pkgconfig, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, buildPackages, compiler }:
22
33{ # `packages` function selects packages that will be worked on in the shell itself.
44 # These packages will not be built by `shellFor`, but their
@@ -20,7 +20,6 @@
2020, withHoogle ? true
2121, exactDeps ? false
2222, tools ? {}
23−, otherShells ? [] # List of other shells to include in this one
2423, ... } @ args:
2524
2625let
@@ -117,19 +116,17 @@ let
117116 }
118117 ));
119118
120− mkDrvArgs = builtins.removeAttrs args ["packages" "additional" "withHoogle" "tools" "otherShells"];
119+ mkDrvArgs = builtins.removeAttrs args ["packages" "additional" "withHoogle" "tools"];
121120in
122− stdenv.mkDerivation (mkDrvArgs // {
121+ mkShell (mkDrvArgs // {
123122 name = mkDrvArgs.name or name;
124123
125124 buildInputs = systemInputs
126− ++ mkDrvArgs.buildInputs or []
127− ++ lib.concatMap (s: s.buildInputs) otherShells;
125+ ++ mkDrvArgs.buildInputs or [];
128126 nativeBuildInputs = [ ghcEnv ]
129127 ++ nativeBuildInputs
130128 ++ mkDrvArgs.nativeBuildInputs or []
131129 ++ lib.attrValues (buildPackages.haskell-nix.tools compiler.nix-name tools)
132− ++ lib.concatMap (s: s.nativeBuildInputs) otherShells
133130 # If this shell is a cross compilation shell include
134131 # wrapper script for running cabal build with appropriate args.
135132 ++ lib.optional (ghcEnv.targetPrefix != "") (