82 lines
2.4 KiB
Nix
Executable File
82 lines
2.4 KiB
Nix
Executable File
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
systemName,
|
|
...
|
|
}:
|
|
|
|
let
|
|
# Shared VA-API / VDPAU bits across both machines
|
|
commonVA = with pkgs; [
|
|
libva
|
|
libva-vdpau-driver
|
|
libvdpau-va-gl
|
|
];
|
|
in
|
|
{
|
|
# ── Graphics ─────────────────────────────────────────────────────────────────
|
|
hardware.graphics = lib.mkMerge [
|
|
# Laptop: Intel stack
|
|
(lib.mkIf (systemName == "laptop") {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
extraPackages = with pkgs; [
|
|
intel-media-driver
|
|
intel-vaapi-driver
|
|
vpl-gpu-rt
|
|
] ++ commonVA;
|
|
})
|
|
|
|
# PC: AMD/ROCm stack
|
|
(lib.mkIf (systemName == "pc") {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
extraPackages = with pkgs; [
|
|
rocmPackages.rocm-core
|
|
rocmPackages.rocminfo
|
|
rocmPackages.rocm-runtime
|
|
rocmPackages.clr.icd
|
|
rocmPackages.rocm-smi
|
|
rocmPackages.clr
|
|
#rocmPackages.hipblas
|
|
rocmPackages.rocblas
|
|
rocmPackages.rocsolver
|
|
rocmPackages.rocm-comgr
|
|
rocmPackages.rocsparse
|
|
# amdvlk
|
|
# driversi686Linux.amdvlk
|
|
# mesa
|
|
# driversi686Linux.mesa
|
|
] ++ commonVA;
|
|
})
|
|
];
|
|
|
|
# ── Bluetooth ────────────────────────────────────────────────────────────────
|
|
hardware.bluetooth = {
|
|
enable = true; # Enable Bluetooth support
|
|
powerOnBoot = true; # Power up controller on boot
|
|
settings.General = {
|
|
#Enable = "Source,Sink,Media,Socket";
|
|
# Experimental = true;
|
|
};
|
|
};
|
|
|
|
# ── Tablets ─────────────────────────────────────────────────────────────────
|
|
hardware.opentabletdriver = {
|
|
enable = true;
|
|
daemon.enable = true;
|
|
};
|
|
hardware.enableRedistributableFirmware = true;
|
|
hardware.firmware = [
|
|
pkgs.linux-firmware
|
|
];
|
|
|
|
# ── Audio (disabled examples) ───────────────────────────────────────────────
|
|
# sound.enable = true;
|
|
# hardware.pulseaudio = {
|
|
# enable = true;
|
|
# package = pkgs.pulseaudioFull;
|
|
# };
|
|
}
|