Files
LillyOS/modules/core/nvidia.nix

38 lines
1.4 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 = true;
# 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";
url = "https://de.download.nvidia.com/XFree86/Linux-x86_64/590.48.01/NVIDIA-Linux-x86_64-590.48.01.run";
# sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok=";
# sha256_aarch64 = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
# openSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
# settingsSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
# persistencedSha256 = lib.fakeSha256;
};
};
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
];
};
}