nixos/modules/desktop.nix

59 lines
1.6 KiB
Nix

{ den, ... }: {
den.aspects.desktop-specific.nixos = { config, pkgs, ... }: {
imports = [ ./_hardware/desktop-hardware.nix ];
local.winvm = {
gpuPcieAddress = "0000:01:00.0"; # NVIDIA GeForce RTX 3060 Ti
gpuAudioPcieAddress = "0000:01:00.1"; # NVIDIA RTX 3060 Ti HDMI audio
};
hardware = {
graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
nvidia-vaapi-driver
libva-vdpau-driver
libvdpau-va-gl
];
};
nvidia = {
modesetting.enable = true;
open = false;
nvidiaSettings = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
};
security.sudo.wheelNeedsPassword = false;
services.xserver.videoDrivers = [ "nvidia" ];
boot = {
initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
initrd.compressor = "zstd";
kernelParams = [ "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ];
loader = {
grub = {
enable = true;
device = "nodev";
efiSupport = true;
configurationLimit = 2;
useOSProber = true;
};
efi.canTouchEfiVariables = true;
};
};
environment.sessionVariables = {
# Nvidia-specific Wayland backend overrides
GBM_BACKEND = "nvidia-drm";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
};
};
}