{ pkgs ? import {} , ghc ? null , withHoogle ? false }: let haskellPackages = if ghc == null then pkgs.haskellPackages else pkgs.haskell.packages.${ghc}; hs = haskellPackages.extend (with pkgs.haskell.lib; hself: hsuper: { #hakyll = unmarkBroken hsuper.hakyll; hakyll = hself.callHackage "hakyll" "4.13.4.1" {}; #hakyll-sass = unmarkBroken hsuper.hakyll-sass; hakyll-sass = hself.callHackage "hakyll-sass" "0.2.4" {}; # hakyll 4.13.4 requires pandoc 2.10 pandoc = hself.callHackage "pandoc" "2.10.1" {}; pandoc-types = hself.callHackage "pandoc-types" "1.21" {}; skylighting = hself.callHackage "skylighting" "0.8.5" {}; skylighting-core = hself.callHackage "skylighting-core" "0.8.5" {}; /* hakyll = appendConfigureFlags ((hself.callHackage "hakyll" "4.13.4.1" {})) ["-f-usePandoc" "-f-previewServer" "-f-watchServer"]; pandoc-sidenote = null; sourcephile_web = hself.callPackage ./sourcephile_web.nix {}; */ } // packageSourceOverrides { sourcephile_web = ./.; #sourcephile_web = ./sourcephile_web.nix; } hself hsuper ); in hs.sourcephile_web // { shell = hs.shellFor { packages = p: [ p.sourcephile_web ]; nativeBuildInputs = [ hs.cabal-install #hs.hpack hs.haskell-language-server #hs.hpc ]; buildInputs = [ #hs.ghcid #hs.ormolu #hs.hlint #pkgs.nixpkgs-fmt ]; inherit withHoogle; }; }