##// END OF EJS Templates
schema: preparer should keep case by default.
schema: preparer should keep case by default.

File last commit:

r737:b3f2563a default
r1216:d8543bea default
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