{ pkgs, ... }: {
  # Install steam.
  programs = { 
    gamemode.enable = true;
    gamescope = {
      enable = true;
      capSysNice = true;
    };

    steam = {
      enable = true;
      gamescopeSession.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
      extraCompatPackages = [
        pkgs.proton-ge-bin
        pkgs.steam-play-none
      ];
      package = pkgs.steam.override { # Fix Overwatch and other games showing wrong timezone in-game.
        extraProfile = ''
          unset TZ
        '';
      };
   
      protontricks = {
        enable = true;
      };
    };
  };

  environment.systemPackages = [
    pkgs.samrewritten
  ];
}

