diff options
-rw-r--r-- | default.nix | 107 |
1 files changed, 68 insertions, 39 deletions
diff --git a/default.nix b/default.nix index 25a1cc0..490b01d 100644 --- a/default.nix +++ b/default.nix @@ -1,4 +1,20 @@ -{ pkgs ? import sources.nixpkgs { overlays = [ (import ./pkgs { }) ]; } +{ pkgs ? import sources.nixpkgs { + overlays = [ + (import ./pkgs { }) + (self: super: { + haskell = super.haskell // { + packageOverrides = self.lib.composeManyExtensions [ + super.haskell.packageOverrides + (self: super: { + ghcWithPackages = super.ghcWithPackages.override { + installDocumentation = false; # XXX true (default) + }; + }) + ]; + }; + }) + ]; + } , sources ? import ./nix/sources.nix }: let @@ -9,44 +25,57 @@ in rec { inherit (haskellPackages) acms; inherit (jsHaskellPackages) frontend; - shell = haskellPackages.shellFor { - packages = _: [ - haskellPackages.acms - haskellPackages.autotypes - haskellPackages.frontend - ]; - buildInputs = [ - haskellPackages.astore - haskellPackages.autotypes - haskellPackages.cabal-install - haskellPackages.haskell-language-server - haskellPackages.ormolu - pkgs.pkg-config - pkgs.niv - (pkgs.writeScriptBin "reload" '' - set -efu - ${haskellPackages.ghcid.bin}/bin/ghcid -c \ - '${haskellPackages.cabal-install}/bin/cabal new-repl' \ - -T ':run Main.main' - '') - (pkgs.writeScriptBin "acms" '' - set -efu - exec ${haskellPackages.cabal-install}/bin/cabal run acms -- "$@" - '') - (pkgs.writeScriptBin "format" '' - set -efu - git ls-files | grep .hs$ | while read -r fn; do - ${haskellPackages.ormolu}/bin/ormolu -i "$fn" || : - done - '') - (pkgs.writeScriptBin "git-hook-precommit" '' - set -efux - cd ${lib.escapeShellArg (toString ./.)} - nix-build . -A acms -A frontend --no-out-link - nix-build tests.nix --no-out-link - '') + shell = pkgs.mkShell { + inputsFrom = [ + (jsHaskellPackages.shellFor { + packages = _: [ + jsHaskellPackages.acms + jsHaskellPackages.autotypes + jsHaskellPackages.frontend + ]; + }) + (haskellPackages.shellFor { + packages = _: [ + haskellPackages.acms + haskellPackages.autotypes + haskellPackages.frontend + ]; + withHoogle = true; + withHaddock = true; + }) + (pkgs.mkShell { + buildInputs = [ + haskellPackages.astore + haskellPackages.autotypes + haskellPackages.cabal-install + haskellPackages.haskell-language-server + haskellPackages.ormolu + pkgs.niv + pkgs.pkg-config + (pkgs.writeScriptBin "reload" '' + set -efu + ${haskellPackages.ghcid.bin}/bin/ghcid -c \ + '${haskellPackages.cabal-install}/bin/cabal new-repl' \ + -T ':run Main.main' + '') + (pkgs.writeScriptBin "acms" '' + set -efu + exec ${haskellPackages.cabal-install}/bin/cabal run acms -- "$@" + '') + (pkgs.writeScriptBin "format" '' + set -efu + git ls-files | grep .hs$ | while read -r fn; do + ${haskellPackages.ormolu}/bin/ormolu -i "$fn" || : + done + '') + (pkgs.writeScriptBin "git-hook-precommit" '' + set -efux + cd ${lib.escapeShellArg (toString ./.)} + nix-build . -A acms -A frontend --no-out-link + nix-build tests.nix --no-out-link + '') + ]; + }) ]; - withHoogle = true; - withHaddock = true; }; } |