Commit e41331c

HPCesia <me@hpcesia.com>
2026-10-23 02:00:06
kevin: fix nvidia patchelf corruption
1 parent 5546021
Changed files (1)
modules
hosts
modules/hosts/kevin/hardware.nix
@@ -28,7 +28,19 @@
 
       boot.kernelPackages = pkgs.linuxPackages_latest;
 
-      hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.latest;
+      # Work around patchelf 0.19.2 corrupting the prebuilt NVIDIA programs,
+      # which makes ld.so segfault. https://github.com/NixOS/patchelf/issues/674
+      # TODO: Drop this after https://github.com/NixOS/nixpkgs/pull/576397 merge into nixos-unstable
+      hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.latest.overrideAttrs (old: {
+        postFixup = ''
+          for prog in "$bin"/origBin/*; do
+            name=$(basename "$prog")
+            install -m755 "$prog" "$bin/bin/$name"
+            patchelf --set-rpath "$out/lib:$libPath" "$bin/bin/$name"
+            patchelf --set-interpreter "$(cat "$NIX_CC/nix-support/dynamic-linker")" "$bin/bin/$name"
+          done
+        '';
+      });
 
       hardware.keyboard.qmk = {
         enable = true;