diff --git a/nixos/boxes/colony/vms/shill/containers/chatterbox.nix b/nixos/boxes/colony/vms/shill/containers/chatterbox.nix index 8ae0415..033ca74 100644 --- a/nixos/boxes/colony/vms/shill/containers/chatterbox.nix +++ b/nixos/boxes/colony/vms/shill/containers/chatterbox.nix @@ -59,6 +59,10 @@ in owner = "matrix-whatsapp"; group = "matrix-whatsapp"; }; + "chatterbox/mautrix-messenger.env" = { + owner = "matrix-meta-messenger"; + group = "matrix-meta"; + }; }; }; @@ -250,6 +254,51 @@ in }; }; }; + + mautrix-meta.instances = { + messenger = { + enable = true; + registerToSynapse = true; + dataDir = "mautrix-messenger"; + environmentFile = config.age.secrets."chatterbox/mautrix-messenger.env".path; + settings = { + homeserver = { + address = "http://localhost:8008"; + domain = "nul.ie"; + }; + appservice = { + database = { + type = "postgres"; + uri = "$MAU_FBM_PSQL_URI"; + }; + id = "fbm2"; + bot = { + username = "messenger2"; + displayname = "Messenger Bridge Bot"; + avatar = "mxc://maunium.net/ygtkteZsXnGJLJHRchUwYWak"; + }; + }; + meta.mode = "messenger"; + bridge = { + username_template = "fbm2_{{.}}"; + displayname_template = ''{{or .DisplayName .Username "Unknown user"}} (FBM)''; + personal_filtering_spaces = true; + delivery_receipts = true; + management_room_text.welcome = "Hello, I'm a Messenger bridge bot."; + command_prefix = "!fbm"; + login_shared_secret_map."nul.ie" = "$MAU_FBM_DOUBLE_PUPPET_TOKEN"; + encryption = { + allow = true; + default = true; + require = true; + }; + permissions = { + "@dev:nul.ie" = "admin"; + }; + }; + }; + }; + }; }; } (mkIf config.my.build.isDevVM { diff --git a/nixos/modules/tmproot.nix b/nixos/modules/tmproot.nix index 05ccd1e..707b632 100644 --- a/nixos/modules/tmproot.nix +++ b/nixos/modules/tmproot.nix @@ -2,7 +2,7 @@ let inherit (lib) optionalString concatStringsSep concatMap concatMapStringsSep mkIf mkDefault mkMerge mkForce mkVMOverride - mkAliasDefinitions; + mkAliasDefinitions mapAttrsToList filterAttrs; inherit (lib.my) mkOpt' mkBoolOpt' mkVMOverride'; cfg = config.my.tmproot; @@ -515,6 +515,14 @@ in } ]; }) + { + my.tmproot.persistence.config.directories = mapAttrsToList (n: i: { + directory = "/var/lib/${i.dataDir}"; + mode = "0750"; + user = "mautrix-meta-${n}"; + group = "mautrix-meta"; + }) (filterAttrs (_: i: i.enable) config.services.mautrix-meta.instances); + } ])) ]); diff --git a/secrets/chatterbox/mautrix-messenger.env.age b/secrets/chatterbox/mautrix-messenger.env.age new file mode 100644 index 0000000..2b77f77 --- /dev/null +++ b/secrets/chatterbox/mautrix-messenger.env.age @@ -0,0 +1,14 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpCM2U2USBOb1dR +V1hVcGZMRm1yeUtKTUdBdkVjazJsS3l1aHR1Zzc4VGx1SmVyNHhZCkxZY2RLNW1m +eFVzRG00eGN3eGNoOGh0ZHhNZWZhcmxoVzV5elM4bGdxUTAKLT4gWDI1NTE5IGw3 +ZThQM1JESU1lZk9Pc1ljanU4dVUwb0xuZENWSFcrZ01vejhRT3E5ZzQKTXZ4Q0Zn +OWFHb0xoZi9UL1NSUWNEQytmd0dqVXFydUduYnZGVGhKK0JVTQotPiBPc0RaXl5+ +Wi1ncmVhc2UKYUtBRGZhVlY2MlAzRjJ5YQotLS0gSllJbHVXbDZtZGFac1JqN1I4 +bUdyNSs4c3VLSEJUVmo5VkpZVmkzRzlHOAow5ki6UNCCQQt0YXMr6OGjsDg9yYkH +ssU+hO1wKXepVj6QSROZubLLTyV4Cm5rHWESMiSGTV3rcGNDUuphrS1va+stkJqK +O7ZHP68QmCPLdlu1ghNXw7etm0K+BqqQTpPfgrusW9emUV8gIY5/SWmK6hDQLR/T +ibC6GqP+ZCEQOL5OgB59PUCKwEjia6O6xFKPHVLNzfhg4ZmMCNNS70gqpTFRyN/E +s9HMiwYVuvKjEODV9kM2jhfTTD3Ri10SmHurBqdbpzWhOoLz3oMTQTyW206Air/G +8RoM1RYcVS3DI69rNg== +-----END AGE ENCRYPTED FILE-----