{ config, ... }: let secrets = config.sops.secrets; domainInternal = "git.sorre.internal"; domainPublic = "git.sorre.xyz"; commonSettings = { readme = "main:README.md"; }; in { services.nginx = { enable = true; virtualHosts."${domainInternal}" = { forceSSL = true; sslCertificateKey = secrets."wg-ca-key".path; sslCertificate = secrets."wg-ca-crt".path; listen = [ { addr = "100.64.0.3"; port = 443; ssl = true; } ]; }; virtualHosts."${domainPublic}" = { enableACME = true; forceSSL = true; }; }; services.cgit.internal = { enable = true; user = "cgit-internal"; group = "cgit"; nginx.virtualHost = domainInternal; gitHttpBackend.checkExportOkFiles = false; scanPath = "/var/lib/git/repos/isabella"; settings = commonSettings; }; services.cgit.public = { enable = true; user = "cgit-public"; group = "cgit"; nginx.virtualHost = domainPublic; gitHttpBackend.checkExportOkFiles = false; repos = { futils.path = "/var/lib/git/repos/isabella/futils"; nixos-config.path = "/var/lib/git/repos/isabella/nixos-config"; }; settings = commonSettings; }; }