nvidia fix
This commit is contained in:
parent
80be473c14
commit
3fc6966bf5
@ -42,8 +42,9 @@
|
||||
enable = true;
|
||||
blueman.enable = false;
|
||||
};
|
||||
nvidiaRTX.enable = false;
|
||||
nvidiaRTX.disable = false;
|
||||
nvidia = {
|
||||
enable = false;
|
||||
};
|
||||
printing.enable = true;
|
||||
login = {
|
||||
sddm.enable = false;
|
||||
|
||||
@ -45,7 +45,10 @@
|
||||
enable = true;
|
||||
blueman.enable = true;
|
||||
};
|
||||
nvidia.enable = true;
|
||||
nvidia = {
|
||||
enable = true;
|
||||
mode = "offload";
|
||||
};
|
||||
printing.enable = true;
|
||||
login = {
|
||||
sddm.enable = true;
|
||||
|
||||
@ -28,6 +28,7 @@
|
||||
wlogout.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
# XDG Portals configuration
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.config = {
|
||||
common = {
|
||||
@ -36,11 +37,11 @@
|
||||
};
|
||||
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-hyprland];
|
||||
|
||||
# Services for the Hyprland module
|
||||
services.network-manager-applet.enable = true;
|
||||
services.dunst.enable = true;
|
||||
|
||||
programs.hyprlock.enable = true;
|
||||
|
||||
# Home session variables
|
||||
home.sessionVariables = {
|
||||
WLR_NO_HARDWARE_CURSORS = "1";
|
||||
NIXOS_OZONE_WL = "1";
|
||||
|
||||
@ -4,22 +4,23 @@
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
sys.nvidia = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
default = {
|
||||
enable = false;
|
||||
disable = false;
|
||||
};
|
||||
sys.nvidia.enable = lib.mkEnableOption "Enable NVIDIA graphics support";
|
||||
|
||||
sys.nvidia.mode = lib.mkOption {
|
||||
type = lib.types.enum ["offload" "sync" "reverse" "disable" "none"];
|
||||
default = "none";
|
||||
description = ''
|
||||
NVIDIA graphics support.
|
||||
NVIDIA graphics mode.
|
||||
'';
|
||||
};
|
||||
sys.nvidiaRTX.enable = lib.mkEnableOption "Enable NVIDIA Prime graphics support";
|
||||
sys.nvidiaRTX.disable = lib.mkEnableOption "Disable NVIDIA graphics completely";
|
||||
sys.nvidia.optimus.offload = lib.mkEnableOption "Enable NVIDIA Prime graphics support";
|
||||
sys.nvidia.optimus.sync = lib.mkEnableOption "Enable NVIDIA Prime sync";
|
||||
sys.nvidia.optimus.reverse = lib.mkEnableOption "Enable NVIDIA Prime reverse sync";
|
||||
sys.nvidia.disable = lib.mkEnableOption "Disable NVIDIA graphics completely";
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf config.sys.nvidiaRTX.enable {
|
||||
(lib.mkIf config.sys.nvidia.enable {
|
||||
hardware = {
|
||||
graphics.enable = true;
|
||||
};
|
||||
@ -54,17 +55,27 @@
|
||||
nvidiaSettings = true;
|
||||
prime.amdgpuBusId = "pci@000:04:0";
|
||||
prime.nvidiaBusId = "pci@000:01:0";
|
||||
|
||||
prime.offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
})
|
||||
(lib.mkIf config.sys.nvidiaRTX.disable {
|
||||
(lib.mkIf config.sys.nvidia.optimus.offload {
|
||||
hardware.nvidia.prime.offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
})
|
||||
(lib.mkIf config.sys.nvidia.optimus.sync {
|
||||
hardware.nvidia.prime.sync.enable = true;
|
||||
})
|
||||
(lib.mkIf config.sys.nvidia.optimus.reverse {
|
||||
hardware.nvidia.prime = {
|
||||
reverseSync.enable = true;
|
||||
# Enable if using an external GPU
|
||||
allowExternalGpu = false;
|
||||
};
|
||||
})
|
||||
(lib.mkIf config.sys.nvidia.disable {
|
||||
boot.extraModprobeConfig = ''
|
||||
blacklist nouveau
|
||||
options nouveau modeset=0
|
||||
|
||||
@ -42,16 +42,29 @@
|
||||
enable = lib.mkDefault true;
|
||||
blueman.enable = lib.mkDefault true;
|
||||
};
|
||||
nvidia.enable = lib.mkDefault false;
|
||||
|
||||
nvidiaRTX.enable =
|
||||
if config.sys.nvidia.enable == true
|
||||
then lib.mkDefault true
|
||||
else lib.mkDefault false;
|
||||
nvidiaRTX.disable =
|
||||
if config.sys.nvidia.enable == true
|
||||
then lib.mkDefault false
|
||||
else lib.mkDefault true;
|
||||
nvidia = {
|
||||
enable = lib.mkDefault false;
|
||||
mode = lib.mkDefault "none";
|
||||
optimus = {
|
||||
offload =
|
||||
if config.sys.nvidia.mode == "offload"
|
||||
then true
|
||||
else false;
|
||||
sync =
|
||||
if config.sys.nvidia.mode == "sync"
|
||||
then true
|
||||
else false;
|
||||
reverse =
|
||||
if config.sys.nvidia.mode == "reverse"
|
||||
then true
|
||||
else false;
|
||||
};
|
||||
disable =
|
||||
if config.sys.nvidia.mode == "disable"
|
||||
then true
|
||||
else false;
|
||||
};
|
||||
|
||||
printing.enable = lib.mkDefault true;
|
||||
login = {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user