nixos-hardware/lenovo/legion/16ach6h/default.nix
2022-12-19 14:36:29 +08:00

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";
};
})
];
}