{ config, lib, modulesPath, pkgs, ... }: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ]; boot.extraModulePackages = [ ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.extraModprobeConfig = '' options nvidia NVreg_RegistryDwords="PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerLevel=0x3; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3" ''; boot.kernelParams = [ "resume_offset=533760" "nvidia_drm.modeset=1" "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ]; # TODO once the 550 drivers are better, switch to them hardware.nvidia.package = let rcu_patch = pkgs.fetchpatch { url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch"; hash = "sha256-eZiQQp2S/asE7MfGvfe6dA/kdCvek9SYa/FFGp24dVg="; }; in config.boot.kernelPackages.nvidiaPackages.mkDriver { version = "535.154.05"; sha256_64bit = "sha256-fpUGXKprgt6SYRDxSCemGXLrEsIA6GOinp+0eGbqqJg="; sha256_aarch64 = "sha256-G0/GiObf/BZMkzzET8HQjdIcvCSqB1uhsinro2HLK9k="; openSha256 = "sha256-wvRdHguGLxS0mR06P5Qi++pDJBCF8pJ8hr4T8O6TJIo="; settingsSha256 = "sha256-9wqoDEWY4I7weWW05F4igj1Gj9wjHsREFMztfEmqm10="; persistencedSha256 = "sha256-d0Q3Lk80JqkS1B54Mahu2yY/WocOqFFbZVBh+ToGhaE="; patches = [ rcu_patch ]; }; boot.resumeDevice = "/dev/disk/by-label/ROOT"; fileSystems."/" = { device = "/dev/disk/by-label/ROOT"; fsType = "btrfs"; options = [ "subvol=@" ]; }; fileSystems."/nix" = { device = "/dev/disk/by-label/ROOT"; fsType = "btrfs"; options = [ "subvol=@nix" ]; }; fileSystems."/swap" = { device = "/dev/disk/by-label/ROOT"; fsType = "btrfs"; options = [ "subvol=@swap" ]; }; fileSystems."/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; }; fileSystems."/home" = { device = "/dev/disk/by-label/HOME"; fsType = "btrfs"; options = [ "subvol=@" ]; }; fileSystems."/media/STORE" = { device = "/dev/disk/by-label/MS"; fsType = "btrfs"; options = [ "subvol=@" ]; }; swapDevices = [{ device = "/swap/swapfile"; }]; networking.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; }