refactor: complete rewrite

This commit is contained in:
ooks-io 2024-10-23 23:46:25 +13:00
parent 19a4bbda3c
commit 8e81943cf9
399 changed files with 3396 additions and 8042 deletions

View file

@ -0,0 +1,32 @@
{
config,
lib,
pkgs,
...
}: let
inherit (config.ooknet.hardware) gpu;
inherit (lib) mkIf mkDefault;
inherit (builtins) attrValues;
in {
config = mkIf (gpu.type == "amd") {
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"];
};
}

View file

@ -0,0 +1,7 @@
{
imports = [
./amd.nix
./intel.nix
./nvidia.nix
];
}

View file

@ -0,0 +1,39 @@
{
config,
lib,
pkgs,
...
}: let
inherit (config.ooknet.hardware) gpu;
inherit (lib) mkIf;
inherit (builtins) attrValues;
in {
config = mkIf (gpu.type == "intel") {
services.xserver.videoDrivers = ["modesetting"];
hardware.graphics = {
extraPackages = attrValues {
inherit
(pkgs)
vaapiIntel
vaapiVdpau
libvdpau-va-gl
intel-compute-runtime
intel-media-driver
;
};
extraPackages32 = attrValues {
inherit
(pkgs.pkgsi686Linux)
vaapiIntel
vaapiVdpau
libvdpau-va-gl
intel-media-driver
;
};
};
boot.initrd.kernelModules = ["i915"];
environment.variables = mkIf config.hardware.graphics.enable {
VDPAU_DRIVER = "va_gl";
};
};
}

View file

@ -0,0 +1,64 @@
{
config,
lib,
pkgs,
...
}: let
inherit (config.ooknet.hardware) gpu;
inherit (lib) mkIf mkDefault;
inherit (builtins) attrValues;
# production = config.boot.kernelPackages.nvidiaPackages.production;
inherit (config.boot.kernelPackages.nvidiaPackages) beta;
in {
config = mkIf (gpu.type == "nvidia") {
# need this even if using wayland
services.xserver.videoDrivers = ["nvidia"];
hardware = {
nvidia = {
open = false;
package = beta;
forceFullCompositionPipeline = true;
nvidiaSettings = false;
nvidiaPersistenced = true;
modesetting.enable = true;
powerManagement = {
enable = mkDefault false;
finegrained = mkDefault false;
};
};
graphics = {
extraPackages = [pkgs.nvidia-vaapi-driver];
extraPackages32 = [pkgs.pkgsi686Linux.nvidia-vaapi-driver];
};
};
environment.systemPackages = attrValues {
inherit
(pkgs)
libva
libva-utils
vulkan-loader
vulkan-validation-layers
vulkan-tools
vulkan-extension-layer
mesa
;
inherit (pkgs.nvtopPackages) nvidia;
};
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "nvidia";
NVD_BACKEND = "direct";
};
# https://github.com/ventureoo/nvidia-tweaks
services.udev.extraRules = ''
ACTION=="bind", SUBSYSTEM=="pci", DRIVERS=="nvidia", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="unbind", SUBSYSTEM=="pci", DRIVERS=="nvidia", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", TEST=="power/control", ATTR{power/control}="on"
'';
boot.kernelParams = [
"nvidia.NVreg_UsePageAttributeTable=1"
"nvidia.NVreg_InitializeSystemMemoryAllocations=0"
"nvidia.NVreg_EnableStreamMemOPs=1"
"nvidia.NVreg_RegistryDwords=__REGISTRYDWORDS"
];
};
}