anchor.diff:    ${optionalString (cfg.account_threepid_delegates.email != null) "email: ${cfg.account_threepid_delegates.email}"}
     ${optionalString (cfg.account_threepid_delegates.msisdn != null) "msisdn: ${cfg.account_threepid_delegates.msisdn}"}
   
  -room_invite_state_types: ${builtins.toJSON cfg.room_invite_state_types}
  +room_prejoin_state:
  +  disable_default_event_types: ${boolToString cfg.room_prejoin_state.disable_default_event_types}
  +  additional_event_types: ${builtins.toJSON cfg.room_prejoin_state.additional_event_types}
   ${optionalString (cfg.macaroon_secret_key != null) ''
     macaroon_secret_key: "${cfg.macaroon_secret_key}"
   ''}
  
positive.code:           Delegate SMS sending to this local process (https://localhost:8090)
          '';
        };
        room_invite_state_types = mkOption {
          type = types.listOf types.str;
          default = ["m.room.join_rules" "m.room.canonical_alias" "m.room.avatar" "m.room.name"];
          description = ''
            A list of event types that will be included in the room_invite_state
          '';
        };
        macaroon_secret_key = mkOption {
  
negative.code:       <nixpkgs/nixos/tests/matrix-synapse.nix>
      '')
      (mkRemovedOptionModule [ "services" "matrix-synapse" "web_client" ] "")
      (mkRemovedOptionModule [ "services" "matrix-synapse" "room_invite_state_types" ] ''
        You may add additional event types via
        `services.matrix-synapse.room_prejoin_state.additional_event_types` and
        disable the default events via
        `services.matrix-synapse.room_prejoin_state.disable_default_event_types`.
      '')
    ];
  
    meta.doc = ./matrix-synapse.xml;
  