-
Notifications
You must be signed in to change notification settings - Fork 0
/
shell.nix
66 lines (66 loc) · 2.5 KB
/
shell.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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
{ compiler ? import ./nix/default-compiler.nix
, trace ? false
, tracePatches ? trace
, traceOverrides ? trace
}:
let
pkgs = import ./nix/nixpkgs.nix
{ inherit compiler trace tracePatches traceOverrides; }; # Nixpkgs with overlays.
ghc = pkgs.haskell.packages."${compiler}"; # :: nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
extras = [
ghc.ghc-events
ghc.ghcid
ghc.graphmod
# ghc.cabal-install
pkgs.graphviz
];
localOnlyPackages = with ghc; with pkgs.lib; with builtins; {
reflex-glfw = mkDerivation {
pname = "reflex-glfw";
version = "0.1.0";
src = pkgs.fetchgit (removeAttrs (fromJSON (readFile ./local-pins/reflex-glfw.src-json)) ["date"]);
isLibrary = true;
isExecutable = true;
jailbreak = true;
libraryHaskellDepends = [
base base-unicode-symbols containers dependent-sum GLFW-b lens mtl
OpenGLRaw pretty primitive ref-tf reflex stm transformers
];
executableHaskellDepends = [
base base-unicode-symbols containers dependent-sum GLFW-b lens mtl
OpenGL OpenGLRaw pretty reflex stm transformers
];
homepage = "https://github.com/deepfire/reflex-glfw/";
description = "A GLFW-b adapter for Reflex FRP";
license = pkgs.stdenv.lib.licenses.bsd3;
};
iohk-monitoring = mkDerivation {
pname = "iohk-monitoring";
version = "0.1.0.0";
src = pkgs.fetchgit (removeAttrs (fromJSON (readFile ./local-pins/iohk-monitoring-framework.src-json)) ["date"]);
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson array async auto-update base bytestring clock containers
contravariant directory ekg ekg-core exceptions filepath katip lens
mtl safe-exceptions scientific stm template-haskell text time
time-units transformers unix unordered-containers vector yaml
];
executableHaskellDepends = [
async base bytestring mtl random unix
];
testHaskellDepends = [
array async base bytestring clock containers mtl process QuickCheck
random semigroups stm tasty tasty-hunit tasty-quickcheck text time
time-units transformers unordered-containers void yaml
];
description = "loggin, benchmarking and monitoring framework";
license = stdenv.lib.licenses.mit;
};
};
in
ghc.shellFor {
packages = p: [(ghc.callPackage (import ./default.nix) localOnlyPackages)];
withHoogle = true;
buildInputs = extras;
}