modules: add actual, nqptp, and voidauth service modules

This commit is contained in:
Joakim Repomaa
2026-02-09 15:11:10 +02:00
parent a88da9b269
commit 4d09b3546f
5 changed files with 117 additions and 1 deletions

View File

@@ -0,0 +1,50 @@
{
lib,
config,
inputs,
...
}:
let
cfg = config.services.voidauth;
fqdn = "${cfg.subdomain}.${config.networking.domain}";
port = cfg.settings.APP_PORT or 3000;
in
{
options.services.voidauth = {
subdomain = lib.mkOption {
type = lib.types.str;
};
};
imports = [
inputs.voidauth.nixosModules.voidauth
];
config = lib.mkIf cfg.enable {
services = {
voidauth = {
settings = {
APP_URL = "https://${fqdn}";
DB_SOCKET_PATH = "/run/postgresql";
DB_NAME = "voidauth";
};
};
webserver = {
enable = lib.mkDefault true;
vHosts.${fqdn}.locations."/".proxyPort = port;
};
postgresql = {
enable = lib.mkDefault true;
ensureDatabases = [ "voidauth" ];
ensureUsers = [
{
name = "voidauth";
ensureDBOwnership = true;
}
];
};
};
};
}