{ pkgs ? import {} , ghc ? null # "ghc8102" , withHoogle ? false #, symantic-base ? null }: let haskellPackages = if ghc == null then pkgs.haskellPackages else pkgs.haskell.packages.${ghc}; hs = haskellPackages.extend (with pkgs.haskell.lib; hself: hsuper: { symantic-base = hself.callCabal2nix "symantic-base" (pkgs.fetchgit { url = "git://git.sourcephile.fr/haskell/symantic-base"; sha256 = "sha256-I636Kl+S93BDX1xrEMQdf217pLeT6FeF4BBpj83sEgQ="; }) {}; } // packageSourceOverrides { symantic-parser = ./.; } hself hsuper ); in hs.symantic-parser // { shell = hs.shellFor { packages = p: [ p.symantic-parser ]; nativeBuildInputs = [ hs.cabal-install hs.haskell-language-server ]; buildInputs = [ #hs.ghcid #hs.ormolu hs.hlint #pkgs.nixpkgs-fmt ]; inherit withHoogle; }; }