38 lines
1.2 KiB
Nix
38 lines
1.2 KiB
Nix
{ config, lib, ... }:
|
|
|
|
{
|
|
imports = [
|
|
../../../common/cpu/amd
|
|
../../../common/gpu/amd
|
|
../../../common/gpu/nvidia/prime.nix
|
|
../../../common/pc/laptop
|
|
../../../common/pc/laptop/ssd
|
|
./edid
|
|
];
|
|
|
|
config = lib.mkMerge [
|
|
{
|
|
hardware.amdgpu.loadInInitrd = lib.mkDefault false;
|
|
|
|
hardware.nvidia = {
|
|
modesetting.enable = lib.mkDefault true;
|
|
powerManagement.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";
|
|
};
|
|
})
|
|
];
|
|
} |