{ pkgs ? (import {}) , compilerName ? "ghc801" , extraPackages ? (p: []) }: rec { haskellPackages = pkgs.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; }; }; thermoprint-spec = haskellPackages.callPackage ./spec/thermoprint-spec.nix {}; thermoprint-bbcode = haskellPackages.callPackage ./tp-bbcode/thermoprint-bbcode.nix { inherit bbcode thermoprint-spec; }; thermoprint-client = haskellPackages.callPackage ./client/thermoprint-client.nix { inherit thermoprint-spec; }; thermoprint-server = pkgs.callPackage ./server/wrapped.nix { inherit (haskellPackages) ghcWithPackages; inherit extraPackages; thermoprint-server = haskellPackages.callPackage ./server/thermoprint-server.nix { inherit thermoprint-spec thermoprint-client; }; }; thermoprint-webgui = haskellPackages.callPackage ./webgui/thermoprint-webgui.nix { inherit thermoprint-bbcode thermoprint-client; }; tprint = haskellPackages.callPackage ./tprint/tprint.nix { inherit thermoprint-bbcode thermoprint-client; }; bbcode = haskellPackages.callPackage ./bbcode/bbcode.nix {}; }