This commit is contained in:
marked 2025-03-29 19:05:05 +01:00
commit 24a865004a
94 changed files with 6074 additions and 0 deletions

View file

@ -0,0 +1,15 @@
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.drivers.amdgpu;
in
{
options.drivers.amdgpu = {
enable = mkEnableOption "Enable AMD Drivers";
};
config = mkIf cfg.enable {
systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ];
services.xserver.videoDrivers = [ "amdgpu" ];
};
}

View file

@ -0,0 +1,10 @@
{ ... }:
{
imports = [
./intel-drivers.nix
./nvidia-drivers.nix
./nvidia-prime-drivers.nix
./amd-drivers.nix
];
}

View file

@ -0,0 +1,22 @@
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.drivers.intel;
in
{
options.drivers.intel = {
enable = mkEnableOption "Enable Intel Graphics Drivers";
};
config = mkIf cfg.enable {
# OpenGL
hardware.graphics = {
extraPackages = with pkgs; [
intel-media-driver
vaapiIntel
vaapiVdpau
libvdpau-va-gl
];
};
};
}

View file

@ -0,0 +1,28 @@
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.drivers.nvidia;
in
{
options.drivers.nvidia = {
enable = mkEnableOption "Enable Nvidia Drivers";
};
config = mkIf cfg.enable {
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.latest;
};
#hardware.graphics.extraPackages = with pkgs; [
# vaapiVdpau
# libvdpau-va-gl
# intel-media-driver
# nvidia-vaapi-driver
#];
};
}

View file

@ -0,0 +1,36 @@
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.drivers.nvidia-prime;
in
{
options.drivers.nvidia-prime = {
enable = mkEnableOption "Enable Nvidia Prime Sync";
intelBusId = mkOption {
type = types.str;
default = "PCI:1:0:0";
};
nvidiaBusId = mkOption {
type = types.str;
default = "PCI:0:2:0";
};
};
config = mkIf cfg.enable {
hardware.nvidia.prime = {
sync.enable = true;
#offload = {
# enable = true;
# enableOffloadCmd = true;
#};
intelBusId = "${cfg.intelBusId}";
nvidiaBusId = "${cfg.nvidiaBusId}";
};
#hardware.graphics.extraPackages = with pkgs; [
# vaapiVdpau
# libvdpau-va-gl
# intel-media-driver
# nvidia-vaapi-driver
#];
};
}