aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--default.nix107
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;
};
}