nixos-configuration/nix-os/nvidia.nix

46 lines
2 KiB
Nix

{ config, lib, pkgs, ...}:
{
hardware.graphics = {
enable = true;
enable32Bit = true;
};
# Workaround for nvidia driver ghost display
boot.kernelParams = [ "nvidia_drm.fbdev=1" ];
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "565.77";
sha256_64bit = "sha256-CnqnQsRrzzTXZpgkAtF7PbH9s7wbiTRNcM0SPByzFHw=";
sha256_aarch64 = "sha256-LSAYUnhfnK3rcuPe1dixOwAujSof19kNOfdRHE7bToE=";
openSha256 = "sha256-Fxo0t61KQDs71YA8u7arY+503wkAc1foaa51vi2Pl5I=";
settingsSha256 = "sha256-VUetj3LlOSz/LB+DDfMCN34uA4bNTTpjDrb6C6Iwukk=";
persistencedSha256 = "sha256-wnDjC099D8d9NJSp9D0CbsL+vfHXyJFYYgU3CwcqKww=";
patchesOpen = lib.map pkgs.fetchpatch [
{
url = "https://github.com/CachyOS/CachyOS-PKGBUILDS/raw/1d09fe10034e497c8f362654fb09e96d5c01e49e/nvidia/nvidia-utils/0001-Make-modeset-and-fbdev-default-enabled.patch";
hash = "sha256-1sunUtRQCBC3zB75YwXmwESZqaGm92L12Mcymt5pQ2U=";
}
{
url = "https://github.com/CachyOS/CachyOS-PKGBUILDS/raw/1d09fe10034e497c8f362654fb09e96d5c01e49e/nvidia/nvidia-utils/0008-Kbuild-Use-absolute-paths-for-symbolic-links.patch";
hash = "sha256-7pf0lhbWna7dv6tgn8gZUMzZnTa9Gi7FiQQ+oba2Yj8=";
}
{
url = "https://github.com/CachyOS/CachyOS-PKGBUILDS/raw/1d09fe10034e497c8f362654fb09e96d5c01e49e/nvidia/nvidia-utils/0009-FROM-AOSC-Use-linux-aperture.c-for-removing-conflict.patch";
hash = "sha256-zxr5Ljoeb2W0esu7JDB/w/5VM0RZuuB9BKr/rJ0zdQc=";
}
{
url = "https://github.com/CachyOS/CachyOS-PKGBUILDS/raw/1d09fe10034e497c8f362654fb09e96d5c01e49e/nvidia/nvidia-utils/0010-FROM-AOSC-TTM-fbdev-emulation-for-Linux-6.13.patch";
hash = "sha256-dCVj43rF5ctuR9ORx6m0IaC8H3q+iGpvG/FBHTnpcZc=";
}
];
};
};
nixpkgs.config.nvidia.acceptLicense = true;
}