To whoever is reading: NixOS currently ships with a broken Nvidia driver - 580.105.08. It is known to break a lot when trying to detect monitor resolutions.
The fix is to either force the use of the older driver - 580.95.05, or use the newest beta driver - 590.44.01.
Here’s how to do that (pick whichever):
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "590.44.01";
sha256_64bit = "sha256-VbkVaKwElaazojfxkHnz/nN/5olk13ezkw/EQjhKPms=";
sha256_aarch64 = "sha256-gpqz07aFx+lBBOGPMCkbl5X8KBMPwDqsS+knPHpL/5g=";
openSha256 = "sha256-jvYhrzHgF4h7FviQG7fulE8FGoWZfBVQxdqo+9bsEYs=";
settingsSha256 = "sha256-wVf1hku1l5OACiBeIePUMeZTWDQ4ueNvIk6BsW/RmF4=";
persistencedSha256 = "sha256-vrmZDSESvKDxNg/9R8a3G/zAAB1E6Sm9lR1+hBC0HKk=";
# Old working values
# version = "580.95.05";
# sha256_64bit = "sha256-hJ7w746EK5gGss3p8RwTA9VPGpp2lGfk5dlhsv4Rgqc=";
# sha256_aarch64 = "sha256-zLRCbpiik2fGDa+d80wqV3ZV1U1b4lRjzNQJsLLlICk=";
# openSha256 = "sha256-RFwDGQOi9jVngVONCOB5m/IYKZIeGEle7h0+0yGnBEI=";
# settingsSha256 = "sha256-F2wmUEaRrpR1Vz0TQSwVK4Fv13f3J9NJLtBe4UP2f14=";
# persistencedSha256 = "sha256-QCwxXQfG/Pa7jSTBB0xD3lsIofcerAWWAHKvWjWGQtg=";
};
Edit: I just realized we necroed a thread. Whoops! This should be moved to its own new thread for anyone experiencing issues with Nvidia until the drivers in the repos are updated.