Files
NixOS/modules/services/nvidia.nix
Danilo Reyes a3cc30d74c tdarr
2025-11-22 23:30:45 -06:00

39 lines
1.1 KiB
Nix

{
config,
lib,
pkgs,
...
}:
{
options.my.services.nvidia.enable = lib.mkEnableOption "NVIDIA GPU drivers and CUDA";
config = lib.mkIf config.my.services.nvidia.enable {
boot.kernelParams = lib.mkIf (config.networking.hostName == "workstation") [ "nvidia-drm.fbdev=1" ];
services.xserver.videoDrivers = [ "nvidia" ];
virtualisation.podman.enableNvidia = config.virtualisation.podman.enable;
environment.variables.CUDA_CACHE_PATH = "\${XDG_CACHE_HOME}/nv";
hardware = {
nvidia-container-toolkit.enable = true;
graphics = {
enable = true;
enable32Bit = true;
extraPackages = builtins.attrValues {
inherit (pkgs)
nvidia-vaapi-driver
libva-vdpau-driver
libvdpau-va-gl
vulkan-loader
mesa
;
};
};
nvidia = {
open = config.networking.hostName == "workstation";
package = config.boot.kernelPackages.nvidiaPackages.stable;
modesetting.enable = true;
powerManagement.enable = true;
powerManagement.finegrained = false;
};
};
};
}