Skip to content

Instantly share code, notes, and snippets.

@dminuoso
Created May 19, 2021 17:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dminuoso/be7bb29b6a32dd5127653cb4dbcfc880 to your computer and use it in GitHub Desktop.
Save dminuoso/be7bb29b6a32dd5127653cb4dbcfc880 to your computer and use it in GitHub Desktop.
let
pkgs = import ./nixpkgs.nix;
extendedPkgs = pkgs.extend pkgOverlay;
makeHsOverrides = lib: {
overrides = (selfHS: superHS: {
freyja-server = lib.dontCheck (superHS.callCabal2nix "freyja-server" ./freyja-server {});
freyja-api = lib.dontCheck (superHS.callCabal2nix "freyja-api" ./freyja-api {});
freyja-client = lib.dontCheck (superHS.callCabal2nix "freyja-client" ./freyja-client {});
ip-qq = superHS.callCabal2nix "ip-qq" ./ip-qq {};
ip = lib.dontCheck superHS.ip;
wide-word = lib.dontCheck superHS.wide-word;
bytebuild = lib.dontCheck superHS.bytebuild;
});
};
pkgOverlay = self: super: {
haskellPackages = super.haskellPackages.override (makeHsOverrides super.haskell.lib);
};
hsPkgs = extendedPkgs.haskellPackages;
server = hsPkgs.freyja-server;
client = hsPkgs.freyja-client;
in
{
inherit server;
inherit client;
shell = hsPkgs.shellFor {
packages = p: [p.freyja-server p.freyja-client];
withHoogle = true;
buildInputs = [ hsPkgs.ghcide ];
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment