···161161 # : { root : Path
162162 # , source-overrides : Defaulted (Either Path VersionNumber)
163163 # , overrides : Defaulted (HaskellPackageOverrideSet)
164164+ # , modifier : Defaulted
164165 # } -> NixShellAwareDerivation
165166 # Given a path to a haskell package directory whose cabal file is
166167 # named the same as the directory name, an optional set of
167168 # source overrides as appropriate for the 'packageSourceOverrides'
168168- # function, and an optional set of arbitrary overrides,
169169- # return a derivation appropriate for nix-build or nix-shell
170170- # to build that package.
171171- developPackage = { root, source-overrides ? {}, overrides ? self: super: {} }:
169169+ # function, an optional set of arbitrary overrides, and an optional
170170+ # haskell package modifier, return a derivation appropriate
171171+ # for nix-build or nix-shell to build that package.
172172+ developPackage = { root, source-overrides ? {}, overrides ? self: super: {}, modifier ? drv: drv }:
172173 let name = builtins.baseNameOf root;
173174 drv =
174175 (extensible-self.extend (pkgs.lib.composeExtensions (self.packageSourceOverrides source-overrides) overrides)).callCabal2nix name root {};
175175- in if pkgs.lib.inNixShell then drv.env else drv;
176176+ in if pkgs.lib.inNixShell then (modifier drv).env else modifier drv;
176177177178 ghcWithPackages = selectFrom: withPackages (selectFrom self);
178179