{pkgs, ...}: let port = 3000; in { services = { forgejo = { enable = true; package = pkgs.unstable.forgejo; settings = { DEFAULT = { APP_NAME = "buffet's kitchen"; }; server = { DOMAIN = "buffets.kitchen"; ROOT_URL = "https://buffets.kitchen/"; HTTP_PORT = port; }; service.DISABLE_REGISTRATION = true; cron.ENABLED = true; federation.ENABLED = true; }; }; nginx = { enable = true; recommendedGzipSettings = true; recommendedOptimisation = true; recommendedProxySettings = true; recommendedTlsSettings = true; virtualHosts."buffets.kitchen" = { useACMEHost = "buffet.sh"; forceSSL = true; locations."= /" = { extraConfig = '' return 301 https://$host/chef; ''; }; locations."/" = { proxyPass = "http://localhost:${toString port}"; }; }; }; }; }