Add specialisation for “DDG" mode is enabled

This commit is contained in:
ChaosAttractor 2022-12-19 13:03:23 +08:00
parent dea6ef85a1
commit b53fc0a785

View file

@ -1,4 +1,4 @@
{ lib, ... }: { config, lib, ... }:
{ {
imports = [ imports = [
@ -10,17 +10,29 @@
./edid ./edid
]; ];
config = lib.mkMerge [
{
hardware.amdgpu.loadInInitrd = lib.mkDefault false; hardware.amdgpu.loadInInitrd = lib.mkDefault false;
hardware.nvidia = { hardware.nvidia = {
modesetting.enable = lib.mkDefault true; modesetting.enable = lib.mkDefault true;
powerManagement.enable = lib.mkDefault true; powerManagement.enable = lib.mkDefault true;
prime = {
amdgpuBusId = "PCI:6:0:0";
nvidiaBusId = "PCI:1:0:0";
};
}; };
services.thermald.enable = lib.mkDefault true; services.thermald.enable = lib.mkDefault true;
specialisation.ddg.configuration = {
# This specialisation is for the case where "DDG" (A hardware feature that can enable in bios) is enabled, since the amd igpu is blocked at hardware level and the built-in display is directly connected to the dgpu, we no longer need the amdgpu and prime configuration.
services.xserver.videoDrivers = [ "nvidia" ]; # This will override services.xserver.videoDrivers = lib.mkDefault [ "amdgpu" "nvidia" ];
hardware.nvidia.prime.offload.enable = false;
};
}
(lib.mkIf (config.specialisation != {}) {
hardware.nvidia.prime = {
amdgpuBusId = "PCI:6:0:0";
nvidiaBusId = "PCI:1:0:0";
};
})
];
} }