aboutsummaryrefslogtreecommitdiffstats
path: root/default.nix
blob: c6cbdbd8174d0ffe723edf54742d3ede646b0132 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{ 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
    '';
  };
}