WS-KCNHUB/machines/kcnhub/nvidia.nix

61 lines
1.6 KiB
Nix

{ config, lib, pkgs, ...}: {
# Make sure opengl is enabled
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
# Tell Xorg to use the nvidia driver (also valid for Wayland)
services.xserver.videoDrivers = [
# For the RTX 4000
"nvidia"
];
services.xserver.exportConfiguration = true;
hardware.nvidia = {
# Modesetting is needed for most Wayland compositors
modesetting.enable = true;
# Use the open source version of the kernel module
# Only available on driver 515.43.04+
# Seems to cause some issues with Tensorflow/CUDA/PyTorch
open = false;
# Enable the nvidia settings menu
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
# Allow Unfree, Nvidia, CUDA, and derived packages.
nixpkgs.config.allowUnfree = true;
nixpkgs.config.cudaSupport = true;
# Add cuda to system environment
environment.systemPackages = with pkgs; [
cudatoolkit
# Cudatoolkit by default only supports gcc11 for our version
gcc11
];
# Some packages (such as pyCuda expect this include path to be exposed)
environment.sessionVariables = {
CPATH = [
"${pkgs.cudatoolkit}/include"
];
};
# Use Prebuilt Cached Versions of CUDA Packages
nix.settings = {
substituters = [
"https://cuda-maintainers.cachix.org"
];
trusted-public-keys = [
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
];
};
}