Distributed build: Difference between revisions

imported>Symphorien
table of features for builders
imported>Symphorien
Line 85: Line 85:


== Using remote builders ==
== Using remote builders ==
==== Local builder ====
Your local machine is still a builder, notably when connecting to remote builders fails, nix will fallback to building locally.
Your local machine is still a builder, notably when connecting to remote builders fails, nix will fallback to building locally.
To never use the local machine set the <code>max-jobs</code> nix option to 0
To never use the local machine set the <code>max-jobs</code> nix option to 0
{{Commands|$ nix-build -j0 blah}}
{{Commands|$ nix-build -j0 blah}}
 
==== Features ====
When a builder lacks one of the <code>requiredSystemFeatures</code> of a derivation in its <code>supportedFeatures</code> array, it will be ignored. Here are some features used in nixpkgs:
Each builder is declared with a set of <code>supportedFeatures</code>.
When a builder lacks one of the <code>requiredSystemFeatures</code> of a derivation, it will be ignored. Here are some features used in nixpkgs:


{| class="table"
{| class="table"
Line 105: Line 107:
| kernel config, libreoffice, evolution and chromium.
| kernel config, libreoffice, evolution and chromium.
|}
|}
To know what features a derivation needs, you can run {{Commands|$ nix show-derivation /nix/store/hash-foo.drv | grep requiredSystemFeatures}}


== See also ==
== See also ==