{ # Snowfall Lib provides a customized `lib` instance with access to your flake's library # as well as the libraries available from your flake's inputs. lib, # An instance of `pkgs` with your overlays and packages applied is also available. pkgs, # You also have access to your flake's inputs. inputs, # Additional metadata is provided by Snowfall Lib. # The namespace used for your flake, defaulting to "internal" if not set. namespace, # The system architecture for this host (eg. `x86_64-linux`). system, # The Snowfall Lib target for this system (eg. `x86_64-iso`). target, # A normalized name for the system target (eg. `iso`). format, # A boolean to determine whether this system is a virtual target using nixos-generators. virtual, # An attribute map of your defined hosts. systems, # All other arguments come from the system system. config , ... }:{ config = { # programs.gamescope = { # enable = true; # capSysNice = true; # }; environment.systemPackages = with pkgs; [ protonup-ng # Tool to install and manage Proton-GE lutris vkd3d dxvk corefonts protontricks mangohud vkbasalt gamescope ]; hardware.uinput.enable = true; users.users.andreas.extraGroups = [ "input" ]; programs.gamescope.enable = true; programs.steam.gamescopeSession = { enable = true; args = [ "-w" "1920" "-h" "1080" "-r" "172" "-e" # Enable steam integration "--steam" "--prefer-vk-device 8086:e20b" # lspci -nn | grep VGA ]; env = { WLR_RENDERER = "vulkan"; DXVK_HDR = "0 "; ENABLE_GAMESCOPE_WSI = "0"; WINE_FULLSCREEN_FSR = "1"; SDL_VIDEODRIVER = "wayland,x11"; # Games allegedly prefer X11 }; }; programs.steam = { enable = true; package = pkgs.steam.override { extraPkgs = pkgs: with pkgs; [ gamemode ]; extraEnv = { # SDL_VIDEODRIVER = "wayland,x11"; SDL_VIDEODRIVER = "x11"; }; }; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers }; }; }