76 lines
2 KiB
Nix
76 lines
2 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
let
|
|
customDir = "/var/lib/forgejo/custom";
|
|
themeCSS = ./forgejo-theme-gh-hc.css;
|
|
logoSVG = ./forgejo-logo.svg;
|
|
in
|
|
{
|
|
services.forgejo = {
|
|
enable = true;
|
|
database.type = "postgres";
|
|
lfs.enable = true;
|
|
settings = {
|
|
server = {
|
|
DOMAIN = "git.extremist.software";
|
|
ROOT_URL = "https://git.extremist.software/";
|
|
HTTP_PORT = 3000;
|
|
LANDING_PAGE = "/jet";
|
|
};
|
|
|
|
service = {
|
|
DISABLE_REGISTRATION = true;
|
|
SHOW_REGISTRATION_BUTTON = false;
|
|
EXPLORE_REQUIRE_SIGNIN_VIEW = true;
|
|
};
|
|
|
|
"service.explore" = {
|
|
DISABLE_USERS_PAGE = true;
|
|
DISABLE_ORGANIZATIONS_PAGE = true;
|
|
};
|
|
|
|
repository = {
|
|
DISABLE_STARS = true;
|
|
};
|
|
|
|
ui = {
|
|
DEFAULT_THEME = "gh-hc";
|
|
THEMES = "gh-hc,forgejo-auto,forgejo-light,forgejo-dark";
|
|
SHOW_USER_EMAIL = true;
|
|
};
|
|
|
|
"ui.meta" = {
|
|
AUTHOR = "jet";
|
|
DESCRIPTION = "Software extremist.";
|
|
KEYWORDS = "git,forgejo,jet,extremist";
|
|
};
|
|
|
|
other = {
|
|
SHOW_FOOTER_BRANDING = false;
|
|
SHOW_FOOTER_VERSION = false;
|
|
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false;
|
|
ENABLE_SWAGGER = false;
|
|
};
|
|
|
|
openid = {
|
|
ENABLE_OPENID_SIGNIN = false;
|
|
ENABLE_OPENID_SIGNUP = false;
|
|
};
|
|
|
|
};
|
|
database.passwordFile = config.age.secrets.forgejo-db.path;
|
|
};
|
|
|
|
services.postgresql.enable = true;
|
|
|
|
# Deploy custom theme CSS to Forgejo's custom directory
|
|
systemd.tmpfiles.rules = [
|
|
"d ${customDir}/public 0755 forgejo forgejo -"
|
|
"d ${customDir}/public/assets 0755 forgejo forgejo -"
|
|
"d ${customDir}/public/assets/css 0755 forgejo forgejo -"
|
|
"C+ ${customDir}/public/assets/css/theme-gh-hc.css 0644 forgejo forgejo - ${themeCSS}"
|
|
"d ${customDir}/public/assets/img 0755 forgejo forgejo -"
|
|
"C+ ${customDir}/public/assets/img/logo.svg 0644 forgejo forgejo - ${logoSVG}"
|
|
"C+ ${customDir}/public/assets/img/favicon.svg 0644 forgejo forgejo - ${logoSVG}"
|
|
];
|
|
}
|