{ lib, ... }: let domain = "dev.mc-fucker.cool"; gitea_port = "3333"; gitea_db = "gitea"; in { services.gitea = { enable = true; domain = "${domain}"; rootUrl = "https://${domain}"; httpPort = (lib.strings.toInt gitea_port); database = { createDatabase = false; host = "localhost"; type = "postgres"; port = 5432; name = gitea_db; passwordFile = /etc/nixos/keys/gitea-dbpassword; }; settings = { service = { REGISTER_MANUAL_CONFIRM = true; }; ui = { DEFAULT_THEME = "arc-green"; #THEMES = "gitea-modern"; }; }; }; services.postgresql = { ensureDatabases = [ gitea_db ]; ensureUsers = [ { name = gitea_db; ensurePermissions = { "DATABASE ${gitea_db}" = "ALL PRIVILEGES"; }; } ]; }; services.postgresqlBackup.databases = [ gitea_db ]; services.nginx.virtualHosts."${domain}" = { forceSSL = true; enableACME = true; locations = { "/" = { proxyPass = "http://localhost:${gitea_port}"; }; }; }; } # vim: set et ts=2 sw=2 ai: