summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Keller <tjk@tjkeller.xyz>2026-08-04 12:29:17 -0500
committerTim Keller <tjk@tjkeller.xyz>2026-08-04 12:29:17 -0500
commit2beb167341f90c09425e25eb044d8103db509926 (patch)
tree87eb4c0629cfac947d0fb1e67c538568d61ad923
parenta653121ef3d285d2484ed865d6c9460ff81dfb0d (diff)
downloadnixos-2beb167341f90c09425e25eb044d8103db509926.tar.xz
nixos-2beb167341f90c09425e25eb044d8103db509926.zip
use allowUnfreeCudaPredicate instead of blanket allowUnfree for poweredge
-rw-r--r--hosts/poweredge/configuration.nix3
-rw-r--r--hosts/poweredge/nvidia.nix13
2 files changed, 10 insertions, 6 deletions
diff --git a/hosts/poweredge/configuration.nix b/hosts/poweredge/configuration.nix
index c15f222..adf7515 100644
--- a/hosts/poweredge/configuration.nix
+++ b/hosts/poweredge/configuration.nix
@@ -14,9 +14,6 @@
#./notification-mailer.nix # TODO move some of this stuff to archetype
];
- # Allow unfree packages for nvidia/cuda
- nixpkgs.config.allowUnfree = true;
-
# Setup bootloader
boot._loader.enable = true;
diff --git a/hosts/poweredge/nvidia.nix b/hosts/poweredge/nvidia.nix
index 257a46c..5eecc71 100644
--- a/hosts/poweredge/nvidia.nix
+++ b/hosts/poweredge/nvidia.nix
@@ -1,7 +1,14 @@
-{ config, pkgs, ... }: {
+{ lib, config, pkgs, ... }: {
# Configure nixpkgs for nvidia/cuda
- nixpkgs.config.allowUnfree = true;
- nixpkgs.config.cudaSupport = true;
+ nixpkgs.config = {
+ cudaSupport = true;
+ allowUnfreePredicate = pkg:
+ pkgs._cuda.lib.allowUnfreeCudaPredicate pkg
+ || builtins.elem (lib.getName pkg) [
+ "nvidia-x11"
+ "nvidia-kernel-modules"
+ ];
+ };
# NVIDIA
services.xserver.videoDrivers = [ "nvidia" ]; # xserver.videoDrivers does not imply X