Dev environment with nix and direnv
Install nix
Install the nix package manager, by running
curl https://nixos.org/nix/install | sh
or better, verify integrity of the installer script first according to https://nixos.org/nix/download.html.
If you would like to set up python manually run
nix-shell nix/shell.nix
from the project root and nix will install all system dependencies
and make them available in your current shell. Then continue with the
Installation from source section.
You can also let direnv take care of
activating the nix shell and a python virtual environment for you.
Install direnv
Install direnv for instance by running
nix-env -iA nixpkgs.direnv
Hook it into your shell
eval "$(direnv hook bash)" # for bash
eval "$(direnv hook zsh)" # for zsh
eval (direnv hook fish) # for fish
and add that line into ~/.bashrc (or equivalent) for future use if
desired.
Activate direnv
Run
ln -s nix/envrc-nix-python .envrc
direnv allow
which will
Fetch all system dependencies with
nixif necessary.Activate the
nixshell.Create a python virtualenv for the project if necessary.
Now each time you cd into this directory, direnv will activate
this environment.
Run
make install-dev
to install the dependencies in requirements-dev.txt and raiden
itself.