{ config, pkgs, lib, ... }: let cfg = config.services.vm_forgejo; in { options.services.vm_forgejo = { enable = lib.mkEnableOption "Enable minimal config"; pgsql_ip = lib.mkOption { type = lib.types.str; description = "forgejo database IP address"; }; }; config = lib.mkIf cfg.enable { services.forgejo = { enable = true; user = "tbarnouin"; settings = { server.HTTP_PORT = 3000; server.DISABLE_SSH = true; server.ROOT_URL = "https://git.le43.eu"; service.DISABLE_REGISTRATION = true; }; database = { createDatabase = false; type = "postgres"; host = "${cfg.pgsql_ip}"; name = "gitea"; user = "gitea"; passwordFile = "/run/secrets/forgejo/forgejo-dbpass"; }; }; networking.firewall.allowedTCPPorts = [3000]; }; }