A federated messaging server with end-to-end encryption.
This NixOS module installs and configures Synapse β a federated Matrix homeserver with end-to-end encryption β and optionally provides the Element web client.
The example below demonstrates a minimal setup that includes:
Example configuration:
instances = {
matrix-synapse = {
roles.default.machines."jon".settings = {
acmeEmail = "admins@clan.lol";
server_tld = "clan.test";
app_domain = "matrix.clan.test";
users.admin.admin = true;
users.someuser = { };
};
};
}; The matrix-synapse service has the following roles:
default roleEmail address for account creation and correspondence from the CA. It is recommended to use the same email for all certs to avoid account creation limits.
Type: string
Declared in: clanServices/matrix-synapse/default.nix
The matrix server hostname also serves the element client
Type: string
"matrix.example.com"Declared in: clanServices/matrix-synapse/default.nix
The address that is suffixed after your username i.e @alice:example.com
Type: string
"example.com"Declared in: clanServices/matrix-synapse/default.nix
Package to use for matrix-synapse
Type: unspecified value
Declared in: clanServices/matrix-synapse/default.nix
A list of users. Not that only new users will be created and existing ones are not modified.
Type: attribute set of (submodule)
Default:
{ } {
alice = {
admin = true;
};
}Declared in: clanServices/matrix-synapse/default.nix
Whether the user should be an admin
Type: boolean
Default:
false Declared in: clanServices/matrix-synapse/default.nix
The name of the user
Type: string
Default:
"βΉnameβΊ" Declared in: clanServices/matrix-synapse/default.nix