{ sources ? import ../nix/sources.nix }:
(self: super:
  let pkgs = self; in
  {
    haskell = super.haskell // {
      packageOverrides = self: super: {
        astore = self.callCabal2nix "astore" sources.json2sql { };
        autotypes = self.callCabal2nix "autotypes" ../autotypes { };
        backend = self.callCabal2nix "backend" ../backend { };
        cli = self.callCabal2nix "cli" ../cli { };
        common = self.callCabal2nix "common" ../common { };
        frontend = self.callCabal2nix "frontend" ../frontend { };
        sh = pkgs.haskell.lib.dontCheck (self.callCabal2nix "sh" sources.sh { });
        websockets = pkgs.haskell.lib.doJailbreak super.websockets;
      };
    };
  })