forked from pub-solar/infra
fix(matrix-synapse): make sure to find element in
list of config.services.matrix-synapse.settings.listeners.*.resources that sets names = "client" instead of just using the first element in the list of listeners
This commit is contained in:
parent
3cfdd9d20a
commit
62429bca08
|
@ -1,7 +1,16 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
# Get port from first element in list of matrix-synapse listeners
|
# Find element in list config.services.matrix-synapse.settings.listeners.*.resources
|
||||||
synapsePort = "${toString (lib.findFirst (listener: listener.port != null) "" config.services.matrix-synapse.settings.listeners).port}";
|
# that sets names = "client"
|
||||||
|
nameHasClient = name: name == "client";
|
||||||
|
resourceHasClient = resource: builtins.any nameHasClient resource.names;
|
||||||
|
listenerWithClient = lib.findFirst
|
||||||
|
(listener:
|
||||||
|
builtins.any resourceHasClient listener.resources)
|
||||||
|
(throw "Found no matrix-synapse.settings.listeners.*.resources.*.names containing string client")
|
||||||
|
config.services.matrix-synapse.settings.listeners
|
||||||
|
;
|
||||||
|
synapseClientPort = "${toString listenerWithClient.port}";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
systemd.services.matrix-appservice-irc.serviceConfig.SystemCallFilter = lib.mkForce [
|
systemd.services.matrix-appservice-irc.serviceConfig.SystemCallFilter = lib.mkForce [
|
||||||
|
@ -17,7 +26,7 @@ in
|
||||||
settings = {
|
settings = {
|
||||||
homeserver = {
|
homeserver = {
|
||||||
domain = "pub.solar";
|
domain = "pub.solar";
|
||||||
url = "http://127.0.0.1:${synapsePort}";
|
url = "http://127.0.0.1:${synapseClientPort}";
|
||||||
media_url = "https://matrix.pub.solar";
|
media_url = "https://matrix.pub.solar";
|
||||||
enablePresence = false;
|
enablePresence = false;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue