alpine: refactor mautrix
This commit is contained in:
parent
7ad8d52e78
commit
140a50310e
6 changed files with 66 additions and 58 deletions
29
nixos/services/mautrix/instagram.nix
Normal file
29
nixos/services/mautrix/instagram.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{config, ...}: let
|
||||
inherit (config) sops;
|
||||
inherit (sops) templates placeholder;
|
||||
inherit (import ./lib.nix) toAppRegistration;
|
||||
in {
|
||||
sops.secrets = {
|
||||
"mautrix-instagram/as_token" = {};
|
||||
"mautrix-instagram/hs_token" = {};
|
||||
};
|
||||
sops.templates = {
|
||||
"mautrix-instagram/appservice.yaml" = {
|
||||
owner = "matrix-synapse";
|
||||
content = toAppRegistration {
|
||||
id = "instagram";
|
||||
port = 29328;
|
||||
as_token = placeholder."mautrix-instagram/as_token";
|
||||
hs_token = placeholder."mautrix-instagram/hs_token";
|
||||
sender_localpart = "Gx8tLTHsxVlrdD3qibaPdaP9t7GhfciV";
|
||||
"de.sorunome.msc2409.push_ephemeral" = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# mautrix-instagram server currently in ansible/podman
|
||||
|
||||
services.matrix-synapse.settings.app_service_config_files = [
|
||||
templates."mautrix-instagram/appservice.yaml".path
|
||||
];
|
||||
}
|
||||
27
nixos/services/mautrix/lib.nix
Normal file
27
nixos/services/mautrix/lib.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
toAppRegistration = {
|
||||
port,
|
||||
id,
|
||||
as_token,
|
||||
hs_token,
|
||||
sender_localpart,
|
||||
rate_limited ? false,
|
||||
...
|
||||
} @ conf:
|
||||
builtins.toJSON ({
|
||||
namespaces = {
|
||||
users = [
|
||||
{
|
||||
exclusive = true;
|
||||
regex = "^@${id}_.*:tristans.cloud$";
|
||||
}
|
||||
{
|
||||
exclusive = true;
|
||||
regex = "^@${id}bot:tristans.cloud$";
|
||||
}
|
||||
];
|
||||
};
|
||||
url = "http://localhost:${toString port}";
|
||||
}
|
||||
// conf);
|
||||
}
|
||||
29
nixos/services/mautrix/signal.nix
Normal file
29
nixos/services/mautrix/signal.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{config, ...}: let
|
||||
inherit (config) sops;
|
||||
inherit (sops) templates placeholder;
|
||||
inherit (import ./lib.nix) toAppRegistration;
|
||||
in {
|
||||
sops.secrets = {
|
||||
"mautrix-signal/as_token" = {};
|
||||
"mautrix-signal/hs_token" = {};
|
||||
};
|
||||
sops.templates = {
|
||||
"mautrix-signal/appservice.yaml" = {
|
||||
owner = "matrix-synapse";
|
||||
content = toAppRegistration {
|
||||
id = "signal";
|
||||
port = 29328;
|
||||
as_token = placeholder."mautrix-signal/as_token";
|
||||
hs_token = placeholder."mautrix-signal/hs_token";
|
||||
sender_localpart = "Gx8tLTHsxVlrdD3qibaPdaP9t7GhfciV";
|
||||
"de.sorunome.msc2409.push_ephemeral" = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# mautrix-signal server currently in ansible/podman
|
||||
|
||||
services.matrix-synapse.settings.app_service_config_files = [
|
||||
templates."mautrix-signal/appservice.yaml".path
|
||||
];
|
||||
}
|
||||
54
nixos/services/mautrix/whatsapp.nix
Normal file
54
nixos/services/mautrix/whatsapp.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{config, ...}: let
|
||||
inherit (config) sops;
|
||||
inherit (sops) templates placeholder;
|
||||
inherit (import ./lib.nix) toAppRegistration;
|
||||
in {
|
||||
sops.secrets = {
|
||||
"mautrix-whatsapp/as_token" = {};
|
||||
"mautrix-whatsapp/hs_token" = {};
|
||||
};
|
||||
sops.templates = {
|
||||
"mautrix-whatsapp/appservice.yaml" = {
|
||||
owner = "matrix-synapse";
|
||||
content = toAppRegistration {
|
||||
id = "whatsapp";
|
||||
port = config.services.mautrix-whatsapp.settings.appservice.port;
|
||||
as_token = placeholder."mautrix-whatsapp/as_token";
|
||||
hs_token = placeholder."mautrix-whatsapp/hs_token";
|
||||
sender_localpart = "Gx8tLTHsxVlrdD3qibaPdaP9t7GhfciV";
|
||||
"de.sorunome.msc2409.push_ephemeral" = true;
|
||||
};
|
||||
};
|
||||
# "mautrix-whatsapp/env".content = ''
|
||||
# MAUTRIX_WHATSAPP_APPSERVICE_AS_TOKEN=${placeholder."mautrix-whatsapp/as_token"}
|
||||
# MAUTRIX_WHATSAPP_APPSERVICE_HS_TOKEN=${placeholder."mautrix-whatsapp/hs_token"}
|
||||
# '';
|
||||
};
|
||||
|
||||
services.mautrix-whatsapp = {
|
||||
enable = true;
|
||||
# environmentFile = templates."mautrix-whatsapp/env".path;
|
||||
settings = {
|
||||
homeserver = {
|
||||
address = "http://localhost:8008";
|
||||
domain = "tristans.cloud";
|
||||
};
|
||||
bridge = {
|
||||
permissions = {
|
||||
"tristans.cloud" = "user";
|
||||
"@tristan:tristans.cloud" = "admin";
|
||||
};
|
||||
encryption = {
|
||||
allow = true;
|
||||
appservice = false;
|
||||
};
|
||||
personal_filtering_spaces = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.matrix-synapse.settings.app_service_config_files = [
|
||||
templates."mautrix-whatsapp/appservice.yaml".path
|
||||
# "/var/lib/mautrix-whatsapp/whatsapp-registration.yaml"
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue