{ pkgs ? import {} , ghc ? null # "ghc901" , withHoogle ? false , inputs , ... }: let haskellPackages = if ghc == null then pkgs.haskellPackages else pkgs.haskell.packages.${ghc}; hs = haskellPackages.extend (with pkgs.haskell.lib; hself: hsuper: { symantic-compta = buildFromSdist (hself.callCabal2nix "symantic-compta" ./. {}); symantic-base = buildFromSdist (hself.callCabal2nix "symantic-base" inputs.symantic-base {}); symantic-formatter = buildFromSdist (hself.callCabal2nix "symantic-formatter" inputs.symantic-formatter {}); } ); in hs.symantic-compta // { shell = hs.shellFor { #doBenchmark = true; packages = p: [ p.symantic-compta ]; nativeBuildInputs = [ hs.cabal-install hs.ghcid #hs.haskell-language-server hs.doctest ]; buildInputs = [ ]; inherit withHoogle; }; }