NixOS modules for matrix related services
Go to file
Oystein Kristoffer Tveit f3fcbc2b40
WIP: create tests
2023-10-29 05:38:37 +01:00
pkgs/matrix-sliding-sync matrix-sliding-sync: 0.99.10 -> 0.99.11 2023-10-16 03:49:32 +02:00
sliding-sync Implement easy sliding sync setup 2023-09-24 04:39:20 +02:00
synapse-module WIP: make workers use path 2023-10-29 05:38:37 +01:00
tests WIP: create tests 2023-10-29 05:38:37 +01:00
.gitignore add gitignore 2023-10-29 05:38:35 +01:00
COPYING Add a license 2023-02-17 01:16:02 +01:00
MIGRATIONS.MD document some breaking changes 2023-09-24 04:39:20 +02:00
README.MD Update README.MD 2023-10-22 03:02:59 +02:00
flake.lock WIP: create tests 2023-10-29 05:38:37 +01:00
flake.nix WIP: create tests 2023-10-29 05:38:37 +01:00
lib.nix introduce matrix-lib 2023-01-20 08:11:33 +01:00
module.nix Import sliding sync from nixpkgs unstable 2023-09-24 03:32:54 +02:00

README.MD

With matrix.YOURDOMAIN pointing at the server:

{
  imports = [ ./synapse-module ];

  services.matrix-synapse-next = {
    enable = true;

    workers.federationSenders = 1;
    workers.federationReceivers = 1;
    workers.initialSyncers = 1;
    workers.normalSyncers = 1;
    workers.eventPersisters = 2;
    workers.useUserDirectoryWorker = true;

    enableNginx = true;

    settings = {
      server_name = "YOURDOMAIN";
      
      database = {
        name = "psycopg2";
        args = {
          host = "localhost";
          user = "synapse";
          password = "synapse";
          dbname = "synapse";
        };
      };
    };
  };
  
  services.redis.servers."".enable = true;
}

is ~enough to get a functional matrix-server running with some workers

Sliding Sync (Element X)

Just add the following to your config and point slidingsync.YOURDOMAIN at the server

services.matrix-synapse-next = {
  enableSlidingSync = true;
};

services.matrix-synapse.sliding-sync.environmentFile = "/some/file/containing/SYNCV3_SECRET=<some secret>";

If using well-known delagation make sure YOURDOMAIN/.well-known/matrix/client matches what's in matrix.YOURDOMAIN/.well-known/matrix/client