forked from runtimeverification/haskell-backend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshell.nix
48 lines (40 loc) · 1.28 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
{ default ? import ./default.nix {} }:
let
inherit (default) project;
local =
if builtins.pathExists ./shell.local.nix
then import ./shell.local.nix { inherit default; }
else x: x;
shellFor = args: project.shellFor (local args);
sources = import ./nix/sources.nix;
pkgs = import sources."nixpkgs" {};
inherit (pkgs) cabal-install stack;
ghcide-project = default.pkgs.haskell-nix.project {
src = sources."ghcide";
projectFileName = "stack810.yaml";
modules = [
# This fixes a performance issue, probably https://gitlab.haskell.org/ghc/ghc/issues/15524
{ packages.ghcide.configureFlags = [ "--enable-executable-dynamic" ]; }
];
};
inherit (ghcide-project.ghcide.components.exes) ghcide;
inherit (ghcide-project.hie-bios.components.exes) hie-bios;
hlint-project = default.pkgs.haskell-nix.stackProject {
src = sources."hlint";
};
inherit (hlint-project.hlint.components.exes) hlint;
stylish-haskell-project = default.pkgs.haskell-nix.stackProject {
src = sources."stylish-haskell";
};
inherit (stylish-haskell-project.stylish-haskell.components.exes) stylish-haskell;
in
shellFor {
buildInputs =
with pkgs;
[
gnumake yq z3
ghcide hie-bios
ghcid hlint stylish-haskell
cabal-install stack
];
}