Repository navigation
Expand file tree
/
Copy pathshell.nix
More file actions
61 lines (56 loc) · 1.44 KB
/
Copy pathshell.nix
File metadata and controls
61 lines (56 loc) · 1.44 KB
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
let
# To get the sha256:
# nix-prefetch-url --unpack https://github.com/NixOS/nixpkgs/archive/<the rev>.tar.gz
rev = "ec942ba042dad5ef097e2ef3a3effc034241f011";
sha256 = "sha256:01i5lznyfxyb5r7llscybv17nhbnb58p0wi62rag9jdagjwxm6a7";
pkgs = (import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz";
inherit sha256;
}) {});
pythonBase = pkgs.python314;
python = pythonBase.withPackages (ps: [
ps.grpcio-tools
ps.jinja2
ps.mypy
ps.protobuf
ps.pytest
ps.pyyaml
ps.types-protobuf
ps.types-pyyaml
]);
in
pkgs.mkShell {
packages = [
pkgs.curl
pkgs.gh
pkgs.git
pkgs.jdk25_headless
pkgs.ncurses
pkgs.nodejs_24
pkgs.ruff
pkgs.unzip
python
];
shellHook = ''
export PATH="$PWD/node_modules/.bin:$HOME/.dpm/bin:$HOME/.daml/bin:$PATH"
export PYTHONPATH="$PWD/src''${PYTHONPATH:+:$PYTHONPATH}"
case " $NODE_OPTIONS " in
*" --max-old-space-size="*) ;;
*)
if [ -z "$NODE_OPTIONS" ]; then
export NODE_OPTIONS="--max-old-space-size=12288"
else
export NODE_OPTIONS="$NODE_OPTIONS --max-old-space-size=12288"
fi
;;
esac
if [ "''${SKIP_NPM_INSTALL:-}" != "1" ] && [ -f package.json ] && [ ! -d node_modules ]; then
echo "Installing npm dependencies..."
if [ -f package-lock.json ]; then
npm ci
else
npm install
fi
fi
'';
}