{ 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; # }; }