diff --git a/pkgs/matrix/default.nix b/pkgs/matrix/default.nix new file mode 100644 index 0000000..b58a98c --- /dev/null +++ b/pkgs/matrix/default.nix @@ -0,0 +1,54 @@ +self: super: +{ + python38Packages = super.python3Packages // { + twisted = with super.python3Packages; + twisted.overrideAttrs (old: rec { + version = "21.2.0"; + src = fetchPypi { + inherit version; + extension = "tar.gz"; + pname = "Twisted"; + sha256 = "04jsr67swzj8vn8z64fzbha7vpkm1jz9ns26566vjsfg8n4llm3p"; + }; + }); + }; + + matrix-synapse = super.matrix-synapse.overrideAttrs (old: { + propagatedBuildInputs = with self.python3Packages; [ + setuptools + bcrypt + bleach + canonicaljson + daemonize + frozendict + jinja2 + jsonschema + lxml + msgpack + netaddr + phonenumbers + pillow + prometheus_client + psutil + psycopg2 + pyasn1 + pymacaroons + pynacl + pyopenssl + pysaml2 + pyyaml + requests + signedjson + sortedcontainers + treq + twisted + unpaddedbase64 + typing-extensions + authlib + pyjwt + systemd + hiredis + ]; + python = self.python3; + }); +} diff --git a/services/matrix-synapse.nix b/services/matrix-synapse.nix index 7e88452..2084821 100644 --- a/services/matrix-synapse.nix +++ b/services/matrix-synapse.nix @@ -3,6 +3,9 @@ { networking.firewall.allowedTCPPorts = [ 80 443 ]; + nixpkgs.overlays = [ (import ./../../../pkgs/matrix) ]; + + services.postgresql.enable = true; services.postgresql.initialScript = pkgs.writeText "synapse-init.sql" '' CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';