summary refs log tree commit diff
path: root/nixos/modules/module-list.nix
diff options
context:
space:
mode:
authorKevin Cox <kevincox@kevincox.ca>2021-09-11 16:54:10 -0400
committerKevin Cox <kevincox@kevincox.ca>2021-10-04 18:40:28 -0400
commited5403efc317d02de9fbc8c1471e904de0cb0f09 (patch)
tree0a9306f97a025fd2f8cda51ed96dde04f67eb518 /nixos/modules/module-list.nix
parent35b808214a1ca158a04d6980cb95cc1a77ce1f94 (diff)
downloadnixpkgs-ed5403efc317d02de9fbc8c1471e904de0cb0f09.tar
nixpkgs-ed5403efc317d02de9fbc8c1471e904de0cb0f09.tar.gz
nixpkgs-ed5403efc317d02de9fbc8c1471e904de0cb0f09.tar.bz2
nixpkgs-ed5403efc317d02de9fbc8c1471e904de0cb0f09.tar.lz
nixpkgs-ed5403efc317d02de9fbc8c1471e904de0cb0f09.tar.xz
nixpkgs-ed5403efc317d02de9fbc8c1471e904de0cb0f09.tar.zst
nixpkgs-ed5403efc317d02de9fbc8c1471e904de0cb0f09.zip
nixos.mautrix-facebook: init module
This is the first version of the mautrix-facebook module. Due to lack of secret support on NixOS as well as the requirement of a homeserver domain it requires some setup. For completeness here is my working config using NixOps secrets:

```nix
deployment.keys."mautrix-facebook-config.env" = {
	text = ''
		MAUTRIX_FACEBOOK_APPSERVICE_AS_TOKEN=${secrets.as_token}
		MAUTRIX_FACEBOOK_APPSERVICE_HS_TOKEN=${secrets.hs_token}
	'';
	destDir = "/var/keys";
};

deployment.keys."mautrix-facebook-registration.yaml" = {
	text = builtins.toJSON config.services.mautrix-facebook.registrationData;
	destDir = "/var/keys";
	user = "matrix-synapse";
};

users.users.matrix-synapse.extraGroups = ["keys"];

systemd.services.matrix-synapse.after = ["keys.service"];
systemd.services.matrix-synapse.wants = ["keys.service"];

services.mautrix-facebook = {
	enable = true;
	settings = {
		homeserver.domain = "bots.kevincox.ca";

		bridge = {
			displayname_template = "{displayname}";

			permissions = {
				"@kevincox:matrix.org" = "admin";
			};
		};
	};

	environmentFile = "/var/keys/mautrix-facebook-config.env";

	registrationData = {
		as_token = secrets.as_token;
		hs_token = secrets.hs_token;
	};
};

systemd.services.mautrix-facebook = rec {
	wants = ["keys.target"];
	after = wants;
};

services.matrix-synapse.app_service_config_files = [
	"/var/keys/mautrix-facebook-registration.yaml"
];
```
Diffstat (limited to 'nixos/modules/module-list.nix')
-rw-r--r--nixos/modules/module-list.nix1
1 files changed, 1 insertions, 0 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index d24f98efb7d..cbcf35075ab 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -542,6 +542,7 @@
   ./services/misc/matrix-appservice-discord.nix
   ./services/misc/matrix-appservice-irc.nix
   ./services/misc/matrix-synapse.nix
+  ./services/misc/mautrix-facebook.nix
   ./services/misc/mautrix-telegram.nix
   ./services/misc/mbpfan.nix
   ./services/misc/mediatomb.nix