{ config, lib, pkgs, ... }: let gpl_symbols_linux_615_patch = pkgs.fetchpatch { url = "https://github.com/CachyOS/kernel-patches/raw/914aea4298e3744beddad09f3d2773d71839b182/6.15/misc/nvidia/0003-Workaround-nv_vm_flags_-calling-GPL-only-code.patch"; hash = "sha256-YOTAvONchPPSVDP9eJ9236pAPtxYK5nAePNtm2dlvb4="; stripLen = 1; extraPrefix = "kernel/"; }; in { hardware.graphics = { enable = true; enable32Bit = true; }; services.xserver.videoDrivers = [ "nvidia" ]; hardware.nvidia = { modesetting.enable = true; powerManagement.enable = true; powerManagement.finegrained = false; # note: fails to build after 560 nvidiaSettings = false; # sadly still very crashy :( open = false; # nice way: # package = config.boot.kernelPackages.nvidiaPackages.beta; # manual way: package = config.boot.kernelPackages.nvidiaPackages.mkDriver { version = "575.57.08"; sha256_64bit = "sha256-KqcB2sGAp7IKbleMzNkB3tjUTlfWBYDwj50o3R//xvI="; sha256_aarch64 = "sha256-VJ5z5PdAL2YnXuZltuOirl179XKWt0O4JNcT8gUgO98="; openSha256 = "sha256-DOJw73sjhQoy+5R0GHGnUddE6xaXb/z/Ihq3BKBf+lg="; settingsSha256 = "sha256-AIeeDXFEo9VEKCgXnY3QvrW5iWZeIVg4LBCeRtMs5Io="; persistencedSha256 = "sha256-Len7Va4HYp5r3wMpAhL4VsPu5S0JOshPFywbO7vYnGo="; patches = [ gpl_symbols_linux_615_patch ]; }; }; }