diff --git a/nixos/boxes/colony/vms/shill/containers/chatterbox.nix b/nixos/boxes/colony/vms/shill/containers/chatterbox.nix index b959262..a7e53d3 100644 --- a/nixos/boxes/colony/vms/shill/containers/chatterbox.nix +++ b/nixos/boxes/colony/vms/shill/containers/chatterbox.nix @@ -198,44 +198,70 @@ in mautrix-whatsapp = { enable = true; + package = pkgs.mautrix-whatsapp.overrideAttrs (o: { + # TODO: Remove when upgrading nixpkgs + src = pkgs.fetchFromGitHub { + owner = "mautrix"; + repo = "whatsapp"; + tag = "v0.2511.0"; + hash = "sha256-0Jpod9/mZ9eGFvPxki6Yz0KL1XQ4HTtZ7Zv7WvamuC0="; + }; + vendorHash = "sha256-n25j2uM3e5/5PYs2jwH+iclaU/p/MhctCAhPninz2HI="; + }); environmentFile = config.age.secrets."chatterbox/mautrix-whatsapp.env".path; settings = { + database = { + type = "postgres"; + uri = "$MAU_WAPP_PSQL_URI"; + }; homeserver = { address = "http://localhost:8008"; domain = "nul.ie"; }; appservice = { - database = { - type = "postgres"; - uri = "$MAU_WAPP_PSQL_URI"; - }; id = "whatsapp2"; bot = { username = "whatsapp2"; displayname = "WhatsApp Bridge Bot"; }; + username_template = "wapp2_{{.}}"; }; bridge = { - username_template = "wapp2_{{.}}"; - displayname_template = "{{or .BusinessName .PushName .JID}} (WA)"; personal_filtering_spaces = true; - delivery_receipts = true; - allow_user_invite = true; - url_previews = true; command_prefix = "!wa"; - login_shared_secret_map."nul.ie" = "$MAU_WAPP_DOUBLE_PUPPET_TOKEN"; - encryption = { - allow = true; - default = true; - require = true; - }; permissions = { "@dev:nul.ie" = "admin"; }; }; + double_puppet = { + secrets."nul.ie" = "$MAU_WAPP_DOUBLE_PUPPET_TOKEN"; + }; + encryption = { + allow = true; + default = true; + require = true; + pickle_key = "maunium.net/go/mautrix-whatsapp"; + }; + matrix = { + delivery_receipts = true; + }; + network = { + # displayname_template = "{{or .BusinessName .PushName .JID}} (WA)"; + url_previews = true; + }; }; }; + # TODO: Remove when upgrading nixpkgs + mautrix-meta.package = pkgs.mautrix-meta.overrideAttrs (o: { + src = pkgs.fetchFromGitHub { + owner = "mautrix"; + repo = "meta"; + rev = "v0.2511.0"; + hash = "sha256-Ke5b1Q1QIB2u5fbDmhvwe/HaZX1oycNSIor/9gdmdWA="; + }; + vendorHash = "sha256-vbXV9xa0Q+Sml21QQZ3YUmPzXgrIZRJx0tQx0O4JcHs="; + }); mautrix-meta.instances = { messenger = { enable = true; @@ -243,45 +269,49 @@ in dataDir = "mautrix-messenger"; environmentFile = config.age.secrets."chatterbox/mautrix-messenger.env".path; settings = { + database = { + type = "postgres"; + uri = "$MAU_FBM_PSQL_URI"; + }; 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"; }; + username_template = "fbm2_{{.}}"; }; network = { mode = "messenger"; displayname_template = ''{{or .DisplayName .Username "Unknown user"}} (FBM)''; }; bridge = { - username_template = "fbm2_{{.}}"; personal_filtering_spaces = true; - delivery_receipts = true; - management_room_text.welcome = "Hello, I'm a Messenger bridge bot."; + # 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"; backfill = { - history_fetch_pages = 5; - }; - encryption = { - allow = true; - default = true; - require = true; + enabled = true; }; permissions = { "@dev:nul.ie" = "admin"; }; }; + double_puppet = { + secrets."nul.ie" = "$MAU_FBM_DOUBLE_PUPPET_TOKEN"; + }; + encryption = { + allow = true; + default = true; + require = true; + }; + matrix = { + delivery_receipts = true; + }; }; }; @@ -291,46 +321,50 @@ in dataDir = "mautrix-instagram"; environmentFile = config.age.secrets."chatterbox/mautrix-instagram.env".path; settings = { + database = { + type = "postgres"; + uri = "$MAU_IG_PSQL_URI"; + }; homeserver = { address = "http://localhost:8008"; domain = "nul.ie"; }; appservice = { - database = { - type = "postgres"; - uri = "$MAU_IG_PSQL_URI"; - }; id = "instagram"; bot = { username = "instagram"; displayname = "Instagram Bridge Bot"; avatar = "mxc://maunium.net/JxjlbZUlCPULEeHZSwleUXQv"; }; + username_template = "ig_{{.}}"; }; network = { mode = "instagram"; displayname_template = ''{{or .DisplayName .Username "Unknown user"}} (IG)''; }; bridge = { - username_template = "ig_{{.}}"; personal_filtering_spaces = true; - delivery_receipts = true; - management_room_text.welcome = "Hello, I'm an Instagram bridge bot."; + # management_room_text.welcome = "Hello, I'm an Instagram bridge bot."; command_prefix = "!ig"; - login_shared_secret_map."nul.ie" = "$MAU_IG_DOUBLE_PUPPET_TOKEN"; backfill = { - history_fetch_pages = 5; - }; - encryption = { - allow = true; - default = true; - require = true; + enabled = true; }; permissions = { "@dev:nul.ie" = "admin"; "@adzerq:nul.ie" = "user"; }; }; + double_puppet = { + secrets."nul.ie" = "$MAU_IG_DOUBLE_PUPPET_TOKEN"; + }; + encryption = { + allow = true; + default = true; + require = true; + }; + matrix = { + delivery_receipts = true; + }; }; }; }; diff --git a/secrets/chatterbox/mautrix-messenger.env.age b/secrets/chatterbox/mautrix-messenger.env.age index eaefcbc..ef55e94 100644 --- a/secrets/chatterbox/mautrix-messenger.env.age +++ b/secrets/chatterbox/mautrix-messenger.env.age @@ -1,15 +1,16 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpCM2U2USB1QUhX -dTlNY3h2SElIMytCTGlmY2syMmlTL1VMeDFnanN2UE9QK3RvRlUwCkVMM3ZKMU52 -ZmIrZ1VxUDNWZm1lU2MrWnpkUzBLcDB5cUFCSXZmQ3RXR0UKLT4gWDI1NTE5IE5W -cE5uSlpRd3dIRXEyRnpSZ0VHZ253OE1ZVTd1OTJQYkZVd1NRdnh2aE0KNTFTaHJM -OE9tc0VkMHFHUGN2dFZVSGFBdTh5Tzk0TGU4SWwzYTBOb3FtdwotPiB9WnwtZ3Jl -YXNlIHZVYHxaIEBSbmZ9XiAhfF52YCNwCld0K0RCTFlQamNLeitWM0kwUnVJdXFV -QjNFcEYxWFBkVjJ3QlAwTGVvTE1GTkxCTEdDcmlZMC9xbUcrSHp2V3cKdzJLb011 -aEM3a0V4eXBTMjhnCi0tLSBOWHozZTRjRldrOXBmM05BZ1lPRDYwaDFCcHBPNHhQ -SzlaWGM2RXY1THI4Cj4RzG3G1yGkmDyqxCBciqMNPAQYge4mXOib7mqOuyIbkT+k -qrJ8fLnW7Jbnb7+Rzr7BAEC5/dpOfjkyY9JPeg0FRutlkKyPIhRMAEhSsNvUFzXg -uwNbnSBI+9Str6nTKI5c9IWT5eT/8zsKwtK1/pr39mApRY/y6NlA5X7ZRIFeku3K -6I/bCI5cT0qhIMJbF5D0KiCnMCnMdmRLrwLzM2zcJoisxRAvj4dNfLktsUQOauZ+ -Gta96qQkAewvrdfz8Z4lTYJQmEqeOs1vTA6sAMf4iLp5EhPE0jN0n6D8v7Lq7+2b +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpCM2U2USB2M2I1 +MmhzNzA5WVRBbmJGeUdPM3Vxb0hDWjdOOE9ndFh5Y3NmTGpTS3hZClRjWkJOREFK +WkE4bzhXSXZKZk5Xc3RsOHlzZUNycXl2My9xVjl4UGZMVXMKLT4gWDI1NTE5IFAv +ZnBZUnZKU1JqS3FlaTBlWTdwZG16anN5cEhyZEdJdi9UN1ZOL0VpMWMKTjlwckJn +Z2V6alBXNDZXNllxZ0hJU0wyeDJJTklMTjFZQXNDTnl0Zm5JVQotPiAvbWM3Ykct +Z3JlYXNlIDt7QmkgNFllCkpEblFjRVVYZ2VlY3UwZndab1loRnJFanZGZTRDK3dD +OUJvV2VZK1hNMXlDaFNPeHVHUXVIb0QvdkpDSzdjb1oKK0txZnJLM1BJUTFqSkRU +UXRjYjdiWGpJSG9iZ2QxT0tQL2JoRXh1WVRXOEc1cHB6VHVmT3RqMGs0bHFOU2Z3 +SgpJWEkKLS0tIEgzcnR1TUFWUGJBdDV1VzhRQXlkRjJtYTJIcHNZUHR2ZGlnL3h1 +bXdTb3cKnr02hEHUj47xiPTSVgNTq6sj1Ydn1TtCnYzHpo6zJyDUHN65v97W4veN +TOHDUT3IilO4FJ8ZvzlgW/8PzUs35IelUdpfshnRbHySqqLOmyweStoKNtgS19Jp +Pxafk3IU7hcFouJRtpZS4bddZFbOC2RjHbxvzBuEwrSBBX8PF1OZTHOevyqtSbwG +8jICfMciD/y7GdxuNqCH+uMb5x9BFrf4wOMPgvq77ydt+63JBZGU/u4mXGS7QY2v +NXYBbBKMjlvc2WJzfUp0e44a17KyQvR32lAnL3KOt8aDnWwxwEWntmw= -----END AGE ENCRYPTED FILE----- diff --git a/secrets/chatterbox/mautrix-whatsapp.env.age b/secrets/chatterbox/mautrix-whatsapp.env.age index 8680587..f0d9141 100644 --- a/secrets/chatterbox/mautrix-whatsapp.env.age +++ b/secrets/chatterbox/mautrix-whatsapp.env.age @@ -1,14 +1,14 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpCM2U2USBJbWVs -bkt4a1RBaU14cjJzRm9KUGhydnZlWGU0NGVYK0NmWXRsclpjVUU0CmNiVDJTODFw -TnloNW1LMUliVmlnUGt0SFFzWmxVTWxZQ3crNWVHVy9IL0EKLT4gWDI1NTE5IDcw -TUQva3UxN3o1MXJ5QmVmQWVmeTFLejVwOVdQZks3a0dVQUJTdUdZdzgKajBFK2dX -R1NNR3l5d010MnJGUktNWldwVjY2cDIwbU1laEMwOWJITEg0NAotPiBeLS1ncmVh -c2UgJjhQIF0pcSB4Ci90SVhIZzRGVlcrd0hRCi0tLSBKdVgwZ0pidC93aEFscm9w -Mm5GbEc3RDdZRDRpeTdONHpWN0xHYXkvVU5zCjjFfwumbetHbq8MKrBIx18YXmny -z+0ifVbksJhYLYk7hViSUDy+F3RRad23dSPvDdd7JCEpj+2PvcezBLkwfUkFdQe7 -uQhUJJ9c62oKSX7PMbQeW1tyX10SVkt/P20z6HPXvBlY715lsXspjZERi+DheZk0 -ZDc3dPYMeyoAIWicf40ZxH8C6rWl5HOLIaTMbCOKwpD+wPjpzeZHat605YWReFxR -Yd3cKCRqSb2QdAdtZ0XUDSPl7HVwkw0xobCsvtPzmObA3YbLopBq7Dvrvh7XW5ns -BPlTaI8WnrI03CplGP00 +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpCM2U2USBLTTkw +Zm90MnE4cDZCdUxldXdqZVlUS1BEbXovalA4eEpyWjZwMnZwVFVJCks0ays0Tk1E +NitpYXp0RjB4SVJTcmlaZytuc0cxT0FqdTk4S2ltN0J1aG8KLT4gWDI1NTE5IHdp +c3ZqMytTb3ZGYkVXaXd6ZFZyTGdlakNqTmxMUE9QN25Ja0NvZVFEaXcKZGRlZmdM +Z1p4MUJEYmExVytadHBzMEdlQ2lVTDBINUJZZXJhZk5rajVuTQotPiAjQUo8LWdy +ZWFzZSBwVHplQQo3NVdkRldZblo1c2QrN2ZLNml3dFdFdXR6QUJzLzdhL25CNUtP +QQotLS0gVEJZY2w3OU5RaXdDMVMxS1Z1WUg2TUZZS1VzdHJXbTg5S0V0MzV0eWcr +Ywr8EtlNmRhwCgSmPWhUVEadEXDBXdhMzjttm1Qk9o3yLOE4oL4fOjp3zzyZx7NT +8dc0l5dRSKHZsO1Q5SmrwHZ68X0K78mJHmwSr/V8meIQhDvFd/StkFQE8i4bpVh4 +FjPaDUNzBb1b+S4Vc9wG2plcEhy7cJKSja/PwY6IvY37LxjkhQH6klq0283GgvgD +wcxgTbXYbAmTlfDBbv9BdfLPmFRbJdGfO2qxovijND6Z8QR0y7RWyDhywSzE5K3W +F3zqZs9noq3mlAnq3qxoz16lT8GbPdjKLDK0qoGlctUyAMz9Iw== -----END AGE ENCRYPTED FILE-----