{ pkgs ? import sources.nixpkgs { overlays = [ (import ./pkgs { }) ]; } , sources ? import ./nix/sources.nix }: let haskellPackages = pkgs.haskell.packages.ghc98; jsHaskellPackages = pkgs.pkgsCross.ghcjs.haskell.packages.ghc98; in rec { inherit (haskellPackages) backend cli; inherit (jsHaskellPackages) frontend; shell = haskellPackages.shellFor { packages = _: [ haskellPackages.autotypes haskellPackages.backend haskellPackages.cli haskellPackages.common haskellPackages.cli haskellPackages.frontend ]; buildInputs = [ haskellPackages.astore haskellPackages.autotypes haskellPackages.cabal-install haskellPackages.haskell-language-server haskellPackages.ormolu pkgs.niv (pkgs.writeScriptBin "reload" '' set -efu ${haskellPackages.ghcid.bin}/bin/ghcid -c \ '${haskellPackages.cabal-install}/bin/cabal new-repl' \ -T ':run Main.main' '') ]; withHoogle = true; withHaddock = true; }; }