{ inputs, config, lib, pkgs, system, ... }: let cfg = config.suites.senfnvp; in { options.suites.senfnvp.forgejo.enable = lib.mkOption { type = with lib.types; uniq bool; default = true; description = "Enable Forgejo"; }; options.suites.senfnvp.forgejo.sshPort = lib.mkOption { type = with lib.types; port; default = 9522; description = "Forgejo SSH Port"; }; options.suites.senfnvp.forgejo.httpPort = lib.mkOption { type = with lib.types; port; default = 3000; description = "Forgejo http Port"; }; config = lib.mkIf (cfg.enable && cfg.forgejo.enable) { containers.forgejo = { autoStart = true; config = { services.forgejo = { enable = !cfg.forgejo.initializeDatabase; settings.server = { ROOT_URL = "git.${cfg.hostname}"; SSH_PORT = cfg.forgejo.sshPort; HTTP_PORT = cfg.forgejo.httpPort; }; database = { type = "postgres"; #host = "127.0.0.1"; # default Value port = cfg.database.port; #name = "forgejo"; # default Value #user = "forgejo"; # default Value passwordFile = ""; }; }; }; }; }; }