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