1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-12-05 08:31:03 +01:00
This commit is contained in:
khaneliman 2025-09-19 13:34:32 +00:00
parent 4dfce7eae1
commit 1e575f7573

View file

@ -14189,6 +14189,322 @@ null or package</p>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines"></a><a class="term" href="options.xhtml#opt-nix.buildMachines"><code class="option">nix.buildMachines</code>
</a>
</span>
</dt>
<dd>
<p>This option lists the machines to be used if distributed builds are
enabled (see <code class="option">nix.distributedBuilds</code>).
Nix will perform derivations on those machines via SSH by copying the
inputs to the Nix store on the remote machine, starting the build,
then copying the output back to the local Nix store.</p>
<p><span class="emphasis"><em>Type:</em></span>
list of (submodule)</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">[ ]</code></p>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines._.hostName"></a><a class="term" href="options.xhtml#opt-nix.buildMachines._.hostName"><code class="option">nix.buildMachines.*.hostName</code>
</a>
</span>
</dt>
<dd>
<p>The hostname of the build machine.</p>
<p><span class="emphasis"><em>Type:</em></span>
string</p>
<p><span class="emphasis"><em>Example:</em></span>
<code class="literal">&quot;nixbuilder.example.org&quot;</code></p>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines._.mandatoryFeatures"></a><a class="term" href="options.xhtml#opt-nix.buildMachines._.mandatoryFeatures"><code class="option">nix.buildMachines.*.mandatoryFeatures</code>
</a>
</span>
</dt>
<dd>
<p>A list of features mandatory for this builder. The builder will
be ignored for derivations that dont require all features in
this list. All mandatory features are automatically included in
<code class="varname">supportedFeatures</code>.</p>
<p><span class="emphasis"><em>Type:</em></span>
list of string</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">[ ]</code></p>
<p><span class="emphasis"><em>Example:</em></span></p><pre><code class="programlisting">[
&quot;big-parallel&quot;
]
</code></pre>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines._.maxJobs"></a><a class="term" href="options.xhtml#opt-nix.buildMachines._.maxJobs"><code class="option">nix.buildMachines.*.maxJobs</code>
</a>
</span>
</dt>
<dd>
<p>The number of concurrent jobs the build machine supports. The
build machine will enforce its own limits, but this allows hydra
to schedule better since there is no work-stealing between build
machines.</p>
<p><span class="emphasis"><em>Type:</em></span>
signed integer</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">1</code></p>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines._.protocol"></a><a class="term" href="options.xhtml#opt-nix.buildMachines._.protocol"><code class="option">nix.buildMachines.*.protocol</code>
</a>
</span>
</dt>
<dd>
<p>The protocol used for communicating with the build machine.
Use <code class="literal">ssh-ng</code> if your remote builder and your
local Nix version support that improved protocol.</p><p>Use <code class="literal">null</code> when trying to change the special localhost builder
without a protocol which is for example used by hydra.</p>
<p><span class="emphasis"><em>Type:</em></span>
one of &lt;null&gt;, “ssh”, “ssh-ng”</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">&quot;ssh&quot;</code></p>
<p><span class="emphasis"><em>Example:</em></span>
<code class="literal">&quot;ssh-ng&quot;</code></p>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines._.publicHostKey"></a><a class="term" href="options.xhtml#opt-nix.buildMachines._.publicHostKey"><code class="option">nix.buildMachines.*.publicHostKey</code>
</a>
</span>
</dt>
<dd>
<p>The (base64-encoded) public host key of this builder. The field
is calculated via <span class="command"><strong>base64 -w0 /etc/ssh/ssh_host_type_key.pub</strong></span>.
If null, SSH will use its regular known-hosts file when connecting.</p>
<p><span class="emphasis"><em>Type:</em></span>
null or string</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">null</code></p>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines._.speedFactor"></a><a class="term" href="options.xhtml#opt-nix.buildMachines._.speedFactor"><code class="option">nix.buildMachines.*.speedFactor</code>
</a>
</span>
</dt>
<dd>
<p>The relative speed of this builder. This is an arbitrary integer
that indicates the speed of this builder, relative to other
builders. Higher is faster.</p>
<p><span class="emphasis"><em>Type:</em></span>
signed integer</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">1</code></p>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines._.sshKey"></a><a class="term" href="options.xhtml#opt-nix.buildMachines._.sshKey"><code class="option">nix.buildMachines.*.sshKey</code>
</a>
</span>
</dt>
<dd>
<p>The path to the SSH private key with which to authenticate on
the build machine. The private key must not have a passphrase.
If null, the building user (root on NixOS machines) must have an
appropriate ssh configuration to log in non-interactively.</p><p>Note that for security reasons, this path must point to a file
in the local filesystem, <span class="emphasis"><em>not</em></span> to the nix store.</p>
<p><span class="emphasis"><em>Type:</em></span>
null or string</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">null</code></p>
<p><span class="emphasis"><em>Example:</em></span>
<code class="literal">&quot;/root/.ssh/id_buildhost_builduser&quot;</code></p>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines._.sshUser"></a><a class="term" href="options.xhtml#opt-nix.buildMachines._.sshUser"><code class="option">nix.buildMachines.*.sshUser</code>
</a>
</span>
</dt>
<dd>
<p>The username to log in as on the remote host. This user must be
able to log in and run nix commands non-interactively. It must
also be privileged to build derivations, so must be included in
<code class="option">nix.settings.trusted-users</code>.</p>
<p><span class="emphasis"><em>Type:</em></span>
null or string</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">null</code></p>
<p><span class="emphasis"><em>Example:</em></span>
<code class="literal">&quot;builder&quot;</code></p>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines._.supportedFeatures"></a><a class="term" href="options.xhtml#opt-nix.buildMachines._.supportedFeatures"><code class="option">nix.buildMachines.*.supportedFeatures</code>
</a>
</span>
</dt>
<dd>
<p>A list of features supported by this builder. The builder will
be ignored for derivations that require features not in this
list.</p>
<p><span class="emphasis"><em>Type:</em></span>
list of string</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">[ ]</code></p>
<p><span class="emphasis"><em>Example:</em></span></p><pre><code class="programlisting">[
&quot;kvm&quot;
&quot;big-parallel&quot;
]
</code></pre>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.buildMachines._.systems"></a><a class="term" href="options.xhtml#opt-nix.buildMachines._.systems"><code class="option">nix.buildMachines.*.systems</code>
</a>
</span>
</dt>
<dd>
<p>The system types the build machine can execute derivations on.</p>
<p><span class="emphasis"><em>Type:</em></span>
list of string</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">[ ]</code></p>
<p><span class="emphasis"><em>Example:</em></span></p><pre><code class="programlisting">[
&quot;x86_64-linux&quot;
&quot;aarch64-linux&quot;
]
</code></pre>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.channels"></a><a class="term" href="options.xhtml#opt-nix.channels"><code class="option">nix.channels</code>
@ -14246,6 +14562,31 @@ boolean</p>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.distributedBuilds"></a><a class="term" href="options.xhtml#opt-nix.distributedBuilds"><code class="option">nix.distributedBuilds</code>
</a>
</span>
</dt>
<dd>
<p>Whether to distribute builds to the machines listed in
<code class="option">nix.buildMachines</code>.</p>
<p><span class="emphasis"><em>Type:</em></span>
boolean</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">false</code></p>
<p><span class="emphasis"><em>Declared by:</em></span></p>
<table border="0" summary="Simple list" class="simplelist">
<tr><td>
<code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/modules/misc/nix-remote-build.nix" target="_top">
&lt;home-manager/modules/misc/nix-remote-build.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nix.extraOptions"></a><a class="term" href="options.xhtml#opt-nix.extraOptions"><code class="option">nix.extraOptions</code>