{ 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";
}
