{ outputs, options, config, lib, pkgs, ... }: let cfg = config.modules.hardware.nvidia; in { imports = [ ./prime.nix ]; options.modules.hardware.nvidia = { enable = lib.mkEnableOption false; }; config = lib.mkIf cfg.enable { hardware.graphics = { enable = true; enable32Bit = true; }; # regardless of if you have intel/nvidia # or amd/nvidia this HAS to be nvidia only # or else it will not work services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia = { # wayland support modesetting.enable = true; # TODO(sako) add this as a cfg option # set to true if you have an rtx or newer graphics card # else set to false open = false; # settings nvidiaSettings = true; # screen tearing fix # might consume more power?? dont know, shouldnt be an issue hopefully forceFullCompositionPipeline = true; # Package package = config.boot.kernelPackages.nvidiaPackages.stable; }; }; }