54 lines
1.2 KiB
Nix
54 lines
1.2 KiB
Nix
{
|
|
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 = "";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|
|
|
|
|