39 lines
1.3 KiB
Nix
39 lines
1.3 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
let
|
|
cfg = config.my;
|
|
in
|
|
{
|
|
config = lib.mkIf cfg.nvidia.enable {
|
|
services.xserver.videoDrivers = lib.optionals cfg.nvidia.enable ["nvidia"];
|
|
hardware.nvidia = {
|
|
modesetting.enable = true;
|
|
powerManagement.enable = true;
|
|
powerManagement.finegrained = false;
|
|
open = true;
|
|
nvidiaSettings = false;
|
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
|
#package = config.boot.kernelPackages.nvidiaPackages.beta;
|
|
package =
|
|
(config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
|
version = "590.48.01";
|
|
sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok=";
|
|
sha256_aarch64 = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
|
|
openSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
|
|
settingsSha256 = null;
|
|
persistencedSha256 = lib.fakeSha256;
|
|
}).overrideAttrs (_: {
|
|
dontBuildSettings = true; # ← THIS is the key
|
|
});
|
|
};
|
|
hardware.nvidia-container-toolkit.enable = config.virtualisation.docker.enable;
|
|
environment.systemPackages = with pkgs; [
|
|
nvidia_oc
|
|
nvidia-vaapi-driver
|
|
]
|
|
++ lib.optionals config.virtualisation.docker.enable [
|
|
nvidia-docker
|
|
nvidia-container-toolkit
|
|
];
|
|
};
|
|
}
|