{ pkgs ? import sources.nixpkgs { overlays = [ (import ./pkgs { inherit (pkgs.haskell) lib; }) (self: super: { haskell = super.haskell // { packageOverrides = self.lib.composeManyExtensions [ (super.haskell.packageOverrides or (self: super: self)) (self: super: { ghcWithPackages = super.ghcWithPackages.override { installDocumentation = false; # XXX true (default) }; }) ]; }; }) ]; } , sources ? import ./nix/sources.nix }: let ghc = "ghc910"; haskellPackages = pkgs.pkgsCross.ghcjs.haskell.packages.${ghc}; acms = (import sources.acms { }).acms; in rec { inherit haskellPackages; inherit (haskellPackages) achat; shell = haskellPackages.shellFor { packages = _: [ haskellPackages.achat ]; nativeBuildInputs = [ acms pkgs.haskell.packages.${ghc}.cabal-install pkgs.haskell.packages.${ghc}.ormolu ]; shellHook = '' export EM_CACHE="${toString ./.}/.emcache" # nixos/nixpkgs#282509 ''; }; }