Files
nix/modules/system/nvidia/default.nix
2025-10-25 14:36:52 -05:00

38 lines
1007 B
Nix
Executable File

{
pkgs,
config,
lib,
...
}: let
cfg = config.system.nvidia;
in {
options.system.nvidia = {
enable = lib.mkEnableOption "enables nvidia";
};
config = lib.mkIf cfg.enable {
services.xserver.videoDrivers = ["nvidia"];
boot.kernelModules = ["nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm"];
# boot.kernelModules = [ "nvidia" ];
hardware.graphics = {
enable = true;
enable32Bit = true;
};
# enable nvidia proprietary driver
hardware.nvidia = {
modesetting.enable = true; # required
open = false; # use proprietary driver
nvidiaSettings = true; # no shit
powerManagement.enable = false; # can cause sleep issues
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
# enable docker gpu passthrough
hardware.nvidia-container-toolkit.enable = true;
virtualisation.docker.daemon.settings.features.cdi = true;
virtualisation.docker.rootless.daemon.settings.features.cdi = true;
};
}