{ options, config, lib, pkgs, namespace, ... }: with lib; with lib.${namespace}; let cfg = config.${namespace}.apps.steam; in { options.${namespace}.apps.steam = with types; { enable = mkBoolOpt false "Whether or not to enable support for Steam."; }; config = mkIf cfg.enable { programs.steam.enable = true; programs.steam.remotePlay.openFirewall = true; hardware.steam-hardware.enable = true; environment.systemPackages = with pkgs; [ steam ]; }; }