-
Notifications
You must be signed in to change notification settings - Fork 0
/
devShells.nix
58 lines (53 loc) · 1.38 KB
/
devShells.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
{ pkgs, system }: {
devShells.${system} = let
jsPackages = with pkgs; [nodejs yarn nodePackages.typescript-language-server];
node16 = pkgs2305.nodejs_16;
yarn16 = pkgs2305.yarn.override { nodejs = node16; };
in {
js = pkgs.mkShell {
name = "Standard JS development";
buildInputs = jsPackages;
};
jsn16 = pkgs.mkShell {
name = "JS with nodejs v16";
buildInputs = [node16 yarn16];
};
cypress = pkgs.mkShell {
name = "Cypress (latest) development";
buildInputs = [pkgs.cypress] ++ jsPackages;
shellHook = ''
export NODE_OPTIONS="--openssl-legacy-provider"
export CYPRESS_RUN_BINARY="${pkgs.cypress}/bin/Cypress"
'';
};
reactNative = pkgs.mkShell {
name = "React native development";
buildInputs = with pkgs; [
android-studio
jdk17
] ++ jsPackages;
};
clojure = pkgs.mkShell {
name = "Standard clojure development";
buildInputs = with pkgs; [
clojure
leiningen
];
};
ocaml = pkgs.mkShell {
name = "Standard OCAML development";
buildInputs = with pkgs; [
ocaml
ocamlPackages.findlib
dune_2
ocamlPackages.ocaml-lsp
ocamlformat
ocamlPackages.ocamlformat-rpc-lib
ocamlPackages.utop
ocamlPackages.re
mpv
opam
];
};
};
}