37 lines
1 KiB
Nix
37 lines
1 KiB
Nix
{ config, pkgs, ... }:
|
|
let
|
|
matrixHook = pkgs.matrix-hook;
|
|
in
|
|
{
|
|
sops.secrets.nix-community-matrix-bot-token = { };
|
|
|
|
users.users.matrix-hook = {
|
|
isSystemUser = true;
|
|
group = "matrix-hook";
|
|
};
|
|
users.groups.matrix-hook = { };
|
|
|
|
systemd.services.matrix-hook = {
|
|
description = "Matrix Hook";
|
|
after = [ "network-online.target" ];
|
|
wants = [ "network-online.target" ];
|
|
wantedBy = [ "multi-user.target" ];
|
|
environment = {
|
|
HTTP_ADDRESS = "localhost";
|
|
HTTP_PORT = "9088";
|
|
MX_HOMESERVER = "https://matrix-client.matrix.org";
|
|
MX_ID = "@nix-community-matrix-bot:matrix.org";
|
|
MX_ROOMID = "!cBybDCkeRlSWfuaFvn:numtide.com";
|
|
MX_MSG_TEMPLATE = "${matrixHook}/message.html.tmpl";
|
|
};
|
|
serviceConfig = {
|
|
Type = "simple";
|
|
ExecStart = "${matrixHook}/bin/matrix-hook";
|
|
EnvironmentFile = [ config.sops.secrets.nix-community-matrix-bot-token.path ];
|
|
Restart = "always";
|
|
RestartSec = "10";
|
|
User = "matrix-hook";
|
|
Group = "matrix-hook";
|
|
};
|
|
};
|
|
}
|