72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   # 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;
 | |
|     programs.steam = {
 | |
|       enable = true;
 | |
|       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
 | |
| 
 | |
|       gamescopeSession = {
 | |
|         enable = true;
 | |
|         env = {
 | |
|           WLR_RENDERER = "vulkan";
 | |
|           DXVK_HDR = "1 ";
 | |
|           ENABLE_GAMESCOPE_WSI = "1";
 | |
|           WINE_FULLSCREEN_FSR = "1";
 | |
|           # Games allegedly prefer X11
 | |
|           SDL_VIDEODRIVER = "x11";
 | |
|         };
 | |
|         args = [
 | |
|           "--xwayland-count 1"
 | |
|           "--expose-wayland"
 | |
| 
 | |
|           "-e" # Enable steam integration
 | |
|           "--steam"
 | |
| 
 | |
|           "--adaptive-sync"
 | |
|           "--hdr-enabled"
 | |
|           "--hdr-itm-enable"
 | |
| 
 | |
|           # External monitor
 | |
|           "--prefer-output DP-3"
 | |
|           "--output-width 1920"
 | |
|           "--output-height 1080"
 | |
|           "-r 172"
 | |
| 
 | |
|           # Laptop display
 | |
|           # "--prefer-output eDP-1"
 | |
|           # "--output-width 2560"
 | |
|           # "--output-height 1600"
 | |
|           # "-r 120"
 | |
|           
 | |
|           "--prefer-vk-device 10de:1b81" # lspci -nn | grep VGA
 | |
|         ];
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| } |