89 lines
2.1 KiB
Nix
89 lines
2.1 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
inputs,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
client = config.services.matrix-continuwuity.settings.global.well_known.client;
|
|
server_name = config.services.matrix-continuwuity.settings.global.server_name;
|
|
|
|
settings = {
|
|
backfill.enabled = true;
|
|
|
|
appservice = {
|
|
as_token = "$CUSTOM_AS_TOKEN";
|
|
hs_token = "$CUSTOM_HS_TOKEN";
|
|
};
|
|
|
|
homeserver = {
|
|
domain = server_name;
|
|
address = client;
|
|
};
|
|
|
|
bridge = {
|
|
encryption = {
|
|
allow = true;
|
|
default = true;
|
|
require = false;
|
|
};
|
|
permissions = {
|
|
"${server_name}" = "user";
|
|
"@quadradical:${server_name}" = "admin";
|
|
};
|
|
};
|
|
};
|
|
in
|
|
{
|
|
imports = [
|
|
inputs.nix-matrix-appservices.nixosModule
|
|
inputs.ooye.modules.default
|
|
];
|
|
|
|
services =
|
|
let
|
|
domain = "ooye.federated.nexus";
|
|
in
|
|
{
|
|
matrix-appservices.services =
|
|
builtins.mapAttrs
|
|
(
|
|
name: value:
|
|
value
|
|
// {
|
|
inherit settings;
|
|
format = "mautrix-go";
|
|
port = 8000;
|
|
package = value.package.override { withGoolm = true; };
|
|
}
|
|
)
|
|
{
|
|
whatsapp = {
|
|
host = "127.0.0.4";
|
|
serviceConfig.EnvironmentFile = config.age.secrets."whatsapp.age".path;
|
|
package = pkgs.mautrix-whatsapp;
|
|
};
|
|
gmessages = {
|
|
host = "127.0.0.5";
|
|
serviceConfig.EnvironmentFile = config.age.secrets."gmessages.age".path;
|
|
package = pkgs.mautrix-gmessages;
|
|
};
|
|
};
|
|
|
|
matrix-ooye = {
|
|
enable = true;
|
|
homeserver = client;
|
|
homeserverName = "federated.nexus";
|
|
discordTokenPath = config.age.secrets."discordToken.age".path;
|
|
discordClientSecretPath = config.age.secrets."discordClientSecret.age".path;
|
|
socket = "8081";
|
|
bridgeOrigin = "https://${domain}";
|
|
};
|
|
|
|
caddy.virtualHosts."${domain}".extraConfig =
|
|
"reverse_proxy 127.0.0.1:${config.services.matrix-ooye.socket}";
|
|
};
|
|
|
|
systemd.services.matrix-ooye.serviceConfig.Restart = lib.mkForce "always";
|
|
}
|