1
0
mirror of https://github.com/NixOS/nixos-hardware synced 2024-06-24 13:38:31 +02:00

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 = [
@ -10,17 +10,29 @@
./edid
];
hardware.amdgpu.loadInInitrd = lib.mkDefault false;
config = lib.mkMerge [
{
hardware.amdgpu.loadInInitrd = lib.mkDefault false;
hardware.nvidia = {
modesetting.enable = lib.mkDefault true;
powerManagement.enable = lib.mkDefault true;
hardware.nvidia = {
modesetting.enable = lib.mkDefault true;
powerManagement.enable = lib.mkDefault true;
};
services.thermald.enable = lib.mkDefault true;
prime = {
amdgpuBusId = "PCI:6:0:0";
nvidiaBusId = "PCI:1:0:0";
};
};
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;
};
}
services.thermald.enable = lib.mkDefault true;
}
(lib.mkIf (config.specialisation != {}) {
hardware.nvidia.prime = {
amdgpuBusId = "PCI:6:0:0";
nvidiaBusId = "PCI:1:0:0";
};
})
];
}