75 lines
1.9 KiB
Nix
75 lines
1.9 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
############################
|
|
## Display + Mesa Settings
|
|
############################
|
|
|
|
# hardware.enableRedistributableFirmware = true;
|
|
|
|
hardware.firmware = [
|
|
pkgs.linux-firmware
|
|
# pkgs.firmwareLinuxNonfree
|
|
# pkgs.firmwareLinuxStrict
|
|
# pkgs.firmwareLinuxLatest
|
|
];
|
|
|
|
# boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
boot.kernelParams = [
|
|
"console=tty0"
|
|
"efifb=off"
|
|
"xe.force_probe=*"
|
|
"nvidia-drm.modeset=1"
|
|
];
|
|
|
|
hardware.graphics = {
|
|
enable = true;
|
|
|
|
extraPackages = with pkgs; [
|
|
intel-media-driver # Intel VAAPI
|
|
vpl-gpu-rt # oneVPL runtime
|
|
intel-vaapi-driver # fallback
|
|
];
|
|
};
|
|
|
|
# Ensure Arc driver is available (usually auto-loaded)
|
|
boot.kernelModules = [ "xe" ];
|
|
boot.blacklistedKernelModules = [ "nouveau" ];
|
|
|
|
############################
|
|
## X / Wayland GPU Drivers
|
|
############################
|
|
# Only specify NVIDIA. Intel Arc uses the modesetting driver automatically.
|
|
services.xserver.videoDrivers = [ "nvidia" ];
|
|
|
|
############################
|
|
## NVIDIA Configuration
|
|
############################
|
|
hardware.nvidia = {
|
|
modesetting.enable = true; # REQUIRED if any displays are on NVIDIA
|
|
|
|
open = false; # GTX 1070 → must be the proprietary driver
|
|
nvidiaSettings = true;
|
|
|
|
powerManagement.enable = false;
|
|
powerManagement.finegrained = false;
|
|
|
|
prime = {
|
|
offload.enable = false; # not a laptop, must be disabled
|
|
sync.enable = false;
|
|
};
|
|
|
|
# Correct way to pick the driver
|
|
package = config.boot.kernelPackages.nvidiaPackages.production;
|
|
};
|
|
|
|
# Remove → hardware.nvidia handles module packages
|
|
# boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
|
|
|
|
############################
|
|
## User Access
|
|
############################
|
|
users.users.andreas.extraGroups = [ "video" "render" ];
|
|
}
|