{ config, ... }: { imports = [ ./utils/nginx-https-server.nix ./utils/acme-http-client.nix ]; services = { forgejo = { enable = true; lfs.enable = true; secrets.mailer.PASSWD = "${config.services.forgejo.stateDir}/smtp_pass"; settings = { DEFAULT.APP_NAME = "Forgejo for Vili Sinervä"; repository = { ENABLE_PUSH_CREATE_USER = true; ENABLE_PUSH_CREATE_ORG = true; DEFAULT_REPO_UNITS = "repo.code,repo.releases"; }; ui.DEFAULT_SHOW_FULL_NAME = true; "ui.meta".AUTHOR = "Forgeo, hosted by Vili Sinervä"; server = { DOMAIN = "forgejo.sinerva.eu"; HTTP_ADDR = "::1"; HTTP_PORT = 8000; ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; }; service = { DISABLE_REGISTRATION = true; # Disable for initial setup }; session.COOKIE_SECURE = true; mailer = { ENABLED = true; SMTP_ADDR = "smtp.gmail.com"; SMTP_PORT = 587; USER = "vmsskv12@gmail.com"; # Password set in file FROM = "forgejo@sinerva.eu"; ENVELOPE_FROM = "forgejo@sinerva.eu"; }; cron = { ENABLED = true; RUN_AT_START = true; }; time.DEFAULT_UI_LOCATION = "Europe/Helsinki"; }; }; nginx.virtualHosts.${config.services.forgejo.settings.server.DOMAIN}.locations."/" = { proxyPass = "http://localhost:8000"; }; }; }