39 lines
873 B
Nix
39 lines
873 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (config.ooknet.hardware) gpu;
|
|
inherit (lib) mkIf mkDefault;
|
|
inherit (builtins) attrValues;
|
|
in {
|
|
config = mkIf (gpu.type == "amd") {
|
|
hardware.amdgpu = {
|
|
amdvlk = {
|
|
enable = true;
|
|
support32Bit.enable = true;
|
|
};
|
|
opencl.enable = true;
|
|
};
|
|
hardware.graphics = {
|
|
extraPackages = attrValues {
|
|
inherit
|
|
(pkgs)
|
|
vulkan-tools
|
|
vulkan-loader
|
|
vulkan-extension-layer
|
|
vulkan-validation-layers
|
|
mesa
|
|
;
|
|
};
|
|
extraPackages32 = [pkgs.driversi686Linux.amdvlk];
|
|
};
|
|
boot = {
|
|
initrd.kernelModules = ["amdgpu"];
|
|
kernelModules = ["amdgpu"];
|
|
};
|
|
environment.systemPackages = [pkgs.nvtopPackages.amd];
|
|
services.xserver.videoDrivers = mkDefault ["modesetting" "amdgpu"];
|
|
};
|
|
}
|