+2
nixos/doc/manual/release-notes/rl-2505.section.md
+2
nixos/doc/manual/release-notes/rl-2505.section.md
···- [PDS](https://github.com/bluesky-social/pds), Personal Data Server for [bsky](https://bsky.social/). Available as [services.pds](option.html#opt-services.pds).+- [synapse-auto-compressor](https://github.com/matrix-org/rust-synapse-compress-state?tab=readme-ov-file#automated-tool-synapse_auto_compressor), a rust-based matrix-synapse state compressor for postgresql. Available as [services.synapse-auto-compressor](#opt-services.synapse-auto-compressor.enable).- [mqtt-exporter](https://github.com/kpetremann/mqtt-exporter/), a Prometheus exporter for exposing messages from MQTT. Available as [services.prometheus.exporters.mqtt](#opt-services.prometheus.exporters.mqtt.enable).
+1
nixos/modules/module-list.nix
+1
nixos/modules/module-list.nix
···
+164
nixos/modules/services/matrix/synapse-auto-compressor.nix
+164
nixos/modules/services/matrix/synapse-auto-compressor.nix
···+'''postgresql://''${args.user}''${lib.optionalString (args ? password) (":" + args.password)}@''${+[rust `postgres` crate config format](https://docs.rs/postgres/latest/postgres/config/struct.Config.html).+The module will attempt to build a URL-style connection string out of the `services.matrix-synapse.settings.database.args`+description = "How often to run this service in systemd calendar syntax (see {manpage}`systemd.time(7)`)";+The number of state groups to work on at once. All of the entries from `state_groups_state` are requested+from the database for state groups that are worked on. Therefore small chunk sizes may be needed on+`chunks_to_compress` chunks of size `chunk_size` will be compressed. The higher this number is set to,+Sizes of each new level in the compression algorithm, as a comma-separated list. The first entry in+the list is for the lowest, most granular level, with each subsequent entry being for the next highest+level. The number of entries in the list determines the number of levels that will be used. The sum of+the sizes of the levels affects the performance of fetching the state from the database, as the sum of+the sizes is the upper bound on the number of iterations needed to fetch a given set of state.+message = "`services.synapse-auto-compressor` requires local synapse to use postgresql as a database backend";