46 lines
1.5 KiB
Nix
46 lines
1.5 KiB
Nix
{ config, pkgs, ... }:
|
|
let
|
|
matrix-alertmanager-receiver = pkgs.buildGoModule rec {
|
|
pname = "matrix-alertmanager-receiver";
|
|
version = "0.1.2";
|
|
src = pkgs.fetchFromSourcehut {
|
|
owner = "~fnux";
|
|
repo = "matrix-alertmanager-receiver";
|
|
rev = version;
|
|
hash = "sha256-F6Cn0lmASAjWGEBCmyLdfz4r06fDTEfZQcynfA/RRtI=";
|
|
};
|
|
vendorHash = "sha256-7tRCX9FzOsLXCTWWjLp3hr1kegt1dxsbCKfC7tICreo=";
|
|
};
|
|
in
|
|
{
|
|
sops.secrets.nix-community-matrix-bot-token = { };
|
|
sops.templates."config.toml".content = ''
|
|
Homeserver = "https://matrix-client.matrix.org"
|
|
TargetRoomID = "!cBybDCkeRlSWfuaFvn:numtide.com"
|
|
MXID = "@nix-community-matrix-bot:matrix.org"
|
|
MXToken = "${config.sops.placeholder.nix-community-matrix-bot-token}"
|
|
HTTPPort = 9088
|
|
HTTPAddress = "localhost"
|
|
'';
|
|
sops.templates."config.toml".owner = "matrix-alertmanager-receiver";
|
|
|
|
users.users.matrix-alertmanager-receiver = {
|
|
isSystemUser = true;
|
|
group = "matrix-alertmanager-receiver";
|
|
};
|
|
users.groups.matrix-alertmanager-receiver = { };
|
|
|
|
systemd.services.matrix-alertmanager-receiver = {
|
|
description = "Matrix Alertmanager Receiver";
|
|
after = [ "network.target" ];
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig = {
|
|
Type = "simple";
|
|
ExecStart = "${matrix-alertmanager-receiver}/bin/matrix-alertmanager-receiver -config ${config.sops.templates."config.toml".path}";
|
|
Restart = "always";
|
|
RestartSec = "10";
|
|
User = "matrix-alertmanager-receiver";
|
|
Group = "matrix-alertmanager-receiver";
|
|
};
|
|
};
|
|
}
|