nixos-config/modules/nixos/system/hardware/gpu/amd/default.nix

35 lines
714 B
Nix

{
lib,
config,
pkgs,
namespace,
...
}:
let
inherit (lib) mkIf mkEnableOption;
cfg = config.${namespace}.system.hardware.gpu.amd;
amdvlk-run = pkgs.writeShellScriptBin "amdvlk-run" ''
export VK_DRIVER_FILES="${pkgs.amdvlk}/share/vulkan/icd.d/amd_icd64.json:${pkgs.pkgsi686Linux.amdvlk}/share/vulkan/icd.d/amd_icd32.json"
exec "$@"
'';
in
{
options.${namespace}.system.hardware.gpu.amd = {
enable = mkEnableOption "Enable AMD GPU";
};
config = mkIf cfg.enable {
hardware.graphics = {
enable = true;
enable32Bit = true;
};
environment = {
systemPackages = [ amdvlk-run ];
variables = {
AMD_VULKAN_ICD = "RADV";
};
};
};
}