{ pkgs, config, lib, ... }: { options = { modules.system.nvidia.enable = lib.mkEnableOption "enables nvidia"; }; config = lib.mkIf config.modules.system.nvidia.enable { # enable nvidia proprietary driver hardware.nvidia = { modesetting.enable = true; # required open = false; # use proprietary driver nvidiaSettings = true; # no shit powerManagement.enable = false; # can cause sleep issues package = config.boot.kernelPackages.nvidiaPackages.stable; }; # install nvidia-smi environment.systemPackages = with pkgs; [ nvidia-smi ]; # enable docker gpu passthrough virtualisation.docker.enableNvidia = true; }; }