mv chaotic to graphics.amd

This commit is contained in:
cnst
2024-10-24 17:25:38 +02:00
parent 7654790609
commit 67ab059b11
6 changed files with 106 additions and 40 deletions

View File

@@ -51,6 +51,11 @@
graphics = {
amd = {
enable = true;
extraPackages = false;
chaotic = {
enable = true;
extraPackages = true;
};
};
nvidia = {
enable = false;
@@ -182,12 +187,6 @@
anyrun = {
enable = false;
};
chaotic = {
enable = true;
amd = {
enable = true;
};
};
corectrl = {
enable = true;
};

View File

@@ -34,6 +34,11 @@
graphics = {
amd = {
enable = true;
extraPackages = true;
chaotic = {
enable = false;
extraPackages = false;
};
};
nvidia = {
enable = false;
@@ -160,12 +165,6 @@
brightnessctl = {
enable = true;
};
chaotic = {
enable = false;
amd = {
enable = false;
};
};
corectrl = {
enable = false;
};

View File

@@ -182,12 +182,6 @@
corectrl = {
enable = false;
};
chaotic = {
enable = false;
amd = {
enable = false;
};
};
microfetch = {
enable = true;
};

View File

@@ -107,7 +107,6 @@
./nixos/utils/android
./nixos/utils/anyrun
./nixos/utils/brightnessctl
./nixos/utils/chaotic
./nixos/utils/corectrl
./nixos/utils/microfetch
./nixos/utils/misc

View File

@@ -4,7 +4,7 @@
config,
...
}: let
inherit (lib) mkOption;
inherit (lib) mkOption mkIf;
cfg = config.nixos.boot.kernel;
in {
options = {
@@ -70,5 +70,9 @@ in {
)
++ cfg.extraBlacklistedModules;
};
chaotic = mkIf (cfg.variant == "cachyos") {
scx.enable = true;
};
};
}

View File

@@ -1,32 +1,103 @@
{
# pkgs,
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
inherit (lib) mkIf mkEnableOption mkOption mkMerge optional;
cfg = config.nixos.hardware.graphics.amd;
in {
options = {
nixos.hardware.graphics.amd.enable = mkEnableOption "Enables AMD graphics";
nixos.hardware.graphics.amd = {
enable = mkEnableOption "Enables AMD graphics";
extraPackages = mkOption {
type = lib.types.bool;
default = false;
description = "Whether to install AMD-specific extra packages.";
};
config = mkIf cfg.enable {
hardware = {
graphics = {
chaotic = {
enable = mkEnableOption "Enables chaotic mesa version";
extraPackages = mkOption {
type = lib.types.bool;
default = false;
description = "Whether to install AMD-specific chaotic extra packages.";
};
};
};
};
config = mkIf cfg.enable (mkMerge [
{
assertions = [
{
assertion = !(cfg.extraPackages && cfg.chaotic.extraPackages);
message = ''
Only one type of extraPackages can be set to true at the same time.
'';
}
];
hardware.graphics = {
enable = true;
enable32Bit = true;
# extraPackages = with pkgs; [
# libva
# vaapiVdpau
# libvdpau-va-gl
# amdvlk
# vulkan-tools
# ];
# extraPackages32 = with pkgs.pkgsi686Linux; [
# vaapiVdpau
# libvdpau-va-gl
# ];
};
};
extraPackages = optional cfg.extraPackages (with pkgs; [
libva
vaapiVdpau
libvdpau-va-gl
amdvlk
vulkan-tools
]);
extraPackages32 = optional cfg.extraPackages (with pkgs.pkgsi686Linux; [
vaapiVdpau
libvdpau-va-gl
]);
};
}
(mkIf cfg.chaotic.enable (mkMerge [
{
chaotic.scx.enable = true;
}
(mkIf cfg.chaotic.extraPackages {
chaotic = {
scx.scheduler = "scx_lavd";
mesa-git = {
enable = true;
extraPackages = with pkgs; [
libva
libvdpau-va-gl
vaapiVdpau
libdrm_git
latencyflex-vulkan
mesa_git
mesa_git.opencl
vulkanPackages_latest.gfxreconstruct
vulkanPackages_latest.spirv-cross
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
pkgs.mesa32_git.opencl
libdrm32_git
libva
libvdpau-va-gl
vaapiVdpau
];
};
};
})
]))
]);
}