Files
nixos/packages/steam/launch.nix
T
2025-07-17 21:58:51 -05:00

58 lines
1.3 KiB
Nix

{pkgs, ...}: let
mangoConfigList = ["cpu_temp" "gpu_temp" "ram" "vram"];
mangoConfigStr = builtins.concatStringsSep "," mangoConfigList;
gamescopeArgsList = [
"--adaptive-sync"
"--hdr-enabled"
"--mangoapp"
"--rt"
"--steam"
];
gamescopeArgsStr = builtins.concatStringsSep " " gamescopeArgsList;
steamArgsList = [
"-pipewire-dmabuf"
"-tenfoot"
];
steamArgsStr = builtins.concatStringsSep " " steamArgsList;
myGamescopeSteamScript = pkgs.writeShellApplication {
name = "start-gamescope-steam";
runtimeInputs = [
pkgs.gamescope
pkgs.steam
pkgs.mangohud
];
text = ''
#!/usr/bin/env bash
set -xeuo pipefail
export MANGOHUD=1
export MANGOHUD_CONFIG="${mangoConfigStr}"
exec ${pkgs.gamescope}/bin/gamescope ${gamescopeArgsStr} -- ${pkgs.steam}/bin/steam ${steamArgsStr}
'';
};
in {
programs = {
gamescope = {
enable = true;
capSysNice = true;
};
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
gamescopeSession.enable = true;
};
};
hardware.xone.enable = true;
environment.loginShellInit = ''
[[ "$(tty)" = "/dev/tty1" ]] && ${myGamescopeSteamScript}/bin/start-gamescope-steam
'';
}