mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix two mentions of the mdDoc function remain in nixos/, both of which are inside of comments. Since lib.mdDoc is already defined as just id, this commit is a no-op as far as Nix (and the built manual) is concerned.
This commit is contained in:
parent
1dd996e59a
commit
6afb255d97
1701 changed files with 13694 additions and 13865 deletions
|
@ -13,7 +13,7 @@ let
|
|||
in {
|
||||
options = {
|
||||
services.matrix-appservice-discord = {
|
||||
enable = mkEnableOption (lib.mdDoc "a bridge between Matrix and Discord");
|
||||
enable = mkEnableOption "a bridge between Matrix and Discord";
|
||||
|
||||
package = mkPackageOption pkgs "matrix-appservice-discord" { };
|
||||
|
||||
|
@ -41,7 +41,7 @@ in {
|
|||
};
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
{file}`config.yaml` configuration as a Nix attribute set.
|
||||
|
||||
Configuration options should match those described in
|
||||
|
@ -58,7 +58,7 @@ in {
|
|||
environmentFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
File containing environment variables to be passed to the matrix-appservice-discord service,
|
||||
in which secret tokens can be specified securely by defining values for
|
||||
`APPSERVICE_DISCORD_AUTH_CLIENT_I_D` and
|
||||
|
@ -70,7 +70,7 @@ in {
|
|||
type = types.str;
|
||||
default = "http://localhost:${toString cfg.port}";
|
||||
defaultText = literalExpression ''"http://localhost:''${toString config.${opt.port}}"'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The URL where the application service is listening for HS requests.
|
||||
'';
|
||||
};
|
||||
|
@ -78,7 +78,7 @@ in {
|
|||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 9005; # from https://github.com/Half-Shot/matrix-appservice-discord/blob/master/package.json#L11
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Port number on which the bridge should listen for internal communication with the Matrix homeserver.
|
||||
'';
|
||||
};
|
||||
|
@ -86,7 +86,7 @@ in {
|
|||
localpart = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The user_id localpart to assign to the AS.
|
||||
'';
|
||||
};
|
||||
|
@ -97,7 +97,7 @@ in {
|
|||
defaultText = literalExpression ''
|
||||
optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of Systemd services to require and wait for when starting the application service,
|
||||
such as the Matrix homeserver if it's running on the same host.
|
||||
'';
|
||||
|
|
|
@ -26,30 +26,30 @@ let
|
|||
registrationFile = "/var/lib/matrix-appservice-irc/registration.yml";
|
||||
in {
|
||||
options.services.matrix-appservice-irc = with types; {
|
||||
enable = mkEnableOption (lib.mdDoc "the Matrix/IRC bridge");
|
||||
enable = mkEnableOption "the Matrix/IRC bridge";
|
||||
|
||||
port = mkOption {
|
||||
type = port;
|
||||
description = lib.mdDoc "The port to listen on";
|
||||
description = "The port to listen on";
|
||||
default = 8009;
|
||||
};
|
||||
|
||||
needBindingCap = mkOption {
|
||||
type = bool;
|
||||
description = lib.mdDoc "Whether the daemon needs to bind to ports below 1024 (e.g. for the ident service)";
|
||||
description = "Whether the daemon needs to bind to ports below 1024 (e.g. for the ident service)";
|
||||
default = false;
|
||||
};
|
||||
|
||||
passwordEncryptionKeyLength = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = lib.mdDoc "Length of the key to encrypt IRC passwords with";
|
||||
description = "Length of the key to encrypt IRC passwords with";
|
||||
default = 4096;
|
||||
example = 8192;
|
||||
};
|
||||
|
||||
registrationUrl = mkOption {
|
||||
type = str;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The URL where the application service is listening for homeserver requests,
|
||||
from the Matrix homeserver perspective.
|
||||
'';
|
||||
|
@ -58,12 +58,12 @@ in {
|
|||
|
||||
localpart = mkOption {
|
||||
type = str;
|
||||
description = lib.mdDoc "The user_id localpart to assign to the appservice";
|
||||
description = "The user_id localpart to assign to the appservice";
|
||||
default = "appservice-irc";
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Configuration for the appservice, see
|
||||
<https://github.com/matrix-org/matrix-appservice-irc/blob/${pkgs.matrix-appservice-irc.version}/config.sample.yaml>
|
||||
for supported values
|
||||
|
@ -74,7 +74,7 @@ in {
|
|||
|
||||
options = {
|
||||
homeserver = mkOption {
|
||||
description = lib.mdDoc "Homeserver configuration";
|
||||
description = "Homeserver configuration";
|
||||
default = {};
|
||||
type = submodule {
|
||||
freeformType = jsonType;
|
||||
|
@ -82,12 +82,12 @@ in {
|
|||
options = {
|
||||
url = mkOption {
|
||||
type = str;
|
||||
description = lib.mdDoc "The URL to the home server for client-server API calls";
|
||||
description = "The URL to the home server for client-server API calls";
|
||||
};
|
||||
|
||||
domain = mkOption {
|
||||
type = str;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The 'domain' part for user IDs on this home server. Usually
|
||||
(but not always) is the "domain name" part of the homeserver URL.
|
||||
'';
|
||||
|
@ -98,21 +98,21 @@ in {
|
|||
|
||||
database = mkOption {
|
||||
default = {};
|
||||
description = lib.mdDoc "Configuration for the database";
|
||||
description = "Configuration for the database";
|
||||
type = submodule {
|
||||
freeformType = jsonType;
|
||||
|
||||
options = {
|
||||
engine = mkOption {
|
||||
type = str;
|
||||
description = lib.mdDoc "Which database engine to use";
|
||||
description = "Which database engine to use";
|
||||
default = "nedb";
|
||||
example = "postgres";
|
||||
};
|
||||
|
||||
connectionString = mkOption {
|
||||
type = str;
|
||||
description = lib.mdDoc "The database connection string";
|
||||
description = "The database connection string";
|
||||
default = "nedb://var/lib/matrix-appservice-irc/data";
|
||||
example = "postgres://username:password@host:port/databasename";
|
||||
};
|
||||
|
@ -122,14 +122,14 @@ in {
|
|||
|
||||
ircService = mkOption {
|
||||
default = {};
|
||||
description = lib.mdDoc "IRC bridge configuration";
|
||||
description = "IRC bridge configuration";
|
||||
type = submodule {
|
||||
freeformType = jsonType;
|
||||
|
||||
options = {
|
||||
passwordEncryptionKeyPath = mkOption {
|
||||
type = str;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Location of the key with which IRC passwords are encrypted
|
||||
for storage. Will be generated on first run if not present.
|
||||
'';
|
||||
|
@ -138,7 +138,7 @@ in {
|
|||
|
||||
servers = mkOption {
|
||||
type = submodule { freeformType = jsonType; };
|
||||
description = lib.mdDoc "IRC servers to connect to";
|
||||
description = "IRC servers to connect to";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -11,11 +11,11 @@ in
|
|||
{
|
||||
meta.maintainers = with maintainers; [ pstn piegames ];
|
||||
options.services.matrix-conduit = {
|
||||
enable = mkEnableOption (lib.mdDoc "matrix-conduit");
|
||||
enable = mkEnableOption "matrix-conduit";
|
||||
|
||||
extraEnvironment = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
description = lib.mdDoc "Extra Environment variables to pass to the conduit server.";
|
||||
description = "Extra Environment variables to pass to the conduit server.";
|
||||
default = {};
|
||||
example = { RUST_BACKTRACE="yes"; };
|
||||
};
|
||||
|
@ -29,50 +29,50 @@ in
|
|||
global.server_name = mkOption {
|
||||
type = types.str;
|
||||
example = "example.com";
|
||||
description = lib.mdDoc "The server_name is the name of this server. It is used as a suffix for user # and room ids.";
|
||||
description = "The server_name is the name of this server. It is used as a suffix for user # and room ids.";
|
||||
};
|
||||
global.port = mkOption {
|
||||
type = types.port;
|
||||
default = 6167;
|
||||
description = lib.mdDoc "The port Conduit will be running on. You need to set up a reverse proxy in your web server (e.g. apache or nginx), so all requests to /_matrix on port 443 and 8448 will be forwarded to the Conduit instance running on this port";
|
||||
description = "The port Conduit will be running on. You need to set up a reverse proxy in your web server (e.g. apache or nginx), so all requests to /_matrix on port 443 and 8448 will be forwarded to the Conduit instance running on this port";
|
||||
};
|
||||
global.max_request_size = mkOption {
|
||||
type = types.ints.positive;
|
||||
default = 20000000;
|
||||
description = lib.mdDoc "Max request size in bytes. Don't forget to also change it in the proxy.";
|
||||
description = "Max request size in bytes. Don't forget to also change it in the proxy.";
|
||||
};
|
||||
global.allow_registration = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Whether new users can register on this server.";
|
||||
description = "Whether new users can register on this server.";
|
||||
};
|
||||
global.allow_encryption = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc "Whether new encrypted rooms can be created. Note: existing rooms will continue to work.";
|
||||
description = "Whether new encrypted rooms can be created. Note: existing rooms will continue to work.";
|
||||
};
|
||||
global.allow_federation = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether this server federates with other servers.
|
||||
'';
|
||||
};
|
||||
global.trusted_servers = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "matrix.org" ];
|
||||
description = lib.mdDoc "Servers trusted with signing server keys.";
|
||||
description = "Servers trusted with signing server keys.";
|
||||
};
|
||||
global.address = mkOption {
|
||||
type = types.str;
|
||||
default = "::1";
|
||||
description = lib.mdDoc "Address to listen on for connections by the reverse proxy/tls terminator.";
|
||||
description = "Address to listen on for connections by the reverse proxy/tls terminator.";
|
||||
};
|
||||
global.database_path = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/matrix-conduit/";
|
||||
readOnly = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Path to the conduit database, the directory where conduit will save its data.
|
||||
Note that due to using the DynamicUser feature of systemd, this value should not be changed
|
||||
and is set to be read only.
|
||||
|
@ -82,7 +82,7 @@ in
|
|||
type = types.enum [ "sqlite" "rocksdb" ];
|
||||
default = "sqlite";
|
||||
example = "rocksdb";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The database backend for the service. Switching it on an existing
|
||||
instance will require manual migration of data.
|
||||
'';
|
||||
|
@ -90,7 +90,7 @@ in
|
|||
global.allow_check_for_updates = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether to allow Conduit to automatically contact
|
||||
<https://conduit.rs> hourly to check for important Conduit news.
|
||||
|
||||
|
@ -100,7 +100,7 @@ in
|
|||
};
|
||||
};
|
||||
default = {};
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Generates the conduit.toml configuration file. Refer to
|
||||
<https://gitlab.com/famedly/conduit/-/blob/master/conduit-example.toml>
|
||||
for details on supported values.
|
||||
|
|
|
@ -7,18 +7,18 @@ let
|
|||
in
|
||||
{
|
||||
options.services.dendrite = {
|
||||
enable = lib.mkEnableOption (lib.mdDoc "matrix.org dendrite");
|
||||
enable = lib.mkEnableOption "matrix.org dendrite";
|
||||
httpPort = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.port;
|
||||
default = 8008;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The port to listen for HTTP requests on.
|
||||
'';
|
||||
};
|
||||
httpsPort = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.port;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The port to listen for HTTPS requests on.
|
||||
'';
|
||||
};
|
||||
|
@ -26,7 +26,7 @@ in
|
|||
type = lib.types.nullOr lib.types.path;
|
||||
example = "/var/lib/dendrite/server.cert";
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The path to the TLS certificate.
|
||||
|
||||
```
|
||||
|
@ -38,7 +38,7 @@ in
|
|||
type = lib.types.nullOr lib.types.path;
|
||||
example = "/var/lib/dendrite/server.key";
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The path to the TLS key.
|
||||
|
||||
```
|
||||
|
@ -50,7 +50,7 @@ in
|
|||
type = lib.types.nullOr lib.types.path;
|
||||
example = "/var/lib/dendrite/registration_secret";
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Environment file as defined in {manpage}`systemd.exec(5)`.
|
||||
Secrets may be passed to the service without adding them to the world-readable
|
||||
Nix store, by specifying placeholder variables as the option value in Nix and
|
||||
|
@ -76,7 +76,7 @@ in
|
|||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
example = [ "private_key:/path/to/my_private_key" ];
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
This can be used to pass secrets to the systemd service without adding them to
|
||||
the nix store.
|
||||
To use the example setting, see the example of
|
||||
|
@ -91,7 +91,7 @@ in
|
|||
server_name = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
example = "example.com";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The domain name of the server, with optional explicit port.
|
||||
This is used by remote servers to connect to this server.
|
||||
This is also the last part of your UserID.
|
||||
|
@ -102,7 +102,7 @@ in
|
|||
lib.types.path
|
||||
(lib.types.strMatching "^\\$CREDENTIALS_DIRECTORY/.+");
|
||||
example = "$CREDENTIALS_DIRECTORY/private_key";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The path to the signing private key file, used to sign
|
||||
requests and events.
|
||||
|
||||
|
@ -115,7 +115,7 @@ in
|
|||
type = lib.types.listOf lib.types.str;
|
||||
example = [ "matrix.org" ];
|
||||
default = [ "matrix.org" "vector.im" ];
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Lists of domains that the server will trust as identity
|
||||
servers to verify third party identifiers such as phone
|
||||
numbers and email addresses
|
||||
|
@ -126,7 +126,7 @@ in
|
|||
connection_string = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "file:federationapi.db";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Database for the Appservice API.
|
||||
'';
|
||||
};
|
||||
|
@ -135,7 +135,7 @@ in
|
|||
registration_disabled = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether to disable user registration to the server
|
||||
without the shared secret.
|
||||
'';
|
||||
|
@ -145,7 +145,7 @@ in
|
|||
connection_string = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "file:federationapi.db";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Database for the Federation API.
|
||||
'';
|
||||
};
|
||||
|
@ -154,7 +154,7 @@ in
|
|||
connection_string = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "file:keyserver.db";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Database for the Key Server (for end-to-end encryption).
|
||||
'';
|
||||
};
|
||||
|
@ -163,7 +163,7 @@ in
|
|||
connection_string = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "file:relayapi.db";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Database for the Relay Server.
|
||||
'';
|
||||
};
|
||||
|
@ -173,7 +173,7 @@ in
|
|||
connection_string = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "file:mediaapi.db";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Database for the Media API.
|
||||
'';
|
||||
};
|
||||
|
@ -181,7 +181,7 @@ in
|
|||
base_path = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "${workingDir}/media_store";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Storage path for uploaded media.
|
||||
'';
|
||||
};
|
||||
|
@ -190,7 +190,7 @@ in
|
|||
connection_string = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "file:roomserver.db";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Database for the Room Server.
|
||||
'';
|
||||
};
|
||||
|
@ -199,24 +199,24 @@ in
|
|||
connection_string = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "file:syncserver.db";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Database for the Sync API.
|
||||
'';
|
||||
};
|
||||
};
|
||||
options.sync_api.search = {
|
||||
enable = lib.mkEnableOption (lib.mdDoc "Dendrite's full-text search engine");
|
||||
enable = lib.mkEnableOption "Dendrite's full-text search engine";
|
||||
index_path = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "${workingDir}/searchindex";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The path the search index will be created in.
|
||||
'';
|
||||
};
|
||||
language = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "en";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The language most likely to be used on the server - used when indexing, to
|
||||
ensure the returned results match expectations. A full list of possible languages
|
||||
can be found at https://github.com/blevesearch/bleve/tree/master/analysis/lang
|
||||
|
@ -228,7 +228,7 @@ in
|
|||
connection_string = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "file:userapi_accounts.db";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Database for the User API, accounts.
|
||||
'';
|
||||
};
|
||||
|
@ -237,7 +237,7 @@ in
|
|||
connection_string = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "file:userapi_devices.db";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Database for the User API, devices.
|
||||
'';
|
||||
};
|
||||
|
@ -248,7 +248,7 @@ in
|
|||
connection_string = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "file:mscs.db";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Database for exerimental MSC's.
|
||||
'';
|
||||
};
|
||||
|
@ -256,7 +256,7 @@ in
|
|||
};
|
||||
};
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Configuration for dendrite, see:
|
||||
<https://github.com/matrix-org/dendrite/blob/master/dendrite-config.yaml>
|
||||
for available options with which to populate settings.
|
||||
|
@ -265,7 +265,7 @@ in
|
|||
openRegistration = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Allow open registration without secondary verification (reCAPTCHA).
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -11,7 +11,7 @@ let
|
|||
settingsFile = format.generate "config.toml" cfg.settings;
|
||||
mkTemplateOption = templateName: mkOption {
|
||||
type = types.path;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
A path to the Markdown file for the ${templateName}.
|
||||
'';
|
||||
};
|
||||
|
@ -22,7 +22,7 @@ in
|
|||
enable = mkEnableOption "hebbot";
|
||||
botPasswordFile = mkOption {
|
||||
type = types.path;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
A path to the password file for your bot.
|
||||
|
||||
Consider using a path that does not end up in your Nix store
|
||||
|
@ -37,7 +37,7 @@ in
|
|||
settings = mkOption {
|
||||
type = format.type;
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Configuration for Hebbot, see, for examples:
|
||||
|
||||
- <https://github.com/matrix-org/twim-config/blob/master/config.toml>
|
||||
|
|
|
@ -9,7 +9,7 @@ in
|
|||
];
|
||||
|
||||
options.services.matrix-sliding-sync = {
|
||||
enable = lib.mkEnableOption (lib.mdDoc "sliding sync");
|
||||
enable = lib.mkEnableOption "sliding sync";
|
||||
|
||||
package = lib.mkPackageOption pkgs "matrix-sliding-sync" { };
|
||||
|
||||
|
@ -19,7 +19,7 @@ in
|
|||
options = {
|
||||
SYNCV3_SERVER = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The destination homeserver to talk to not including `/_matrix/` e.g `https://matrix.example.org`.
|
||||
'';
|
||||
};
|
||||
|
@ -27,7 +27,7 @@ in
|
|||
SYNCV3_DB = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "postgresql:///matrix-sliding-sync?host=/run/postgresql";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The postgres connection string.
|
||||
Refer to <https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING>.
|
||||
'';
|
||||
|
@ -37,18 +37,18 @@ in
|
|||
type = lib.types.str;
|
||||
default = "127.0.0.1:8009";
|
||||
example = "[::]:8008";
|
||||
description = lib.mdDoc "The interface and port or path (for unix socket) to listen on.";
|
||||
description = "The interface and port or path (for unix socket) to listen on.";
|
||||
};
|
||||
|
||||
SYNCV3_LOG_LEVEL = lib.mkOption {
|
||||
type = lib.types.enum [ "trace" "debug" "info" "warn" "error" "fatal" ];
|
||||
default = "info";
|
||||
description = lib.mdDoc "The level of verbosity for messages logged.";
|
||||
description = "The level of verbosity for messages logged.";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Freeform environment variables passed to the sliding sync proxy.
|
||||
Refer to <https://github.com/matrix-org/sliding-sync#setup> for all supported values.
|
||||
'';
|
||||
|
@ -57,7 +57,7 @@ in
|
|||
createDatabase = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether to enable and configure `services.postgres` to ensure that the database user `matrix-sliding-sync`
|
||||
and the database `matrix-sliding-sync` exist.
|
||||
'';
|
||||
|
@ -65,7 +65,7 @@ in
|
|||
|
||||
environmentFile = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Environment file as defined in {manpage}`systemd.exec(5)`.
|
||||
|
||||
This must contain the {env}`SYNCV3_SECRET` variable which should
|
||||
|
|
|
@ -57,7 +57,7 @@ let
|
|||
in
|
||||
{
|
||||
options.services.maubot = with lib; {
|
||||
enable = mkEnableOption (mdDoc "maubot");
|
||||
enable = mkEnableOption "maubot";
|
||||
|
||||
package = lib.mkPackageOption pkgs "maubot" { };
|
||||
|
||||
|
@ -70,7 +70,7 @@ in
|
|||
xyz.maubot.rss
|
||||
];
|
||||
'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
List of additional maubot plugins to make available.
|
||||
'';
|
||||
};
|
||||
|
@ -83,7 +83,7 @@ in
|
|||
aiohttp
|
||||
];
|
||||
'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
List of additional Python packages to make available for maubot.
|
||||
'';
|
||||
};
|
||||
|
@ -91,7 +91,7 @@ in
|
|||
dataDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/maubot";
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The directory where maubot stores its stateful data.
|
||||
'';
|
||||
};
|
||||
|
@ -100,7 +100,7 @@ in
|
|||
type = types.str;
|
||||
default = "./config.yaml";
|
||||
defaultText = literalExpression ''"''${config.services.maubot.dataDir}/config.yaml"'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
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**.
|
||||
|
@ -110,14 +110,14 @@ in
|
|||
configMutable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
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!**
|
||||
'';
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
default = { };
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
YAML settings for maubot. See the
|
||||
[example configuration](https://github.com/maubot/maubot/blob/master/maubot/example-config.yaml)
|
||||
for more info.
|
||||
|
@ -130,7 +130,7 @@ in
|
|||
type = str;
|
||||
default = "sqlite:maubot.db";
|
||||
example = "postgresql://username:password@hostname/dbname";
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The full URI to the database. SQLite and Postgres are fully supported.
|
||||
Other DBMSes supported by SQLAlchemy may or may not work.
|
||||
'';
|
||||
|
@ -140,7 +140,7 @@ in
|
|||
type = str;
|
||||
default = "default";
|
||||
example = "postgresql://username:password@hostname/dbname";
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
Separate database URL for the crypto database. By default, the regular database is also used for crypto.
|
||||
'';
|
||||
};
|
||||
|
@ -148,21 +148,21 @@ in
|
|||
database_opts = mkOption {
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
Additional arguments for asyncpg.create_pool() or sqlite3.connect()
|
||||
'';
|
||||
};
|
||||
|
||||
plugin_directories = mkOption {
|
||||
default = { };
|
||||
description = mdDoc "Plugin directory paths";
|
||||
description = "Plugin directory paths";
|
||||
type = submodule {
|
||||
options = {
|
||||
upload = mkOption {
|
||||
type = types.str;
|
||||
default = "./plugins";
|
||||
defaultText = literalExpression ''"''${config.services.maubot.dataDir}/plugins"'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The directory where uploaded new plugins should be stored.
|
||||
'';
|
||||
};
|
||||
|
@ -170,7 +170,7 @@ in
|
|||
type = types.listOf types.str;
|
||||
default = [ "./plugins" ];
|
||||
defaultText = literalExpression ''[ "''${config.services.maubot.dataDir}/plugins" ]'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The directories from which plugins should be loaded. Duplicate plugin IDs will be moved to the trash.
|
||||
'';
|
||||
};
|
||||
|
@ -178,7 +178,7 @@ in
|
|||
type = with types; nullOr str;
|
||||
default = "./trash";
|
||||
defaultText = literalExpression ''"''${config.services.maubot.dataDir}/trash"'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The directory where old plugin versions and conflicting plugins should be moved. Set to null to delete files immediately.
|
||||
'';
|
||||
};
|
||||
|
@ -187,7 +187,7 @@ in
|
|||
};
|
||||
|
||||
plugin_databases = mkOption {
|
||||
description = mdDoc "Plugin database settings";
|
||||
description = "Plugin database settings";
|
||||
default = { };
|
||||
type = submodule {
|
||||
options = {
|
||||
|
@ -195,7 +195,7 @@ in
|
|||
type = types.str;
|
||||
default = "./plugins";
|
||||
defaultText = literalExpression ''"''${config.services.maubot.dataDir}/plugins"'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The directory where SQLite plugin databases should be stored.
|
||||
'';
|
||||
};
|
||||
|
@ -204,7 +204,7 @@ in
|
|||
type = types.nullOr types.str;
|
||||
default = if isPostgresql cfg.settings.database then "default" else null;
|
||||
defaultText = literalExpression ''if isPostgresql config.services.maubot.settings.database then "default" else null'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The connection URL for plugin database. See [example config](https://github.com/maubot/maubot/blob/master/maubot/example-config.yaml) for exact format.
|
||||
'';
|
||||
};
|
||||
|
@ -212,7 +212,7 @@ in
|
|||
postgres_max_conns_per_plugin = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = 3;
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
Maximum number of connections per plugin instance.
|
||||
'';
|
||||
};
|
||||
|
@ -220,7 +220,7 @@ in
|
|||
postgres_opts = mkOption {
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
Overrides for the default database_opts when using a non-default postgres connection URL.
|
||||
'';
|
||||
};
|
||||
|
@ -230,20 +230,20 @@ in
|
|||
|
||||
server = mkOption {
|
||||
default = { };
|
||||
description = mdDoc "Listener config";
|
||||
description = "Listener config";
|
||||
type = submodule {
|
||||
options = {
|
||||
hostname = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The IP to listen on
|
||||
'';
|
||||
};
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 29316;
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The port to listen on
|
||||
'';
|
||||
};
|
||||
|
@ -251,14 +251,14 @@ in
|
|||
type = types.str;
|
||||
default = "http://${cfg.settings.server.hostname}:${toString cfg.settings.server.port}";
|
||||
defaultText = literalExpression ''"http://''${config.services.maubot.settings.server.hostname}:''${toString config.services.maubot.settings.server.port}"'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
Public base URL where the server is visible.
|
||||
'';
|
||||
};
|
||||
ui_base_path = mkOption {
|
||||
type = types.str;
|
||||
default = "/_matrix/maubot";
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The base path for the UI.
|
||||
'';
|
||||
};
|
||||
|
@ -268,14 +268,14 @@ in
|
|||
defaultText = literalExpression ''
|
||||
"''${config.services.maubot.settings.server.ui_base_path}/plugin/"
|
||||
'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The base path for plugin endpoints. The instance ID will be appended directly.
|
||||
'';
|
||||
};
|
||||
override_resource_path = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
Override path from where to load UI resources.
|
||||
'';
|
||||
};
|
||||
|
@ -288,7 +288,7 @@ in
|
|||
options = {
|
||||
url = mkOption {
|
||||
type = types.str;
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
Client-server API URL
|
||||
'';
|
||||
};
|
||||
|
@ -299,7 +299,7 @@ in
|
|||
url = "https://matrix-client.matrix.org";
|
||||
};
|
||||
};
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
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.
|
||||
'';
|
||||
|
@ -308,7 +308,7 @@ in
|
|||
admins = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = { root = ""; };
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
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.
|
||||
'';
|
||||
|
@ -328,14 +328,14 @@ in
|
|||
dev_open = true;
|
||||
log = true;
|
||||
};
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
API feature switches.
|
||||
'';
|
||||
};
|
||||
|
||||
logging = mkOption {
|
||||
type = types.attrs;
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
Python logging configuration. See [section 16.7.2 of the Python
|
||||
documentation](https://docs.python.org/3.6/library/logging.config.html#configuration-dictionary-schema)
|
||||
for more info.
|
||||
|
|
|
@ -17,7 +17,7 @@ let
|
|||
in {
|
||||
options = {
|
||||
services.mautrix-facebook = {
|
||||
enable = mkEnableOption (lib.mdDoc "Mautrix-Facebook, a Matrix-Facebook hybrid puppeting/relaybot bridge");
|
||||
enable = mkEnableOption "Mautrix-Facebook, a Matrix-Facebook hybrid puppeting/relaybot bridge";
|
||||
|
||||
settings = mkOption rec {
|
||||
apply = recursiveUpdate default;
|
||||
|
@ -83,7 +83,7 @@ in {
|
|||
};
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
{file}`config.yaml` configuration as a Nix attribute set.
|
||||
Configuration options should match those described in
|
||||
[example-config.yaml](https://github.com/mautrix/facebook/blob/master/mautrix_facebook/example-config.yaml).
|
||||
|
@ -96,7 +96,7 @@ in {
|
|||
environmentFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
File containing environment variables to be passed to the mautrix-facebook service.
|
||||
|
||||
Any config variable can be overridden by setting `MAUTRIX_FACEBOOK_SOME_KEY` to override the `some.key` variable.
|
||||
|
@ -106,7 +106,7 @@ in {
|
|||
configurePostgresql = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Enable PostgreSQL and create a user and database for mautrix-facebook. The default `settings` reference this database, if you disable this option you must provide a database URL.
|
||||
'';
|
||||
};
|
||||
|
@ -114,7 +114,7 @@ in {
|
|||
registrationData = mkOption {
|
||||
type = types.attrs;
|
||||
default = {};
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Output data for appservice registration. Simply make any desired changes and serialize to JSON. Note that this data contains secrets so think twice before putting it into the nix store.
|
||||
|
||||
Currently `as_token` and `hs_token` need to be added as they are not known to this module.
|
||||
|
|
|
@ -13,7 +13,7 @@ let
|
|||
in {
|
||||
options = {
|
||||
services.mautrix-telegram = {
|
||||
enable = mkEnableOption (lib.mdDoc "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge");
|
||||
enable = mkEnableOption "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge";
|
||||
|
||||
settings = mkOption rec {
|
||||
apply = recursiveUpdate default;
|
||||
|
@ -85,7 +85,7 @@ in {
|
|||
};
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
{file}`config.yaml` configuration as a Nix attribute set.
|
||||
Configuration options should match those described in
|
||||
[example-config.yaml](https://github.com/mautrix/telegram/blob/master/mautrix_telegram/example-config.yaml).
|
||||
|
@ -98,7 +98,7 @@ in {
|
|||
environmentFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
File containing environment variables to be passed to the mautrix-telegram service,
|
||||
in which secret tokens can be specified securely by defining values for e.g.
|
||||
`MAUTRIX_TELEGRAM_APPSERVICE_AS_TOKEN`,
|
||||
|
@ -126,7 +126,7 @@ in {
|
|||
defaultText = literalExpression ''
|
||||
optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of Systemd services to require and wait for when starting the application service.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -47,12 +47,12 @@
|
|||
|
||||
in {
|
||||
options.services.mautrix-whatsapp = {
|
||||
enable = lib.mkEnableOption (lib.mdDoc "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp.");
|
||||
enable = lib.mkEnableOption "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp.";
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = settingsFormat.type;
|
||||
default = defaultConfig;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
{file}`config.yaml` configuration as a Nix attribute set.
|
||||
Configuration options should match those described in
|
||||
[example-config.yaml](https://github.com/mautrix/whatsapp/blob/master/example-config.yaml).
|
||||
|
@ -91,7 +91,7 @@ in {
|
|||
environmentFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
File containing environment variables to be passed to the mautrix-whatsapp service,
|
||||
in which secret tokens can be specified securely by optionally defining a value for
|
||||
`MAUTRIX_WHATSAPP_BRIDGE_LOGIN_SHARED_SECRET`.
|
||||
|
@ -104,7 +104,7 @@ in {
|
|||
defaultText = lib.literalExpression ''
|
||||
optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnits
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of Systemd services to require and wait for when starting the application service.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -65,12 +65,12 @@ let
|
|||
in
|
||||
{
|
||||
options.services.mjolnir = {
|
||||
enable = mkEnableOption (lib.mdDoc "Mjolnir, a moderation tool for Matrix");
|
||||
enable = mkEnableOption "Mjolnir, a moderation tool for Matrix";
|
||||
|
||||
homeserverUrl = mkOption {
|
||||
type = types.str;
|
||||
default = "https://matrix.org";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Where the homeserver is located (client-server URL).
|
||||
|
||||
If `pantalaimon.enable` is `true`, this option will become the homeserver to which `pantalaimon` connects.
|
||||
|
@ -81,13 +81,13 @@ in
|
|||
accessTokenFile = mkOption {
|
||||
type = with types; nullOr path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
File containing the matrix access token for the `mjolnir` user.
|
||||
'';
|
||||
};
|
||||
|
||||
pantalaimon = mkOption {
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
`pantalaimon` options (enables E2E Encryption support).
|
||||
|
||||
This will create a `pantalaimon` instance with the name "mjolnir".
|
||||
|
@ -95,20 +95,20 @@ in
|
|||
default = { };
|
||||
type = types.submodule {
|
||||
options = {
|
||||
enable = mkEnableOption (lib.mdDoc ''
|
||||
enable = mkEnableOption ''
|
||||
ignoring the accessToken. If true, accessToken is ignored and the username/password below will be
|
||||
used instead. The access token of the bot will be stored in the dataPath
|
||||
'');
|
||||
'';
|
||||
|
||||
username = mkOption {
|
||||
type = types.str;
|
||||
description = lib.mdDoc "The username to login with.";
|
||||
description = "The username to login with.";
|
||||
};
|
||||
|
||||
passwordFile = mkOption {
|
||||
type = with types; nullOr path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
File containing the matrix password for the `mjolnir` user.
|
||||
'';
|
||||
};
|
||||
|
@ -116,7 +116,7 @@ in
|
|||
options = mkOption {
|
||||
type = types.submodule (import ./pantalaimon-options.nix);
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
passthrough additional options to the `pantalaimon` service.
|
||||
'';
|
||||
};
|
||||
|
@ -127,7 +127,7 @@ in
|
|||
dataPath = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/mjolnir";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The directory the bot should store various bits of information in.
|
||||
'';
|
||||
};
|
||||
|
@ -135,7 +135,7 @@ in
|
|||
managementRoom = mkOption {
|
||||
type = types.str;
|
||||
default = "#moderators:example.org";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The room ID where people can use the bot. The bot has no access controls, so
|
||||
anyone in this room can use the bot - secure your room!
|
||||
This should be a room alias or room ID - not a matrix.to URL.
|
||||
|
@ -152,7 +152,7 @@ in
|
|||
"https://matrix.to/#/#anotherroom:example.org"
|
||||
]
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
A list of rooms to protect (matrix.to URLs).
|
||||
'';
|
||||
};
|
||||
|
@ -166,7 +166,7 @@ in
|
|||
automaticallyRedactForReasons = [ "spam" "advertising" ];
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Additional settings (see [mjolnir default config](https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml) for available settings). These settings will override settings made by the module config.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -12,10 +12,10 @@ let
|
|||
in {
|
||||
options = {
|
||||
services.mx-puppet-discord = {
|
||||
enable = mkEnableOption (lib.mdDoc ''
|
||||
enable = mkEnableOption ''
|
||||
mx-puppet-discord is a discord puppeting bridge for matrix.
|
||||
It handles bridging private and group DMs, as well as Guilds (servers)
|
||||
'');
|
||||
'';
|
||||
|
||||
settings = mkOption rec {
|
||||
apply = recursiveUpdate default;
|
||||
|
@ -57,7 +57,7 @@ in {
|
|||
relay.whitelist = [ "@.*:example.com" ];
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
{file}`config.yaml` configuration as a Nix attribute set.
|
||||
Configuration options should match those described in
|
||||
[
|
||||
|
@ -70,7 +70,7 @@ in {
|
|||
defaultText = literalExpression ''
|
||||
optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of Systemd services to require and wait for when starting the application service.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -6,7 +6,7 @@ with lib;
|
|||
dataPath = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/pantalaimon-${name}";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The directory where `pantalaimon` should store its state such as the database file.
|
||||
'';
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ with lib;
|
|||
logLevel = mkOption {
|
||||
type = types.enum [ "info" "warning" "error" "debug" ];
|
||||
default = "warning";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Set the log level of the daemon.
|
||||
'';
|
||||
};
|
||||
|
@ -22,7 +22,7 @@ with lib;
|
|||
homeserver = mkOption {
|
||||
type = types.str;
|
||||
example = "https://matrix.org";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The URI of the homeserver that the `pantalaimon` proxy should
|
||||
forward requests to, without the matrix API path but including
|
||||
the http(s) schema.
|
||||
|
@ -32,7 +32,7 @@ with lib;
|
|||
ssl = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether or not SSL verification should be enabled for outgoing
|
||||
connections to the homeserver.
|
||||
'';
|
||||
|
@ -41,7 +41,7 @@ with lib;
|
|||
listenAddress = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The address where the daemon will listen to client connections
|
||||
for this homeserver.
|
||||
'';
|
||||
|
@ -50,7 +50,7 @@ with lib;
|
|||
listenPort = mkOption {
|
||||
type = types.port;
|
||||
default = 8009;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The port where the daemon will listen to client connections for
|
||||
this homeserver. Note that the listen address/port combination
|
||||
needs to be unique between different homeservers.
|
||||
|
@ -60,7 +60,7 @@ with lib;
|
|||
extraSettings = mkOption {
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Extra configuration options. See
|
||||
[pantalaimon(5)](https://github.com/matrix-org/pantalaimon/blob/master/docs/man/pantalaimon.5.md)
|
||||
for available options.
|
||||
|
|
|
@ -51,7 +51,7 @@ in
|
|||
options.services.pantalaimon-headless.instances = mkOption {
|
||||
default = { };
|
||||
type = types.attrsOf (types.submodule (import ./pantalaimon-options.nix));
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Declarative instance config.
|
||||
|
||||
Note: to use pantalaimon interactively, e.g. for a Matrix client which does not
|
||||
|
|
|
@ -219,7 +219,7 @@ in {
|
|||
type = types.nullOr types.port;
|
||||
default = null;
|
||||
example = 8448;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The port to listen for HTTP(S) requests on.
|
||||
'';
|
||||
};
|
||||
|
@ -245,7 +245,7 @@ in {
|
|||
"0.0.0.0"
|
||||
]
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
IP addresses to bind the listener to.
|
||||
'';
|
||||
};
|
||||
|
@ -288,7 +288,7 @@ in {
|
|||
];
|
||||
default = "http";
|
||||
example = "metrics";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The type of the listener, usually http.
|
||||
'';
|
||||
};
|
||||
|
@ -303,7 +303,7 @@ in {
|
|||
Enabled for the main instance listener, unless it is configured with a UNIX domain socket path.
|
||||
'';
|
||||
example = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether to enable TLS on the listener socket.
|
||||
|
||||
::: {.note}
|
||||
|
@ -319,7 +319,7 @@ in {
|
|||
Enabled if the listener is configured with a UNIX domain socket path
|
||||
'';
|
||||
example = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Use the X-Forwarded-For (XFF) header as the client IP and not the
|
||||
actual client IP.
|
||||
'';
|
||||
|
@ -341,7 +341,7 @@ in {
|
|||
"replication"
|
||||
"static"
|
||||
]);
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of resources to host on this listener.
|
||||
'';
|
||||
example = [
|
||||
|
@ -351,7 +351,7 @@ in {
|
|||
compress = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether synapse should compress HTTP responses to clients that support it.
|
||||
This should be disabled if running synapse behind a load balancer
|
||||
that can do automatic compression.
|
||||
|
@ -359,7 +359,7 @@ in {
|
|||
};
|
||||
};
|
||||
});
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of HTTP resources to serve on this listener.
|
||||
'';
|
||||
};
|
||||
|
@ -367,7 +367,7 @@ in {
|
|||
});
|
||||
in {
|
||||
services.matrix-synapse = {
|
||||
enable = mkEnableOption (lib.mdDoc "matrix.org synapse, the reference homeserver");
|
||||
enable = mkEnableOption "matrix.org synapse, the reference homeserver";
|
||||
|
||||
enableRegistrationScript = mkOption {
|
||||
type = types.bool;
|
||||
|
@ -389,7 +389,7 @@ in {
|
|||
serviceUnit = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
readOnly = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The systemd unit (a service or a target) for other services to depend on if they
|
||||
need to be started after matrix-synapse.
|
||||
|
||||
|
@ -401,7 +401,7 @@ in {
|
|||
configFile = mkOption {
|
||||
type = types.path;
|
||||
readOnly = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Path to the configuration file on the target system. Useful to configure e.g. workers
|
||||
that also need this.
|
||||
'';
|
||||
|
@ -410,7 +410,7 @@ in {
|
|||
package = mkOption {
|
||||
type = types.package;
|
||||
readOnly = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Reference to the `matrix-synapse` wrapper with all extras
|
||||
(e.g. for `oidc` or `saml2`) added to the `PYTHONPATH` of all executables.
|
||||
|
||||
|
@ -445,7 +445,7 @@ in {
|
|||
"user-search" # Support internationalized domain names in user-search
|
||||
]
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Explicitly install extras provided by matrix-synapse. Most
|
||||
will require some additional configuration.
|
||||
|
||||
|
@ -467,7 +467,7 @@ in {
|
|||
matrix-synapse-pam
|
||||
];
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of additional Matrix plugins to make available.
|
||||
'';
|
||||
};
|
||||
|
@ -475,7 +475,7 @@ in {
|
|||
withJemalloc = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether to preload jemalloc to reduce memory fragmentation and overall usage.
|
||||
'';
|
||||
};
|
||||
|
@ -483,7 +483,7 @@ in {
|
|||
dataDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/matrix-synapse";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The directory where matrix-synapse stores its stateful data such as
|
||||
certificates, media and uploads.
|
||||
'';
|
||||
|
@ -492,7 +492,7 @@ in {
|
|||
log = mkOption {
|
||||
type = types.attrsOf format.type;
|
||||
defaultText = literalExpression defaultCommonLogConfigText;
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
Default configuration for the loggers used by `matrix-synapse` and its workers.
|
||||
The defaults are added with the default priority which means that
|
||||
these will be merged with additional declarations. These additional
|
||||
|
@ -534,7 +534,7 @@ in {
|
|||
|
||||
settings = mkOption {
|
||||
default = { };
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The primary synapse configuration. See the
|
||||
[sample configuration](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_config.yaml)
|
||||
for possible values.
|
||||
|
@ -553,7 +553,7 @@ in {
|
|||
example = "example.com";
|
||||
default = config.networking.hostName;
|
||||
defaultText = literalExpression "config.networking.hostName";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The domain name of the server, with optional explicit port.
|
||||
This is used by remote servers to look up the server address.
|
||||
This is also the last part of your UserID.
|
||||
|
@ -565,7 +565,7 @@ in {
|
|||
enable_registration = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Enable registration for new users.
|
||||
'';
|
||||
};
|
||||
|
@ -573,7 +573,7 @@ in {
|
|||
registration_shared_secret = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
If set, allows registration by anyone who also has the shared
|
||||
secret, even if registration is otherwise disabled.
|
||||
|
||||
|
@ -584,7 +584,7 @@ in {
|
|||
macaroon_secret_key = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
Secret key for authentication tokens. If none is specified,
|
||||
the registration_shared_secret is used, if one is given; otherwise,
|
||||
a secret key is derived from the signing key.
|
||||
|
@ -596,7 +596,7 @@ in {
|
|||
enable_metrics = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Enable collection and rendering of performance metrics
|
||||
'';
|
||||
};
|
||||
|
@ -604,7 +604,7 @@ in {
|
|||
report_stats = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether or not to report anonymized homeserver usage statistics.
|
||||
'';
|
||||
};
|
||||
|
@ -612,7 +612,7 @@ in {
|
|||
signing_key_path = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.dataDir}/homeserver.signing.key";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Path to the signing key to sign messages with.
|
||||
'';
|
||||
};
|
||||
|
@ -621,7 +621,7 @@ in {
|
|||
type = types.path;
|
||||
default = "/run/matrix-synapse.pid";
|
||||
readOnly = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The file to store the PID in.
|
||||
'';
|
||||
};
|
||||
|
@ -630,7 +630,7 @@ in {
|
|||
type = types.path;
|
||||
default = genLogConfigFile "synapse";
|
||||
defaultText = logConfigText "synapse";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The file that holds the logging configuration.
|
||||
'';
|
||||
};
|
||||
|
@ -641,7 +641,7 @@ in {
|
|||
then "${cfg.dataDir}/media_store"
|
||||
else "${cfg.dataDir}/media";
|
||||
defaultText = "${cfg.dataDir}/media_store for when system.stateVersion is at least 22.05, ${cfg.dataDir}/media when lower than 22.05";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Directory where uploaded images and attachments are stored.
|
||||
'';
|
||||
};
|
||||
|
@ -650,7 +650,7 @@ in {
|
|||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "https://example.com:8448/";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The public-facing base URL for the client API (not including _matrix/...)
|
||||
'';
|
||||
};
|
||||
|
@ -659,7 +659,7 @@ in {
|
|||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "/var/lib/acme/example.com/fullchain.pem";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
PEM encoded X509 certificate for TLS.
|
||||
You can replace the self-signed certificate that synapse
|
||||
autogenerates on launch with your own SSL certificate + key pair
|
||||
|
@ -672,7 +672,7 @@ in {
|
|||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "/var/lib/acme/example.com/key.pem";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
PEM encoded private key for TLS. Specify null if synapse is not
|
||||
speaking TLS directly.
|
||||
'';
|
||||
|
@ -682,7 +682,7 @@ in {
|
|||
type = types.bool;
|
||||
default = true;
|
||||
example = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether to enable presence tracking.
|
||||
|
||||
Presence tracking allows users to see the state (e.g online/offline)
|
||||
|
@ -713,7 +713,7 @@ in {
|
|||
compress = false;
|
||||
}];
|
||||
};
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of ports that Synapse should listen on, their purpose and their configuration.
|
||||
|
||||
By default, synapse will be configured for client and federation traffic on port 8008, and
|
||||
|
@ -735,7 +735,7 @@ in {
|
|||
then "psycopg2"
|
||||
else "sqlite3"
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The database engine name. Can be sqlite3 or psycopg2.
|
||||
'';
|
||||
};
|
||||
|
@ -752,7 +752,7 @@ in {
|
|||
psycopg2 = "matrix-synapse";
|
||||
}.''${${options.services.matrix-synapse.settings}.database.name};
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Name of the database when using the psycopg2 backend,
|
||||
path to the database location when using sqlite3.
|
||||
'';
|
||||
|
@ -770,7 +770,7 @@ in {
|
|||
psycopg2 = "matrix-synapse";
|
||||
}.''${cfg.settings.database.name};
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Username to connect with psycopg2, set to null
|
||||
when using sqlite3.
|
||||
'';
|
||||
|
@ -780,7 +780,7 @@ in {
|
|||
type = types.bool;
|
||||
default = true;
|
||||
example = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Is the preview URL API enabled? If enabled, you *must* specify an
|
||||
explicit url_preview_ip_range_blacklist of IPs that the spider is
|
||||
denied from accessing.
|
||||
|
@ -810,7 +810,7 @@ in {
|
|||
"fec0::/10"
|
||||
"ff00::/8"
|
||||
];
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of IP address CIDR ranges that the URL preview spider is denied
|
||||
from accessing.
|
||||
'';
|
||||
|
@ -819,7 +819,7 @@ in {
|
|||
url_preview_ip_range_whitelist = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of IP address CIDR ranges that the URL preview spider is allowed
|
||||
to access even if they are specified in url_preview_ip_range_blacklist.
|
||||
'';
|
||||
|
@ -847,7 +847,7 @@ in {
|
|||
{ netloc = "www.acme.com"; path = "/foo"; } # block http(s)://www.acme.com/foo
|
||||
]
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Optional list of URL matches that the URL preview spider is
|
||||
denied from accessing.
|
||||
'';
|
||||
|
@ -857,7 +857,7 @@ in {
|
|||
type = types.str;
|
||||
default = "50M";
|
||||
example = "100M";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The largest allowed upload size in bytes
|
||||
'';
|
||||
};
|
||||
|
@ -866,7 +866,7 @@ in {
|
|||
type = types.str;
|
||||
default = "32M";
|
||||
example = "64M";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Maximum number of pixels that will be thumbnailed
|
||||
'';
|
||||
};
|
||||
|
@ -875,7 +875,7 @@ in {
|
|||
type = types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether to generate new thumbnails on the fly to precisely match
|
||||
the resolution requested by the client. If true then whenever
|
||||
a new resolution is requested by the client the server will
|
||||
|
@ -893,7 +893,7 @@ in {
|
|||
"turns:turn.example.com:5349?transport=udp"
|
||||
"turns:turn.example.com:5349?transport=tcp"
|
||||
];
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The public URIs of the TURN server to give to clients
|
||||
'';
|
||||
};
|
||||
|
@ -903,7 +903,7 @@ in {
|
|||
example = literalExpression ''
|
||||
config.services.coturn.static-auth-secret
|
||||
'';
|
||||
description = mdDoc ''
|
||||
description = ''
|
||||
The shared secret used to compute passwords for the TURN server.
|
||||
|
||||
Secrets should be passed in via `extraConfigFiles`!
|
||||
|
@ -917,7 +917,7 @@ in {
|
|||
server_name = mkOption {
|
||||
type = types.str;
|
||||
example = "matrix.org";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Hostname of the trusted server.
|
||||
'';
|
||||
};
|
||||
|
@ -929,7 +929,7 @@ in {
|
|||
"ed25519:auto" = "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw";
|
||||
};
|
||||
}];
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The trusted servers to download signing keys from.
|
||||
'';
|
||||
};
|
||||
|
@ -937,7 +937,7 @@ in {
|
|||
app_service_config_files = mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [ ];
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
A list of application service config file to use
|
||||
'';
|
||||
};
|
||||
|
@ -949,14 +949,14 @@ in {
|
|||
enabled = lib.mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether to use redis support
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Redis configuration for synapse.
|
||||
|
||||
See the
|
||||
|
@ -970,7 +970,7 @@ in {
|
|||
|
||||
workers = lib.mkOption {
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Options for configuring workers. Worker support will be enabled if at least one worker is configured here.
|
||||
|
||||
See the [worker documention](https://element-hq.github.io/synapse/latest/workers.html#worker-configuration)
|
||||
|
@ -1007,7 +1007,7 @@ in {
|
|||
worker_listeners = lib.mkOption {
|
||||
default = [ ];
|
||||
type = types.listOf (listenerType true);
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
List of ports that this worker should listen on, their purpose and their configuration.
|
||||
'';
|
||||
};
|
||||
|
@ -1015,7 +1015,7 @@ in {
|
|||
type = types.path;
|
||||
default = genLogConfigFile "synapse-${name}";
|
||||
defaultText = logConfigText "synapse-${name}";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The file for log configuration.
|
||||
|
||||
See the [python documentation](https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema)
|
||||
|
@ -1050,7 +1050,7 @@ in {
|
|||
extraConfigFiles = mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [ ];
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Extra config files to include.
|
||||
|
||||
The configuration files will be included based on the command line
|
||||
|
@ -1063,7 +1063,7 @@ in {
|
|||
configureRedisLocally = lib.mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Whether to automatically configure a local redis server for matrix-synapse.
|
||||
'';
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue