-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathdefault.nix
48 lines (41 loc) · 1.1 KB
/
default.nix
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
43
44
45
46
47
48
{ compiler ? "ghc8104" }:
let
sources = import ./nix/sources.nix;
pkgs = import sources.nixpkgs { };
dapptools = import sources.dapptools { };
gitignore = pkgs.nix-gitignore.gitignoreSourcePure [ ./.gitignore ];
myHaskellPackages = pkgs.haskell.packages.${compiler}.override {
overrides = hself: hsuper: {
hevm = dapptools.haskellPackages.hevm;
sbv = dapptools.haskellPackages.sbv;
ethtxd = hsuper.callCabal2nix "ethtxd" (gitignore ./.) { };
};
};
libff = pkgs.callPackage (import ./nix/libff.nix) { };
shell = myHaskellPackages.shellFor {
packages = p: [ p.ethtxd ];
buildInputs = with pkgs.haskellPackages; [
cabal-install
hlint
ghcide
stylish-haskell
hindent
libff
pkgs.jq
pkgs.zlib
pkgs.gmp6
pkgs.libffi
pkgs.secp256k1
];
withHoogle = true;
shellHook = ''
export PATH=${toString ./bin}:$PATH
'';
};
exe = pkgs.haskell.lib.justStaticExecutables (myHaskellPackages.ethtxd);
in {
inherit shell;
inherit exe;
inherit myHaskellPackages;
ethtxd = myHaskellPackages.ethtxd;
}