{ config, pkgs, lib, ... }: { options.steam = { enable = lib.mkEnableOption "Enables steam"; gamemode = lib.mkEnableOption "Enables gamemode"; }; config = lib.mkIf config.steam.enable { programs.steam = { enable = true; remotePlay.openFirewall = true; dedicatedServer.openFirewall = true; package = pkgs.steam.override { extraBwrapArgs = [ "--bind $XDG_STATE_HOME/FakeSteamHome $HOME" "--unsetenv XDG_CACHE_HOME" "--unsetenv XDG_CONFIG_HOME" "--unsetenv XDG_DATA_HOME" "--unsetenv XDG_STATE_HOME" ]; }; }; programs.gamemode.enable = lib.mkIf config.steam.gamemode true; }; }