hyprland module consolidation and some refactoring

This commit is contained in:
cnst
2024-10-29 18:33:37 +01:00
parent 9609b2a47a
commit 9f05e45d68
46 changed files with 1115 additions and 806 deletions

View File

@@ -12,11 +12,10 @@ in {
enable = mkEnableOption "AMD graphics support";
packageSet = mkOption {
type = types.enum ["standard" "chaotic" "minimal"];
default = "minimal";
type = types.enum ["standard" "chaotic"];
default = "standard";
description = ''
Which set of AMD graphics packages to use:
- minimal: Only basic drivers and libraries
- standard: Additional AMD-specific tools and utilities
- chaotic: Chaotic Mesa git version with additional optimizations
'';
@@ -26,35 +25,37 @@ in {
config = mkIf cfg.enable (mkMerge [
{
# Base configuration that applies regardless of package set
# Base configuration
hardware.graphics = {
enable = true;
enable32Bit = true;
};
}
# Standard Package Set
(mkIf (cfg.packageSet == "standard") {
hardware.graphics = {
extraPackages = with pkgs; [
libva
vaapiVdpau
libvdpau-va-gl
amdvlk
vulkan-tools
];
extraPackages32 = with pkgs.pkgsi686Linux; [
vaapiVdpau
libvdpau-va-gl
];
};
hardware.graphics.extraPackages = with pkgs; [
libva
vaapiVdpau
libvdpau-va-gl
vulkan-loader
vulkan-validation-layers
vulkan-extension-layer
];
hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [
vaapiVdpau
libvdpau-va-gl
];
environment.systemPackages = with pkgs; [
vulkan-tools
wayland
wayland-protocols
];
})
# Chaotic Package Set
(mkIf (cfg.packageSet == "chaotic") {
chaotic = {
scx = {
enable = true;
scheduler = "scx_lavd";
};
mesa-git = {
enable = true;
extraPackages = with pkgs; [
@@ -65,18 +66,14 @@ in {
latencyflex-vulkan
mesa_git
mesa_git.opencl
vulkanPackages_latest.gfxreconstruct
vulkanPackages_latest.spirv-cross
vulkanPackages_latest.vulkan-loader
vulkanPackages_latest.vulkan-headers
vulkanPackages_latest.vulkan-validation-layers
vulkanPackages_latest.vulkan-extension-layer
vulkanPackages_latest.vulkan-utility-libraries
vulkanPackages_latest.vulkan-volk
vulkanPackages_latest.spirv-headers
vulkanPackages_latest.spirv-tools
vulkanPackages_latest.vulkan-extension-layer
vulkanPackages_latest.vulkan-headers
vulkanPackages_latest.vulkan-loader
vulkanPackages_latest.vulkan-tools
vulkanPackages_latest.vulkan-tools-lunarg
vulkanPackages_latest.vulkan-utility-libraries
vulkanPackages_latest.vulkan-validation-layers
vulkanPackages_latest.vulkan-volk
];
extraPackages32 = with pkgs.pkgsi686Linux; [
pkgs.mesa32_git
@@ -88,6 +85,14 @@ in {
];
};
};
environment.systemPackages = with pkgs; [
vulkanPackages_latest.vulkan-tools
vulkanPackages_latest.vulkan-tools-lunarg
vulkanPackages_latest.gfxreconstruct
vulkanPackages_latest.spirv-cross
wayland-protocols_git
wayland_git
];
})
]);
}