1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-12-21 16:31:10 +01:00
This commit is contained in:
khaneliman 2025-11-09 15:03:51 +00:00
parent 8d5dfc6ea4
commit c0026e4efd
2 changed files with 495 additions and 269 deletions

View file

@ -14365,8 +14365,8 @@ list of (maintainer)</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="file:///nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix
<code class="filename"><a class="filename" href="file:///nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix
</a></code>
</td></tr>
</table>
@ -15219,245 +15219,6 @@ open submodule of attribute set of (Nix config atom (null, bool, int, float, str
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nixGL.packages"></a><a class="term" href="options.xhtml#opt-nixGL.packages"><code class="option">nixGL.packages</code>
</a>
</span>
</dt>
<dd>
<p>The nixGL package set containing GPU library wrappers. This can be used
to provide OpenGL and Vulkan access to applications on non-NixOS systems
by using <code class="literal">(config.lib.nixGL.wrap &lt;package&gt;)</code> for the default wrapper, or
<code class="literal">(config.lib.nixGL.wrappers.&lt;wrapper&gt; &lt;package&gt;)</code> for any available
wrapper.</p><p>The wrapper functions are always available. If this option is empty (the
default), they are a no-op. This is useful on NixOS where the wrappers
are unnecessary.</p><p>Note that using any Nvidia wrapper requires building the configuration
with the <code class="literal">--impure</code> option.</p>
<p><span class="emphasis"><em>Type:</em></span>
null or (attribute set)</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">inputs.nixGL.packages</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/nixgl.nix" target="_top">
&lt;home-manager/modules/misc/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nixGL.defaultWrapper"></a><a class="term" href="options.xhtml#opt-nixGL.defaultWrapper"><code class="option">nixGL.defaultWrapper</code>
</a>
</span>
</dt>
<dd>
<p>The package wrapper function available for use as <code class="literal">(config.lib.nixGL.wrap &lt;package&gt;)</code>. Intended to start programs on the main GPU.</p><p>Wrapper functions can be found under <code class="literal">config.lib.nixGL.wrappers</code>. They
can be used directly, however, setting this option provides a convenient
shorthand.</p><p>The following wrappers are available:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>mesa</p></li><li class="listitem"><p>mesaPrime</p></li><li class="listitem"><p>nvidia</p></li><li class="listitem"><p>nvidiaPrime</p></li></ul></div>
<p><span class="emphasis"><em>Type:</em></span>
one of “mesa”, “mesaPrime”, “nvidia”, “nvidiaPrime”</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">&quot;mesa&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/nixgl.nix" target="_top">
&lt;home-manager/modules/misc/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nixGL.installScripts"></a><a class="term" href="options.xhtml#opt-nixGL.installScripts"><code class="option">nixGL.installScripts</code>
</a>
</span>
</dt>
<dd>
<p>For each wrapper <code class="literal">wrp</code> named in the provided list, a wrapper script
named <code class="literal">nixGLWrp</code> is installed into the environment. These scripts are
useful for running programs not installed via Home Manager.</p><p>The following wrappers are available:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>mesa</p></li><li class="listitem"><p>mesaPrime</p></li><li class="listitem"><p>nvidia</p></li><li class="listitem"><p>nvidiaPrime</p></li></ul></div>
<p><span class="emphasis"><em>Type:</em></span>
null or (list of (one of “mesa”, “mesaPrime”, “nvidia”, “nvidiaPrime”))</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">null</code></p>
<p><span class="emphasis"><em>Example:</em></span></p><pre><code class="programlisting">[
&quot;mesa&quot;
&quot;mesaPrime&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/nixgl.nix" target="_top">
&lt;home-manager/modules/misc/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nixGL.offloadWrapper"></a><a class="term" href="options.xhtml#opt-nixGL.offloadWrapper"><code class="option">nixGL.offloadWrapper</code>
</a>
</span>
</dt>
<dd>
<p>The package wrapper function available for use as
<code class="literal">(config.lib.nixGL.wrapOffload &lt;package&gt;)</code>. Intended to start programs
on the secondary GPU.</p><p>Wrapper functions can be found under <code class="literal">config.lib.nixGL.wrappers</code>. They
can be used directly, however, setting this option provides a convenient
shorthand.</p><p>The following wrappers are available:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>mesa</p></li><li class="listitem"><p>mesaPrime</p></li><li class="listitem"><p>nvidia</p></li><li class="listitem"><p>nvidiaPrime</p></li></ul></div>
<p><span class="emphasis"><em>Type:</em></span>
one of “mesa”, “mesaPrime”, “nvidia”, “nvidiaPrime”</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">&quot;mesaPrime&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/nixgl.nix" target="_top">
&lt;home-manager/modules/misc/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nixGL.prime.card"></a><a class="term" href="options.xhtml#opt-nixGL.prime.card"><code class="option">nixGL.prime.card</code>
</a>
</span>
</dt>
<dd>
<p>Selects the non-default graphics card used for PRIME render offloading.
The value can be:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>a number, selecting the n-th non-default GPU;</p></li><li class="listitem"><p>a PCI bus id in the form <code class="literal">pci-XXX_YY_ZZ_U</code>;</p></li><li class="listitem"><p>a PCI id in the form <code class="literal">vendor_id:device_id</code></p></li></ul></div><p>For more information, consult the Mesa documentation on the <code class="literal">DRI_PRIME</code>
environment variable.</p>
<p><span class="emphasis"><em>Type:</em></span>
string</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">&quot;1&quot;</code></p>
<p><span class="emphasis"><em>Example:</em></span>
<code class="literal">&quot;pci-0000_06_00_0&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/nixgl.nix" target="_top">
&lt;home-manager/modules/misc/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nixGL.prime.installScript"></a><a class="term" href="options.xhtml#opt-nixGL.prime.installScript"><code class="option">nixGL.prime.installScript</code>
</a>
</span>
</dt>
<dd>
<p>If this option is set, the wrapper script <code class="literal">prime-offload</code> is installed
into the environment. It allows starting programs on the secondary GPU
selected by the <code class="literal">nixGL.prime.card</code> option. This makes sense when the
program is not already using one of nixGL PRIME wrappers, or for
programs not installed from Nixpkgs.</p><p>This option can be set to either “mesa” or “nvidia”, making the script
use one or the other graphics library.</p>
<p><span class="emphasis"><em>Type:</em></span>
null or one of “mesa”, “nvidia”</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;mesa&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/nixgl.nix" target="_top">
&lt;home-manager/modules/misc/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nixGL.prime.nvidiaProvider"></a><a class="term" href="options.xhtml#opt-nixGL.prime.nvidiaProvider"><code class="option">nixGL.prime.nvidiaProvider</code>
</a>
</span>
</dt>
<dd>
<p>If this option is set, it overrides the offload provider for Nvidia
PRIME offloading. Consult the proprietary Nvidia driver documentation
on the <code class="literal">__NV_PRIME_RENDER_OFFLOAD_PROVIDER</code> environment variable.</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;NVIDIA-G0&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/nixgl.nix" target="_top">
&lt;home-manager/modules/misc/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nixGL.vulkan.enable"></a><a class="term" href="options.xhtml#opt-nixGL.vulkan.enable"><code class="option">nixGL.vulkan.enable</code>
</a>
</span>
</dt>
<dd>
<p>Whether to enable Vulkan in nixGL wrappers.</p><p>This is disabled by default bacause Vulkan brings in several libraries
that can cause symbol version conflicts in wrapped programs. Your
mileage may vary.</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>Example:</em></span>
<code class="literal">true</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/nixgl.nix" target="_top">
&lt;home-manager/modules/misc/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-nixpkgs.config"></a><a class="term" href="options.xhtml#opt-nixpkgs.config"><code class="option">nixpkgs.config</code>
@ -30795,8 +30556,8 @@ list of (maintainer)</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="file:///nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix
<code class="filename"><a class="filename" href="file:///nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix
</a></code>
</td></tr>
</table>
@ -31626,8 +31387,8 @@ list of (maintainer)</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="file:///nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix
<code class="filename"><a class="filename" href="file:///nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix
</a></code>
</td></tr>
</table>
@ -33247,8 +33008,8 @@ list of (maintainer)</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="file:///nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix
<code class="filename"><a class="filename" href="file:///nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix
</a></code>
</td></tr>
</table>
@ -34078,8 +33839,8 @@ list of (maintainer)</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="file:///nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix
<code class="filename"><a class="filename" href="file:///nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix
</a></code>
</td></tr>
</table>
@ -50145,8 +49906,8 @@ list of (maintainer)</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="file:///nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix
<code class="filename"><a class="filename" href="file:///nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix
</a></code>
</td></tr>
</table>
@ -50976,8 +50737,8 @@ list of (maintainer)</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="file:///nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix
<code class="filename"><a class="filename" href="file:///nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix
</a></code>
</td></tr>
</table>
@ -77840,8 +77601,8 @@ list of (maintainer)</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="file:///nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/02w304s0zwflglw4pw1hjzw8fxmm1s8w-source/modules/generic/meta-maintainers.nix
<code class="filename"><a class="filename" href="file:///nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix" target="_top">
/nix/store/3fis83br4c3xkqh3457ji3w37gihzk6s-source/modules/generic/meta-maintainers.nix
</a></code>
</td></tr>
</table>
@ -120373,6 +120134,410 @@ boolean</p>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.gpu.enable"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.gpu.enable"><code class="option">targets.genericLinux.gpu.enable</code>
</a>
</span>
</dt>
<dd>
<p>Whether to enable GPU driver integration for non-NixOS systems.</p>
<p><span class="emphasis"><em>Type:</em></span>
boolean</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">config.targets.genericLinux.enable &amp;&amp; config.targets.genericLinux.nixGL.packages == null</code></p>
<p><span class="emphasis"><em>Example:</em></span>
<code class="literal">true</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/targets/generic-linux/gpu" target="_top">
&lt;home-manager/modules/targets/generic-linux/gpu&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.gpu.packages"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.gpu.packages"><code class="option">targets.genericLinux.gpu.packages</code>
</a>
</span>
</dt>
<dd>
<p>The Nixpkgs package set where drivers are taken from.</p>
<p><span class="emphasis"><em>Type:</em></span>
attribute set</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">pkgs</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/targets/generic-linux/gpu" target="_top">
&lt;home-manager/modules/targets/generic-linux/gpu&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.gpu.nixStateDirectory"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.gpu.nixStateDirectory"><code class="option">targets.genericLinux.gpu.nixStateDirectory</code>
</a>
</span>
</dt>
<dd>
<p>The path to the Nix state directory. This only needs to be changed
from default if the path was overridden, e.g., by setting the
<code class="literal">NIX_STATE_DIR</code> environment variable.</p>
<p><span class="emphasis"><em>Type:</em></span>
absolute path</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">&quot;/nix/var/nix&quot;</code></p>
<p><span class="emphasis"><em>Example:</em></span>
<code class="literal">&quot;/var/lib/nix&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/targets/generic-linux/gpu" target="_top">
&lt;home-manager/modules/targets/generic-linux/gpu&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.gpu.nvidia.enable"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.gpu.nvidia.enable"><code class="option">targets.genericLinux.gpu.nvidia.enable</code>
</a>
</span>
</dt>
<dd>
<p>Whether to enable proprietary Nvidia drivers.</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>Example:</em></span>
<code class="literal">true</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/targets/generic-linux/gpu" target="_top">
&lt;home-manager/modules/targets/generic-linux/gpu&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.gpu.nvidia.sha256"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.gpu.nvidia.sha256"><code class="option">targets.genericLinux.gpu.nvidia.sha256</code>
</a>
</span>
</dt>
<dd>
<p>The hash of the downloaded driver file. It can be obtained by
running, for example,</p><pre><code class="programlisting sh">nix store prefetch-file https://download.nvidia.com/XFree86/Linux-x86_64/@VERSION@/NVIDIA-Linux-x86_64-@VERSION@.run
</code></pre><p>where <code class="literal">@VERSION@</code> is replaced with the exact driver version.
If you are on ARM, replace Linux-x86_64 with Linux-aarch64.</p>
<p><span class="emphasis"><em>Type:</em></span>
null or string matching the pattern sha256-.*=</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">sha256-hfK1D5EiYcGRegss9+H5dDr/0Aj9wPIJ9NVWP3dNUC0=</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/targets/generic-linux/gpu" target="_top">
&lt;home-manager/modules/targets/generic-linux/gpu&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.gpu.nvidia.version"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.gpu.nvidia.version"><code class="option">targets.genericLinux.gpu.nvidia.version</code>
</a>
</span>
</dt>
<dd>
<p>The exact version of Nvidia drivers to use. This version <span class="strong"><strong>must</strong></span>
match the version of the driver used by the host OS.</p>
<p><span class="emphasis"><em>Type:</em></span>
null or string matching the pattern [0-9]{3}\.[0-9]{2,3}\.[0-9]{2}</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">550.163.01</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/targets/generic-linux/gpu" target="_top">
&lt;home-manager/modules/targets/generic-linux/gpu&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.nixGL.packages"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.nixGL.packages"><code class="option">targets.genericLinux.nixGL.packages</code>
</a>
</span>
</dt>
<dd>
<p>The nixGL package set containing GPU library wrappers. This can be used
to provide OpenGL and Vulkan access to applications on non-NixOS systems
by using <code class="literal">(config.lib.nixGL.wrap &lt;package&gt;)</code> for the default wrapper, or
<code class="literal">(config.lib.nixGL.wrappers.&lt;wrapper&gt; &lt;package&gt;)</code> for any available
wrapper.</p><p>The wrapper functions are always available. If this option is empty (the
default), they are a no-op. This is useful on NixOS where the wrappers
are unnecessary.</p><p>Note that using any Nvidia wrapper requires building the configuration
with the <code class="literal">--impure</code> option.</p>
<p><span class="emphasis"><em>Type:</em></span>
null or (attribute set)</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">inputs.nixGL.packages</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/targets/generic-linux/nixgl.nix" target="_top">
&lt;home-manager/modules/targets/generic-linux/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.nixGL.defaultWrapper"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.nixGL.defaultWrapper"><code class="option">targets.genericLinux.nixGL.defaultWrapper</code>
</a>
</span>
</dt>
<dd>
<p>The package wrapper function available for use as <code class="literal">(config.lib.nixGL.wrap &lt;package&gt;)</code>. Intended to start programs on the main GPU.</p><p>Wrapper functions can be found under <code class="literal">config.lib.nixGL.wrappers</code>. They
can be used directly, however, setting this option provides a convenient
shorthand.</p><p>The following wrappers are available:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>mesa</p></li><li class="listitem"><p>mesaPrime</p></li><li class="listitem"><p>nvidia</p></li><li class="listitem"><p>nvidiaPrime</p></li></ul></div>
<p><span class="emphasis"><em>Type:</em></span>
one of “mesa”, “mesaPrime”, “nvidia”, “nvidiaPrime”</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">&quot;mesa&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/targets/generic-linux/nixgl.nix" target="_top">
&lt;home-manager/modules/targets/generic-linux/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.nixGL.installScripts"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.nixGL.installScripts"><code class="option">targets.genericLinux.nixGL.installScripts</code>
</a>
</span>
</dt>
<dd>
<p>For each wrapper <code class="literal">wrp</code> named in the provided list, a wrapper script
named <code class="literal">nixGLWrp</code> is installed into the environment. These scripts are
useful for running programs not installed via Home Manager.</p><p>The following wrappers are available:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>mesa</p></li><li class="listitem"><p>mesaPrime</p></li><li class="listitem"><p>nvidia</p></li><li class="listitem"><p>nvidiaPrime</p></li></ul></div>
<p><span class="emphasis"><em>Type:</em></span>
null or (list of (one of “mesa”, “mesaPrime”, “nvidia”, “nvidiaPrime”))</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">null</code></p>
<p><span class="emphasis"><em>Example:</em></span></p><pre><code class="programlisting">[
&quot;mesa&quot;
&quot;mesaPrime&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/targets/generic-linux/nixgl.nix" target="_top">
&lt;home-manager/modules/targets/generic-linux/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.nixGL.offloadWrapper"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.nixGL.offloadWrapper"><code class="option">targets.genericLinux.nixGL.offloadWrapper</code>
</a>
</span>
</dt>
<dd>
<p>The package wrapper function available for use as
<code class="literal">(config.lib.nixGL.wrapOffload &lt;package&gt;)</code>. Intended to start programs
on the secondary GPU.</p><p>Wrapper functions can be found under <code class="literal">config.lib.nixGL.wrappers</code>. They
can be used directly, however, setting this option provides a convenient
shorthand.</p><p>The following wrappers are available:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>mesa</p></li><li class="listitem"><p>mesaPrime</p></li><li class="listitem"><p>nvidia</p></li><li class="listitem"><p>nvidiaPrime</p></li></ul></div>
<p><span class="emphasis"><em>Type:</em></span>
one of “mesa”, “mesaPrime”, “nvidia”, “nvidiaPrime”</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">&quot;mesaPrime&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/targets/generic-linux/nixgl.nix" target="_top">
&lt;home-manager/modules/targets/generic-linux/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.nixGL.prime.card"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.nixGL.prime.card"><code class="option">targets.genericLinux.nixGL.prime.card</code>
</a>
</span>
</dt>
<dd>
<p>Selects the non-default graphics card used for PRIME render offloading.
The value can be:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>a number, selecting the n-th non-default GPU;</p></li><li class="listitem"><p>a PCI bus id in the form <code class="literal">pci-XXX_YY_ZZ_U</code>;</p></li><li class="listitem"><p>a PCI id in the form <code class="literal">vendor_id:device_id</code></p></li></ul></div><p>For more information, consult the Mesa documentation on the <code class="literal">DRI_PRIME</code>
environment variable.</p>
<p><span class="emphasis"><em>Type:</em></span>
string</p>
<p><span class="emphasis"><em>Default:</em></span>
<code class="literal">&quot;1&quot;</code></p>
<p><span class="emphasis"><em>Example:</em></span>
<code class="literal">&quot;pci-0000_06_00_0&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/targets/generic-linux/nixgl.nix" target="_top">
&lt;home-manager/modules/targets/generic-linux/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.nixGL.prime.installScript"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.nixGL.prime.installScript"><code class="option">targets.genericLinux.nixGL.prime.installScript</code>
</a>
</span>
</dt>
<dd>
<p>If this option is set, the wrapper script <code class="literal">prime-offload</code> is installed
into the environment. It allows starting programs on the secondary GPU
selected by the <code class="literal">nixGL.prime.card</code> option. This makes sense when the
program is not already using one of nixGL PRIME wrappers, or for
programs not installed from Nixpkgs.</p><p>This option can be set to either “mesa” or “nvidia”, making the script
use one or the other graphics library.</p>
<p><span class="emphasis"><em>Type:</em></span>
null or one of “mesa”, “nvidia”</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;mesa&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/targets/generic-linux/nixgl.nix" target="_top">
&lt;home-manager/modules/targets/generic-linux/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.nixGL.prime.nvidiaProvider"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.nixGL.prime.nvidiaProvider"><code class="option">targets.genericLinux.nixGL.prime.nvidiaProvider</code>
</a>
</span>
</dt>
<dd>
<p>If this option is set, it overrides the offload provider for Nvidia
PRIME offloading. Consult the proprietary Nvidia driver documentation
on the <code class="literal">__NV_PRIME_RENDER_OFFLOAD_PROVIDER</code> environment variable.</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;NVIDIA-G0&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/targets/generic-linux/nixgl.nix" target="_top">
&lt;home-manager/modules/targets/generic-linux/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-targets.genericLinux.nixGL.vulkan.enable"></a><a class="term" href="options.xhtml#opt-targets.genericLinux.nixGL.vulkan.enable"><code class="option">targets.genericLinux.nixGL.vulkan.enable</code>
</a>
</span>
</dt>
<dd>
<p>Whether to enable Vulkan in nixGL wrappers.</p><p>This is disabled by default bacause Vulkan brings in several libraries
that can cause symbol version conflicts in wrapped programs. Your
mileage may vary.</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>Example:</em></span>
<code class="literal">true</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/targets/generic-linux/nixgl.nix" target="_top">
&lt;home-manager/modules/targets/generic-linux/nixgl.nix&gt;
</a></code>
</td></tr>
</table>
</dd>
<dt>
<span class="term">
<a id="opt-uninstall"></a><a class="term" href="options.xhtml#opt-uninstall"><code class="option">uninstall</code>