forked from ocaml/dune
-
Notifications
You must be signed in to change notification settings - Fork 0
/
shell.nix
50 lines (49 loc) · 1.12 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
let
pkgs = (import <nixpkgs> { });
opam2nix = (import ./nix/opam2nix.nix);
local = pkgs.callPackage ./nix { inherit opam2nix; };
inherit (pkgs) stdenv lib;
in pkgs.mkShell {
# standard dependencies fetched from nixpkgs. essentially everything outside
# of opam
buildInputs = (with pkgs; ([
coreutils
# we prefer tools from outside our opam build plan to minimize conflicts
ocamlformat_0_20_1
ocaml-ng.ocamlPackages_4_13.ocaml-lsp
git
mercurial # for tests
opam
nodejs-14_x
patdiff
gnugrep
gnused
gawk
# we can't use coq from nixpkgs because it doesn't include libraries
# coq
python38Packages.sphinx
python38Packages.sphinx_rtd_theme
# opam dependencies. the versions for these are solved for in
# nix/opam-selection.nix
] ++ (if stdenv.isDarwin then [fswatch] else [])))
++ (with local.opam; [
lwt
bisect_ppx
cinaps
core_bench
csexp
js_of_ocaml
js_of_ocaml-compiler
mdx
menhir
merlin
ocamlfind
odoc
ppx_expect
ppx_inline_test
ppxlib
result
utop
ctypes
]) ++ [ local.coq-core ];
}