diff --git a/hosts/fant0mib0t/default.nix b/hosts/fant0mib0t/default.nix index f50dc9f..f346c32 100644 --- a/hosts/fant0mib0t/default.nix +++ b/hosts/fant0mib0t/default.nix @@ -12,6 +12,7 @@ ] ++ builtins.map (i: ../../modules/${i}) ([ "caddy" + "forgejo" "metrix/grafana.nix" "metrix/prometheus.nix" "radius" diff --git a/modules/forgejo.nix b/modules/forgejo/default.nix similarity index 60% rename from modules/forgejo.nix rename to modules/forgejo/default.nix index df56898..7e94b10 100644 --- a/modules/forgejo.nix +++ b/modules/forgejo/default.nix @@ -6,12 +6,24 @@ ... }: { + systemd.tmpfiles.rules = [ + "d '${config.service.forgejo.customDir}/public' - forgejo forgejo - -" + "d '${config.service.forgejo.customDir}/public/assets' - forgejo forgejo - -" + "d '${config.service.forgejo.customDir}/public/assets/img' - forgejo forgejo - -" + "d '${config.service.forgejo.customDir}/public/assets/css' - forgejo forgejo - -" + "C+ '${config.service.forgejo.customDir}/public/assets/css/theme-custom.css' - forgejo forgejo - ${./theme-custom.css}" + "L+ '${config.service.forgejo.customDir}/public/assets/img/logo.svg' - forgejo forgejo - ${./logo.svg}" + ]; + services = { forgejo = { enable = true; - database.type = "postgres"; + database.type = "sqlite3"; lfs.enable = true; settings = { + DEFAULT = { + APP_NAME = "git.fantomitechno.dev"; + }; server = { DOMAIN = "git.fantomitechno.dev"; ROOT_URL = "https://git.fantomitechno.dev"; @@ -33,6 +45,16 @@ FROM = "me@no-reply.fantomitechno.dev"; USER = "resend"; }; + + "ui.meta" = { + AUTHOR = "git.fantomitechno.dev"; + DESCRIPTION = "Selfhosted, running Forgejo on NixOS"; + KEYWORDS = "fantomitechno,git,forge,forgejo"; + }; + ui = { + DEFAULT_THEME = "custom"; + THEMES = "forgejo-auto,forgejo-light,forgejo-dark,custom"; + }; }; secrets = { mailer.PASSWD = "${dotfileFolder}/pswd/forgejo-mailer"; @@ -53,15 +75,13 @@ "ubuntu-22.04:docker://node:16-bullseye" "ubuntu-20.04:docker://node:16-bullseye" "ubuntu-18.04:docker://node:16-buster" - ## optionally provide native execution on the host: - # "native:host" ]; }; }; openssh = { - settings.AllowUsers = [ "git" ]; - settings.AllowGroups = [ "git" ]; + settings.AllowUsers = [ config.service.forgejo.user ]; + settings.AllowGroups = [ config.service.forgejo.group ]; }; anubis.instances."forgejo" = { diff --git a/modules/forgejo/logo.svg b/modules/forgejo/logo.svg new file mode 100644 index 0000000..0dc6662 --- /dev/null +++ b/modules/forgejo/logo.svg @@ -0,0 +1,1124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/forgejo/theme-custom.css b/modules/forgejo/theme-custom.css new file mode 100644 index 0000000..957943f --- /dev/null +++ b/modules/forgejo/theme-custom.css @@ -0,0 +1,8 @@ +@import "./theme-forgejo-auto.css"; + +:root { + --color-primary: #d06005 !important; + --color-primary-hover: #e2931d; + --color-primary-active: #a835bc !important; + --color-accent: var(--color-primary) !important; +} \ No newline at end of file