{ pkgs , lib , config , ... }: with lib; let cfg = config.faucet.steam; in { options.faucet.steam = { enable = mkEnableOption "steam software and environment"; }; config = mkIf cfg.enable { 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 }; users.home.persist.directories = [ ".local/share/Steam" ".steam" ]; }; }