-
Notifications
You must be signed in to change notification settings - Fork 1
/
shell.nix
51 lines (45 loc) · 1.55 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
let
moz_overlay = import (builtins.fetchTarball
"https://github.com/mozilla/nixpkgs-mozilla/archive/8c007b60731c07dd7a052cce508de3bb1ae849b4.tar.gz");
# Nix 20.09, stable.
pkgs = import (fetchTarball
"https://github.com/NixOS/nixpkgs/archive/cd63096d6d887d689543a0b97743d28995bc9bc3.tar.gz") {
overlays = [ moz_overlay ];
};
rustChannel = pkgs.latest.rustChannels.stable;
in
pkgs.mkShell {
name = "ricochetEnv";
buildInputs = with pkgs; [
git
# rust dependencies
rustChannel.cargo
rustChannel.rust
# basic python dependencies
python38
python38Packages.black
python38Packages.numpy
python38Packages.gym
python38Packages.pandas
python38Packages.matplotlib
python38Packages.seaborn
# python38Packages.scikitlearn
# python38Packages.scipy
# # a couple of deep learning libraries
# python38Packages.tensorflowWithCuda # note if you get rid of WithCuda then you will not be using Cuda
# python38Packages.Keras
# python38Packages.pytorch # used for speedy examples
# python38Packages.pytorchWithCuda
# dependencies to run maturin and package ricochet_env
maturin
python38Packages.pip
python38Packages.virtualenv
];
NIX_ENFORCE_PURITY = 0;
shellHook = ''
virtualenv ricochetEnv
source ricochetEnv/bin/activate
unset CONDA_PREFIX # maturin wont run if conda and virtualenv are used at the same time
maturin develop --manifest-path ricochet_environment/Cargo.toml
'';
}