nixos/chatterbox: Add Messenger bridge
This commit is contained in:
		@@ -59,6 +59,10 @@ in
 | 
				
			|||||||
                  owner = "matrix-whatsapp";
 | 
					                  owner = "matrix-whatsapp";
 | 
				
			||||||
                  group = "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 {
 | 
					        (mkIf config.my.build.isDevVM {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
let
 | 
					let
 | 
				
			||||||
  inherit (lib)
 | 
					  inherit (lib)
 | 
				
			||||||
    optionalString concatStringsSep concatMap concatMapStringsSep mkIf mkDefault mkMerge mkForce mkVMOverride
 | 
					    optionalString concatStringsSep concatMap concatMapStringsSep mkIf mkDefault mkMerge mkForce mkVMOverride
 | 
				
			||||||
    mkAliasDefinitions;
 | 
					    mkAliasDefinitions mapAttrsToList filterAttrs;
 | 
				
			||||||
  inherit (lib.my) mkOpt' mkBoolOpt' mkVMOverride';
 | 
					  inherit (lib.my) mkOpt' mkBoolOpt' mkVMOverride';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  cfg = config.my.tmproot;
 | 
					  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);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    ]))
 | 
					    ]))
 | 
				
			||||||
  ]);
 | 
					  ]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										14
									
								
								secrets/chatterbox/mautrix-messenger.env.age
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								secrets/chatterbox/mautrix-messenger.env.age
									
									
									
									
									
										Normal file
									
								
							@@ -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-----
 | 
				
			||||||
		Reference in New Issue
	
	Block a user