Show More
@@ -0,0 +1,60 b'' | |||
|
1 | ||
|
2 | ======================= | |
|
3 | Dependency management | |
|
4 | ======================= | |
|
5 | ||
|
6 | ||
|
7 | Overview | |
|
8 | ======== | |
|
9 | ||
|
10 | We use the Nix package manager to handle our dependencies. In general we use the | |
|
11 | packages out of the package collection `nixpkgs`. For frequently changing | |
|
12 | dependencies for Python and JavaScript we use the tools which are described in | |
|
13 | this section to generate the needed Nix derivations. | |
|
14 | ||
|
15 | ||
|
16 | Python dependencies | |
|
17 | =================== | |
|
18 | ||
|
19 | We use the tool `pip2nix` to generate the Nix derivations for our Python | |
|
20 | dependencies. | |
|
21 | ||
|
22 | Generating the dependencies should be done with the following command: | |
|
23 | ||
|
24 | .. code:: shell | |
|
25 | ||
|
26 | pip2nix generate --license | |
|
27 | ||
|
28 | ||
|
29 | .. note:: | |
|
30 | ||
|
31 | License extraction support is still experimental, use the version from the | |
|
32 | following pull request: https://github.com/ktosiek/pip2nix/pull/30 | |
|
33 | ||
|
34 | ||
|
35 | ||
|
36 | Node dependencies | |
|
37 | ================= | |
|
38 | ||
|
39 | After adding new dependencies via ``npm install --save``, use `node2nix` to | |
|
40 | update the corresponding Nix derivations: | |
|
41 | ||
|
42 | .. code:: shell | |
|
43 | ||
|
44 | cd pkgs | |
|
45 | node2nix --input ../package.json \ | |
|
46 | -o node-packages.nix \ | |
|
47 | -e node-env.nix \ | |
|
48 | -c node-default.nix \ | |
|
49 | -d --flatten | |
|
50 | ||
|
51 | ||
|
52 | Bower dependencies | |
|
53 | ================== | |
|
54 | ||
|
55 | Frontend dependencies are managed based on `bower`, with `bower2nix` a tool | |
|
56 | exists which can generate the needed Nix derivations: | |
|
57 | ||
|
58 | .. code:: shell | |
|
59 | ||
|
60 | bower2nix bower.json pkgs/bower-packages.nix |
General Comments 0
You need to be logged in to leave comments.
Login now