{ pkgs, config, ... }: let host = "src.514fpv.io"; in { services.forgejo = { enable = true; lfs.enable = true; stateDir = "/nix/persist/service/forgejo"; database.type = "postgres"; database.createDatabase = true; settings = { server = { SSH_PORT = 8086; COOKIE_SECURE = true; LANDING_PAGE = "explore"; DOMAIN = host; PROTOCOL = "http+unix"; ROOT_URL = "https://${host}:2096/"; }; DEFAULT.APP_NAME = "Forgejo"; service.DISABLE_REGISTRATION = true; }; }; users.users.forgejo.uid = 1023; users.groups.forgejo.gid = 1023; services.nginx.virtualHosts.${host} = { useACMEHost = ".514fpv.io"; addSSL = true; locations."/".proxyPass = "http://unix:/run/forgejo/forgejo.sock"; }; global.fs.zfs.mountpoints."/nix/persist/service/forgejo" = "service/forgejo"; }