{ config, lib, pkgs, ... }: { imports = [ ]; options.me.games = lib.mkOption { type = lib.types.bool; default = config.me.graphical; example = true; description = "Whether we want to install games."; }; config = ( lib.mkMerge [ (lib.mkIf config.me.games { allowedUnfree = [ "steam" "steam-original" "steam-unwrapped" "steam-run" ]; 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 localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers }; }) ] ); }