NixOS packages Continuwuity as matrix-continuwuity. This package includes both the Continuwuity software and a dedicated NixOS module for configuration and deployment.
You can acquire Continuwuity with Nix (or Lix) from these sources:
pkgs.matrix-continuwuity)flake.nix at the root of the Continuwuity repodefault.nix at the root of the Continuwuity repoContinuwuity now has an official NixOS module that simplifies configuration and deployment. The module is available in Nixpkgs as services.matrix-continuwuity from NixOS 25.05.
Here's a basic example of how to use the module:
The NixOS module provides these configuration options:
enable: Enable the Continuwuity serviceuser: The user to run Continuwuity as (defaults to "continuwuity")group: The group to run Continuwuity as (defaults to "continuwuity")extraEnvironment: Extra environment variables to pass to the Continuwuity serverpackage: The Continuwuity package to usesettings: The Continuwuity configuration (in TOML format)Use the settings option to configure Continuwuity itself. See the example configuration file for all available options.
The NixOS module natively supports UNIX sockets through the global.unix_socket_path option. When using UNIX sockets, set global.address to null:
The module automatically sets the correct RestrictAddressFamilies in the systemd service configuration to allow access to UNIX sockets.
Continuwuity exclusively uses RocksDB as its database backend. The system configures the database path automatically to /var/lib/continuwuity/ and you cannot change it due to the service's reliance on systemd's StateDir.
If you're migrating from Conduit with SQLite, use this tool to migrate a Conduit SQLite database to RocksDB.
Continuwuity uses jemalloc by default. This may interfere with the hardened.nix profile because it uses scudo by default. Either disable/hide scudo from Continuwuity or disable jemalloc like this:
If you previously used Conduit with the services.matrix-conduit module:
services.matrix-conduit to services.matrix-continuwuity in your configurationYou'll need to set up a reverse proxy (like nginx or caddy) to expose Continuwuity to the internet. Configure your reverse proxy to forward requests to /_matrix on port 443 and 8448 to your Continuwuity instance.
Here's an example nginx configuration: