Skip to content

Maubot

services.maubot.configMutable

Whether maubot should write updated config into extraConfigFile. This will make your Nix module settings have no effect besides the initial config, as extraConfigFile takes precedence over NixOS settings!

Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.dataDir

The directory where maubot stores its stateful data.

Type: string

Default

"/var/lib/maubot"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.enable

Whether to enable maubot. Type: boolean

Default

false

Example

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.extraConfigFile

A file for storing secrets. You can pass homeserver registration keys here. If it already exists, it must contain server.unshared_secret which is used for signing API keys. If configMutable is not set to true, maubot user must have write access to this file.

Type: string

Default

"${config.services.maubot.dataDir}/config.yaml"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.package

The maubot package to use. Type: package

Default

pkgs.maubot

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.plugins

List of additional maubot plugins to make available.

Type: list of package

Default

[ ]

Example

with config.services.maubot.package.plugins; [xyz.maubot.reactbotxyz.maubot.rss];

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.pythonPackages

List of additional Python packages to make available for maubot.

Type: list of package

Default

[ ]

Example

with pkgs.python3Packages; [aiohttp];

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings

YAML settings for maubot. See the example configuration for more info.

Secrets should be passed in by using extraConfigFile.

Type: submodule

Default

{ }

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.admins

List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password to prevent normal login. Root is a special user that can't have a password and will always exist.

Type: attribute set of string

Default

{root = "";}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.api_features

API feature switches.

Type: attribute set of boolean

Default

{client = true;client_auth = true;client_proxy = true;dev_open = true;instance = true;instance_database = true;log = true;login = true;plugin = true;plugin_upload = true;}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.crypto_database

Separate database URL for the crypto database. By default, the regular database is also used for crypto.

Type: string

Default

"default"

Example

"postgresql://username:password@hostname/dbname"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.database

The full URI to the database. SQLite and Postgres are fully supported. Other DBMSes supported by SQLAlchemy may or may not work.

Type: string

Default

"sqlite:maubot.db"

Example

"postgresql://username:password@hostname/dbname"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.database_opts

Additional arguments for asyncpg.create_pool() or sqlite3.connect()

Type: attribute set

Default

{ }

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.homeservers

Known homeservers. This is required for the mbc auth command and also allows more convenient access from the management UI. If you want to specify registration secrets, pass this via extraConfigFile instead.

Type: attribute set of (submodule)

Default

{"matrix.org" = {url = "https://matrix-client.matrix.org";};}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.homeservers.<name>.url

Client-server API URL

Type: string

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.logging

Python logging configuration. See section 16.7.2 of the Python documentation for more info.

Type: attribute set

Default

{formatters = {colored = {"()" = "maubot.lib.color_log.ColorFormatter";format = "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s";};normal = {format = "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s";};};handlers = {console = {class = "logging.StreamHandler";formatter = "colored";};file = {backupCount = 10;class = "logging.handlers.RotatingFileHandler";filename = "./maubot.log";formatter = "normal";maxBytes = 10485760;};};loggers = {aiohttp = {level = "INFO";};mau = {level = "DEBUG";};maubot = {level = "DEBUG";};};root = {handlers = ["file""console"];level = "DEBUG";};version = 1;}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.plugin_databases

Plugin database settings Type: submodule

Default

{ }

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.plugin_databases.postgres

The connection URL for plugin database. See example config for exact format.

Type: null or string

Default

if isPostgresql config.services.maubot.settings.database then "default" else null

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.plugin_databases.postgres_max_conns_per_plugin

Maximum number of connections per plugin instance.

Type: null or signed integer

Default

3

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.plugin_databases.postgres_opts

Overrides for the default database_opts when using a non-default postgres connection URL.

Type: attribute set

Default

{ }

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.plugin_databases.sqlite

The directory where SQLite plugin databases should be stored.

Type: string

Default

"${config.services.maubot.dataDir}/plugins"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.plugin_directories

Plugin directory paths Type: submodule

Default

{ }

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.plugin_directories.load

The directories from which plugins should be loaded. Duplicate plugin IDs will be moved to the trash.

Type: list of string

Default

[ "${config.services.maubot.dataDir}/plugins" ]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.plugin_directories.trash

The directory where old plugin versions and conflicting plugins should be moved. Set to null to delete files immediately.

Type: null or string

Default

"${config.services.maubot.dataDir}/trash"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.plugin_directories.upload

The directory where uploaded new plugins should be stored.

Type: string

Default

"${config.services.maubot.dataDir}/plugins"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.server

Listener config Type: submodule

Default

{ }

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.server.hostname

The IP to listen on

Type: string

Default

"127.0.0.1"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.server.override_resource_path

Override path from where to load UI resources.

Type: null or string

Default

null

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.server.plugin_base_path

The base path for plugin endpoints. The instance ID will be appended directly.

Type: string

Default

"${config.services.maubot.settings.server.ui_base_path}/plugin/"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.server.port

The port to listen on

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default

29316

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.server.public_url

Public base URL where the server is visible.

Type: string

Default

"http://${config.services.maubot.settings.server.hostname}:${toString config.services.maubot.settings.server.port}"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix

services.maubot.settings.server.ui_base_path

The base path for the UI.

Type: string

Default

"/_matrix/maubot"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/matrix/maubot.nix