aboutsummaryrefslogtreecommitdiff
path: root/default.nix
blob: 2b84d3075891a04ed9e0591e4c00e08c43713c33 (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
args@{
  compilerName ? "ghc802"
, extraPackages ? (p: [])
, ...
}:

let
  defaultPackages = import <nixpkgs> {};
  haskellPackages = defaultPackages.haskell.packages."${compilerName}".override {
    overrides = self: super: with super; {
      # threepenny-gui = pkgs.haskell.lib.appendPatch threepenny-gui ./threepenny.patch;
      encoding = pkgs.haskell.lib.doJailbreak encoding;
      cabal-test-quickcheck = pkgs.haskell.lib.doJailbreak cabal-test-quickcheck;
      extended-reals = pkgs.haskell.lib.doJailbreak extended-reals;
    };
  };
  pkgs = defaultPackages // haskellPackages // args;
  callPackage = pkgs.lib.callPackageWith (pkgs // self);
  self = {
    thermoprint-spec = callPackage ./spec/thermoprint-spec.nix {};
    thermoprint-bbcode = callPackage ./tp-bbcode/thermoprint-bbcode.nix {};
    thermoprint-client = callPackage ./client/thermoprint-client.nix {};
    thermoprint-server = callPackage ./server/wrapped.nix {
      inherit extraPackages;
      thermoprint-server = callPackage ./server/thermoprint-server.nix {};
    };
    thermoprint-webgui = callPackage ./webgui/thermoprint-webgui.nix {};
    tprint = callPackage ./tprint/tprint.nix {};
    bbcode = callPackage ./bbcode/bbcode.nix {};
  };
in self