{ config, lib, ... }: let cfg = config.custom.kernel.standard; in { options.custom.kernel.standard = { enable = lib.mkOption { type = lib.types.bool; default = true; }; }; config = lib.mkIf (cfg.enable) { hardware.nvidia = { modesetting.enable = true; powerManagement.enable = true; powerManagement.finegrained = false; open = true; nvidiaSettings = false; package = config.boot.kernelPackages.nvidiaPackages.stable; }; services.xserver.videoDrivers = [ "nvidia" "amdgpu" ]; boot = { initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" "uas" "usbcore" "usb_storage" "vfat" "nls_cp437" "nls_iso8859_1" "virtio_pci" "virtio_blk" "virtio_net" "virtio_ring" ]; initrd.kernelModules = [ "amdgpu" "nvidia" "nvidia_modeset" "nvidia_drm" ]; }; }; }