106 lines
2.1 KiB
Nix
106 lines
2.1 KiB
Nix
# Configuration for Gitea instance
|
|
|
|
{
|
|
config,
|
|
pkgs,
|
|
admin,
|
|
...
|
|
}:
|
|
{
|
|
|
|
# users.users.git = {
|
|
# description = "git";
|
|
# uid = 993;
|
|
# group = "ryot";
|
|
# shell = pkgs.fish;
|
|
# # openssh.authorizedKeys.keys = [
|
|
# # "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIClZstYoT64zHnGfE7LMYNiQPN5/gmCt382lC+Ji8lrH PVE"
|
|
# # ];
|
|
# };
|
|
|
|
# Forgejo configuration
|
|
services.forgejo = {
|
|
enable = true;
|
|
|
|
group = "ryot";
|
|
stateDir = "/pool/forgejo";
|
|
|
|
# Settings
|
|
dump = {
|
|
# :D idk what this does
|
|
enable = false;
|
|
interval = "weekly";
|
|
};
|
|
|
|
settings = {
|
|
|
|
DEFAULT = {
|
|
# Configuration for forgejo
|
|
I_AM_BEING_UNSAFE_RUNNING_AS_ROOT = "true";
|
|
APP_NAME = "Ryot Git";
|
|
RUN_MODE = "dev";
|
|
RUN_USER = "toph";
|
|
};
|
|
|
|
server = {
|
|
# Configuration for reverse proxy
|
|
DOMAIN = "git.ryot.foo";
|
|
HTTP_ADDR = "127.0.0.1";
|
|
HTTP_PORT = 3003;
|
|
ROOT_URL = "https://git.ryot.foo/";
|
|
START_SSH_SERVER = true;
|
|
BUILTIN_SSH_SERVER_USER = "git";
|
|
SSH_PORT = 222;
|
|
};
|
|
|
|
repository = {
|
|
DEFAULT_PRIVATE = true;
|
|
};
|
|
|
|
ui = {
|
|
DEFAULT_THEME = "forgejo-dark";
|
|
SHOW_USER_EMAIL = false;
|
|
};
|
|
|
|
"ui.meta" = {
|
|
AUTHOR = "Ryot";
|
|
DESCRIPTION = "Ryot Gitea instance";
|
|
KEYWORDS = "";
|
|
};
|
|
|
|
security = {
|
|
INSTALL_LOCK = true;
|
|
};
|
|
|
|
session = {
|
|
SESSION_LIFE_TIME = 86400 * 7; # 1 week
|
|
};
|
|
|
|
picture = {
|
|
DISABLE_GRAVATAR = true;
|
|
};
|
|
|
|
"cron.sync_external_users" = {
|
|
SCHEDULE = "@every 24h";
|
|
UPDATE_EXISTING = true;
|
|
};
|
|
|
|
log.LEVEL = "Info";
|
|
# Private server
|
|
service.DISABLE_REGISTRATION = false;
|
|
# Disable package manager functionality
|
|
packages.ENABLED = false;
|
|
|
|
};
|
|
};
|
|
|
|
users.users.forgejo = {
|
|
extraGroups = [ "ryot" ];
|
|
openssh.authorizedKeys.keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIClZstYoT64zHnGfE7LMYNiQPN5/gmCt382lC+Ji8lrH PVE"
|
|
];
|
|
};
|
|
|
|
# Give admin group access to forgejo config
|
|
# users.users.${admin}.extraGroups = [ "forgejo" ];
|
|
}
|