From 076da97cf15631c3bc93d351a0de267c0d4a87df Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Fri, 16 May 2025 12:57:10 +0200 Subject: [PATCH] nixos/hardware/nvidia: add prime.offload.offloadCmdMainProgram prime-run is the default name on arch linux. This allows me and some others I found on github to slim their config. (cherry picked from commit 340cd4a44555ef472865d36b06a9e41b3810c72f) --- nixos/modules/hardware/video/nvidia.nix | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 48f8ded73c64..21a9d35a451c 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -204,11 +204,22 @@ in prime.offload.enableOffloadCmd = lib.mkEnableOption '' adding a `nvidia-offload` convenience script to {option}`environment.systemPackages` - for offloading programs to an nvidia device. To work, should have also enabled + for offloading programs to an nvidia device. To work, you must also enable {option}`hardware.nvidia.prime.offload.enable` or {option}`hardware.nvidia.prime.reverseSync.enable`. - Example usage `nvidia-offload sauerbraten_client` + Example usage: `nvidia-offload sauerbraten_client` + + This script can be renamed with {option}`hardware.nvidia.prime.offload.enableOffloadCmd`. ''; + prime.offload.offloadCmdMainProgram = lib.mkOption { + type = lib.types.str; + description = '' + Specifies the CLI name of the {option}`hardware.nvidia.prime.offload.enableOffloadCmd` + convenience script for offloading programs to an nvidia device. + ''; + default = "nvidia-offload"; + example = "prime-run"; + }; prime.reverseSync.enable = lib.mkEnableOption '' NVIDIA Optimus support using the NVIDIA proprietary driver via reverse @@ -558,7 +569,7 @@ in lib.optional cfg.nvidiaSettings nvidia_x11.settings ++ lib.optional cfg.nvidiaPersistenced nvidia_x11.persistenced ++ lib.optional offloadCfg.enableOffloadCmd ( - pkgs.writeShellScriptBin "nvidia-offload" '' + pkgs.writeShellScriptBin cfg.prime.offload.offloadCmdMainProgram '' export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 export __GLX_VENDOR_LIBRARY_NAME=nvidia