-
Notifications
You must be signed in to change notification settings - Fork 1
/
shell.nix
58 lines (57 loc) · 1.36 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
let
pkgs = import ./nixpkgs.nix;
poetry2nix = import ./poetry2nix.nix {
inherit pkgs;
};
python = import ./python.nix {
inherit pkgs;
};
sentinel1WaterExtractionPoetryPackages = import ./flooding/sentinel1_water_extraction/poetryPackages.nix {
inherit poetry2nix python;
};
sentinel2WaterExtractionPoetryPackages = import ./flooding/sentinel2_water_extraction/poetryPackages.nix {
inherit poetry2nix python;
};
pythonWithAllPackages =
(
python.withPackages (
ps:
[
ps.mypy
ps.pip
ps.pylint
ps.types-python-dateutil
]
++ sentinel1WaterExtractionPoetryPackages.poetryPackages
++ sentinel2WaterExtractionPoetryPackages.poetryPackages
)
)
.override (
_args: {
ignoreCollisions = true;
}
);
in
pkgs.mkShell {
packages = [
pythonWithAllPackages
pkgs.alejandra
pkgs.black
pkgs.cacert
pkgs.check-jsonschema
pkgs.deadnix
pkgs.gitFull
pkgs.gitlint
pkgs.nbqa
pkgs.nodePackages.prettier
pkgs.pre-commit
pkgs.python3Packages.pydocstyle
pkgs.rubyPackages.github-pages
pkgs.shellcheck
pkgs.shfmt
pkgs.statix
];
shellHook = ''
ln --force --no-target-directory --symbolic "${python}/bin/python" python
'';
}