dotfiles/system/hosts/nixserver/maubot.nix

70 lines
2 KiB
Nix
Raw Normal View History

2023-05-11 05:33:08 +07:00
{ config
, lib
, pkgs
2023-05-11 05:33:08 +07:00
, ... }:
let
cfg = config.server;
# i've yet to create a maubot module so this is hardcoded
maubotAddr = "127.0.0.1";
maubotPort = 29316;
in {
2023-05-17 06:29:03 +07:00
impermanence.directories = [
{ directory = /var/lib/maubot; user = "maubot"; group = "maubot"; mode = "0755"; }
];
2023-05-11 05:33:08 +07:00
services.nginx.virtualHosts."matrix.${cfg.domainName}".locations = {
"/_matrix/maubot/" = {
2023-05-17 06:29:03 +07:00
proxyPass = "http://${lib.quoteListenAddr maubotAddr}:${toString maubotPort}";
2023-05-11 05:33:08 +07:00
proxyWebsockets = true;
};
};
/*users.users.maubot = {
2023-05-11 05:33:08 +07:00
home = "/var/lib/maubot";
group = "maubot";
isSystemUser = true;
};
users.groups.maubot = { };*/
/*systemd.services.maubot = {
2023-05-11 05:33:08 +07:00
description = "Maubot";
wants = [ "matrix-synapse.service" "nginx.service" ];
after = [ "matrix-synapse.service" "nginx.service" ];
wantedBy = [ "multi-user.target" ];
environment = {
LD_LIBRARY_PATH = "${pkgs.stdenv.cc.cc.lib}/lib";
};
serviceConfig = {
User = "maubot";
Group = "maubot";
WorkingDirectory = "/var/lib/maubot/data";
};
script = "${pkgs.python3.withPackages (pks: with pks; [
pkgs.maubot (pkgs.pineapplebot.override {
magic = cfg.pizzabotMagic;
}) feedparser levenshtein python-dateutil pytz
])}/bin/python3 -m maubot";
};*/
systemd.services.maubot = {
after = [ "nginx.service" ];
requires = [ "nginx.service" ];
};
services.maubot.enable = true;
services.maubot.settings = {
database = "postgresql://maubot@localhost/maubot";
server.public_url = "https://matrix.${cfg.domainName}";
2023-05-11 05:33:08 +07:00
};
services.maubot.plugins = with config.services.maubot.package.plugins; [
com.arachnitech.weather
com.dvdgsng.maubot.urban
xyz.maubot.media
xyz.maubot.reactbot
xyz.maubot.reminder
xyz.maubot.translate
xyz.maubot.rss
];
services.maubot.pythonPackages = [
(pkgs.pineapplebot.override { magic = cfg.pizzabotMagic; })
] ++ (with pkgs.python3.pkgs; [
levenshtein
]);
2023-05-11 05:33:08 +07:00
}