{ lib, ... }: let domain = "dev.mc-fucker.cool"; gitea_port = "3333"; in { services.gitea = { enable = true; domain = "${domain}"; rootUrl = "https://${domain}"; log.level = "Warn"; httpPort = (lib.strings.toInt gitea_port); database = { createDatabase = false; host = "postgres"; type = "postgres"; port = 5432; name = "giteadb"; passwordFile = /etc/nixos/keys/gitea-dbpassword; }; settings = { service = { REGISTER_MANUAL_CONFIRM = true; }; server = { SSH_SERVER_HOST_KEYS = "ssh/gitea.ed25519"; }; ui = { DEFAULT_THEME = "arc-green"; #THEMES = "gitea-modern"; }; }; }; services.nginx.virtualHosts."${domain}" = { forceSSL = true; enableACME = true; locations = { "/" = { proxyPass = "http://127.0.0.1:${gitea_port}"; extraConfig = '' proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; ''; }; }; }; } # vim: set et ts=2 sw=2 ai: