extremist-software/modules/mymx.nix
2026-03-04 15:08:44 -08:00

40 lines
961 B
Nix

{ config, pkgs, inputs, ... }:
{
users.users.mymx = {
isSystemUser = true;
group = "mymx";
description = "MyMX webhook service user";
};
users.groups.mymx = {};
services.postgresql = {
enable = true;
ensureDatabases = [ "mymx" ];
ensureUsers = [{
name = "mymx";
ensureDBOwnership = true;
}];
};
systemd.services.mymx = {
description = "MyMX Webhook Receiver";
after = [ "postgresql.service" "network.target" ];
requires = [ "postgresql.service" ];
wantedBy = [ "multi-user.target" ];
environment = {
DATABASE_URL = "postgres:///mymx?host=/run/postgresql";
LISTEN_ADDR = "127.0.0.1:4002";
MYMX_WEBHOOK_SECRET = config.mySecrets.mymxWebhookSecret;
};
serviceConfig = {
ExecStart = "${inputs.mymx.packages.x86_64-linux.default}/bin/mymx-server";
User = "mymx";
Group = "mymx";
Restart = "on-failure";
RestartSec = 5;
};
};
}