Steam / nvidia config advice (wayland 1080ti). Inability to launch any game

I’m clueless when it comes to device drivers & anything gaming related besides retro emulation (16 bit for life).

I’ve been working on getting steam working for weeks & quite frankly sick of trying & having to tell my little brother that his indies horror titles are a no go. I can’t seem to launch anything at the moment.

Hoping I could get pointers on what my current config might lacking. Here’s my current config to get an idea of what I’ve been trying. Most of the gpu side settings are not currently in use as I seem to get a bunch of acpi errors in bios or I’m unable to start river.

1080ti.nix

{ pkgs, nixpkgs, config, osConfig, lib, ...}: 
let videoID = "10de:1b06"; audioID = "10de:10ef"; 
package = osConfig.boot.kernelPackages.nvidiaPackages.legacy_470;

### general =========================================================================================
nvidia =
{
  hardware.enableAllFirmware = true;
  nixpkgs.config.nvidia.acceptLicence.enable = true;
  hardware.nvidia = {
    open = false;
    modesetting.enable = false;
    powerManagement.enable = false;
    #package = osConfig.boot.kernelPackages.nvidiaPackages.stable;
    #package = osConfig.boot.kernelPackages.nvidiaPackages.production;
    #package = osConfig.boot.kernelPackages.nvidiaPackages.beta;
    #package = (osConfig.boot.kernelPackages.nvidiaPackages.legacy_470.overrideAttrs (old: {
    #  acceptLicence = true;
    #}));
    prime.offload.enable = false;
    powerManagement.finegrained = false;
    dynamicBoost.enable = false;
    prime.sync.enable = false;
    prime.reverseSync.enable = false;
    nvidiaPersistenced = true;
    forceFullCompositionPipeline = false;
  };
};

### opengl =========================================================================================
opengl.hardware.opengl = {
    enable = true;
    driSupport = true;
    driSupport32Bit = true;
    #setLdLibraryPath = true;
    #extraPackages32 = 
    extraPackages = with pkgs; [
      mesa.drivers
      vaapiIntel libvdpau-va-gl vaapiVdpau intel-ocl
      vaapiVdpau nvidia-vaapi-driver libvdpau-va-gl
      vulkan-tools
      #vulkan-validation-layers
      #vulkan-loader
      #vulkan-extension-layer
      #vulkan-headers
      #vulkan-tools-lunarg
    ];
  };

### nouveau =========================================================================================
nouveau = {
  boot.extraModprobeConfig = '' options nouveau modeset=1 '';
  boot.initrd.kernelModules = [ "nouveau" "nvidia" ];
};

### vulkan =========================================================================================
vulkan = {
  environment.systemPackages = with pkgs; [vulkan-tools];
  environment.variables = {
    WLR_BACKEND = "vulkan";
    WLR_RENDERER = "vulkan";
    WEBKIT_DISABLE_COMPOSITING_MODE = "1";
  };
};

### drivers =========================================================================================
drivers = {
  services.xserver.videoDrivers = [ "nvidia" "intel" ];
  boot.initrd.kernelModules = [ 
                                "nvidia" 
                                #"nvidia_modeset"
                                #"nvidia_uvm"
                                "nvidia_drm"
  ];
 boot.extraModulePackages = [ osConfig.boot.kernelPackages.nvidia_x11 ];
#boot.extraModulePackages = [pkgs.linuxPackages_latest.nvidia_x11]; # this seems to collide with nuvo
};


### miscelleneous ===================================================================================
misc = {
  environment.systemPackages = with pkgs; [glxinfo glmark2];
  environment.variables = {
    LIBVA_DRIVER_NAME = "nvidia";
    __GLX_VENDOR_LIBRARY_NAME = "nvidia";
    GBM_BACKEND = "nvidia-drm"; ## this seems to clash with vulkan
  };
};

### passthrough =====================================================================================
passthrough = {
  boot.initrd.kernelmodules = ["vfio_pci" "vfio" "vfio_iommu_type1" "vfio_virqfd"];
};

###==================================================================================================
in
{
  config.os = lib.mkMerge [ 
                            nvidia
                            opengl
                            #nouveau
                            #vulkan
                            #drivers
                            #misc
                            #passthrough
                            #test
  ]; 
}

gaming.nix

{pkgs, lib, ...}: let 
fl   = x: {url = x; inputs.nixpkgs.follows = "nixpkgs";};

### steam related ========================================================================================================================================
steam = {
  programs.steam = {
    enable = true;
    gamescopeSession.enable = false;
    extraCompatPackages = with pkgs; [
       vkd3d-proton
       vkd3d
       dxvk_2
       proton-ge-bin
       freetype
       openjdk21_headless
       wineWowPackages.waylandFull
    ];
  };
   environment.systemPackages = with pkgs; [ 
    ares 
    lutris 
    steam-run 
    proton-caller
    steamcmd
    steam-tui
    vkd3d-proton
  ];
};
#### gamescope ===========================================================================================================================================
gamescope.programs.gamescope = {
  enable = true;
  capSysNice = true;
  #env = [];
};

### misc ----===========================================================================================================================================
misc.environment.systemPackages = with pkgs; [ quakespasm ];

###======================================================================================================================================================
in
{
  config = with lib;  {
    os = mkMerge [  steam
                    gamescope
                    misc
                    #retro
                    #cuphead
   ];
  };
  imports = [ ./minecraft.nix ];
}

gfx.nix

{pkgs, ...}:{
imports = [ ./wms ];
os={
  #The user must provide a ~/.xinitrc file containing session startup
  services.xserver = {
    enable = true;
    displayManager.startx.enable = true;
    xkb.layout = "us";
    xkb.options = "caps:escape";
    #libinput.enable = true; #enable if laptop
  };

  xdg = {
    autostart.enable = true;
    portal = {
      enable = true;
      wlr.enable = true;
      config.common.default = "*";
      extraPortals = with pkgs; [
        xdg-desktop-portal 
        xdg-desktop-portal-gtk
        xdg-desktop-portal-wlr
      ];
    };
  };

  programs.xwayland.enable = true;
  environment.systemPackages = with pkgs; [
    woeusb
    woeusb-ng
    xdg-utils
    qt6.qtwayland
    gtk4
  ];
    
  environment.variables = {
    BROWSER = "qutebrowser";
    GDK_BACKEND = "wayland, x11";
    QT_AUTO_SCREEN_SCALE_FACTOR= "1";
    QT_QPA_PLATFORM = "wayland;xcb";
    QT_WAYLAND_DISABLE_WINDOWDECORATION= "1";
    XDG_CURRENT_DESKTOP = "river";
    XDG_SESSION_TYPE = "wayland";
    XDG_SESSION_DESKTOP = "river";
    SDL_VIDEODRIVER = "wayland";
    MOZ_ENABLE_WAYLAND = "1";
    XCURSOR_SIZE = "32";
    WLR_NO_HARDWARE_CURSORS = "1";    # invisible cursor fix
    NIXOS_OZONE_WL = "1"; 	      # tell electron WL!X11
  };
   

};
hm={
  gtk = {
    enable = true;
    theme = {
      name = "solarized-gtk";
      package = pkgs.numix-solarized-gtk-theme;
      #package = pkgs.solarc-gtk-theme;
    };
  };
  qt.enable = true;
  #qt.platformTheme = "gtk3";
}
;}



At a loose end here & would appreciate any pointers.