summaryrefslogtreecommitdiff
path: root/nix_archive/nix/steam.nix
blob: 66d675ff9dc99ba7e00652eb65fffd2f9195ba30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{ config, lib, pkgs, ... }: let
  loc = config.local;
in {
  environment.systemPackages = with pkgs; lib.lists.flatten [
    (asNeeded "protontricks" ["protontricks" "protontricks-launch"])
    (writeShellScriptBin "run-steam-gamescope" ''
      export TTY=/dev/tty4
      export XDG_VTNR=4
      cd $HOME
      exec ${pkgs.kbd}/bin/openvt --switch --login --console 4 -f -- steam-gamescope
    '')
    (writeShellScriptBin "proton-env" ''
      export STEAM_COMPAT_LAUNCHER_SERVICE=proton
      export DXVK_HUD=compiler
      export DXVK_LOG_LEVEL=none
      export DXVK_DEBUG=none
      export VKD3D_HUD=compiler
      export VKD3D_CONFIG=dxr
      export VKD3D_DEBUG=none
      export VKD3D_SHADER_DEBUG=none
      export mesa_glthread=true
      xrandr --output ${loc.monitors.monitor1} --primary
      exec env --unset=SDL_VIDEODRIVER --unset=SDL_VIDEO_DRIVER MANGOHUD=1 gamemoderun "$@"
    '')
  ];
  programs.steam = {
    enable = true;
    gamescopeSession = let
      width = "2560";
      height = "1440";
    in {
      enable = true;
      args = [
        "-W ${width}" "-H ${height}"
        "-w ${width}" "-h ${height}"
        "-r 144"
        "-O ${loc.monitors.monitor1}"
        "--rt"
        "-f"
        "-e"
        #"-o 10"
        "--adaptive-sync"
        #"--force-grab-cursor"
        "--mangoapp"
      ];
    };
  };
}