Files
spacestation/capytal/forgejo/default.nix

70 lines
1.6 KiB
Nix

{
config,
inputs,
pkgs,
pkgs-unstable,
...
}:
with builtins; let
secrets = config.spacestation-secrets.lesser;
forgejoCfg = secrets.capytal.services.forgejo;
in {
imports = [
../../modules/forgejo
./customization.nix
];
services.forgejo = {
enable = true;
package = pkgs-unstable.forgejo;
actions = {
enable = true;
token = forgejoCfg.actions.token;
url = "https://forgejo.capytal.company";
labels = forgejoCfg.actions.labels;
};
users = {
enable = true;
users = {
user1 = {
name = /. + config.sops.secrets."forgejo/user1/name".path;
password = /. + config.sops.secrets."forgejo/user1/password".path;
email = /. + config.sops.secrets."forgejo/user1/email".path;
admin = true;
};
};
};
settings = {
DEFAULT = {
APP_NAME = "Capytal Code";
};
server = rec {
HTTP_PORT = forgejoCfg.port;
DOMAIN = "forgejo.capytal.company";
ROOT_URL = "https://${DOMAIN}";
};
project = {
PROJECT_BOARD_BASIC_KANBAN_TYPE = [
];
};
repository = {
DEFAULT_REPO_UNITS = [
"repo.code"
"repo.issues"
"repo.pulls"
];
};
admin = {
DISABLE_REGULAR_ORG_CREATION = true;
USER_DISABLED_FEATURES = "deletion manage_ssh_keys manage_gpg_keys";
EXTERNAL_USER_DISABLED_FEATURES = "deletion manage_ssh_keys manage_gpg_keys";
};
service = {
DISABLE_REGISTRATION = true;
};
ui = {
DEFAULT_THEME = "frappurccino";
};
};
};
}