##// END OF EJS Templates
Added tag v4.6.1 for changeset 5ad13deb9118
Added tag v4.6.1 for changeset 5ad13deb9118

File last commit:

r737:b3f2563a default
r1439:126f13a6 stable
Show More
dependencies.rst
60 lines | 1.3 KiB | text/x-rst | RstLexer

Dependency management

Overview

We use the Nix package manager to handle our dependencies. In general we use the packages out of the package collection nixpkgs. For frequently changing dependencies for Python and JavaScript we use the tools which are described in this section to generate the needed Nix derivations.

Python dependencies

We use the tool pip2nix to generate the Nix derivations for our Python dependencies.

Generating the dependencies should be done with the following command:

pip2nix generate --license

Note

License extraction support is still experimental, use the version from the following pull request: https://github.com/ktosiek/pip2nix/pull/30

Node dependencies

After adding new dependencies via npm install --save, use node2nix to update the corresponding Nix derivations:

cd pkgs
node2nix --input ../package.json \
         -o node-packages.nix \
         -e node-env.nix \
         -c node-default.nix \
         -d --flatten

Bower dependencies

Frontend dependencies are managed based on bower, with bower2nix a tool exists which can generate the needed Nix derivations:

bower2nix bower.json pkgs/bower-packages.nix