From 3dd9f61acc947c3c7496e4523092ab47d5b4e39c Mon Sep 17 00:00:00 2001 From: javalsai Date: Wed, 6 May 2026 14:24:50 +0200 Subject: [PATCH] nixos/services: swap gitea with forgejo --- assets/{gitea => forgejo}/templates/home.tmpl | 0 assets/forgejo/theme.css | 51 +++++++++++++++++++ assets/gitea/theme.css | 18 ------- nixos/modules/default.nix | 2 +- nixos/modules/{gitea.nix => forgejo.nix} | 40 +++++++++------ nixos/modules/nginx.nix | 2 +- 6 files changed, 77 insertions(+), 36 deletions(-) rename assets/{gitea => forgejo}/templates/home.tmpl (100%) create mode 100644 assets/forgejo/theme.css delete mode 100644 assets/gitea/theme.css rename nixos/modules/{gitea.nix => forgejo.nix} (64%) diff --git a/assets/gitea/templates/home.tmpl b/assets/forgejo/templates/home.tmpl similarity index 100% rename from assets/gitea/templates/home.tmpl rename to assets/forgejo/templates/home.tmpl diff --git a/assets/forgejo/theme.css b/assets/forgejo/theme.css new file mode 100644 index 0000000..a25ea61 --- /dev/null +++ b/assets/forgejo/theme.css @@ -0,0 +1,51 @@ +@import "/assets/css/theme-forgejo-dark.css"; + +/* :root { */ +/* --is-dark-theme: true; */ + +/* --accent-color: 221, 85, 85; */ +/* /1* #d55 *1/ */ +/* --gitea-color-primary-dark-4: 221, 85, 85; */ +/* --accent-color-secondary: 96, 72, 10; */ +/* --accent-color-hover: 170, 68, 68; */ +/* --color-primary: rgb(var(--accent-color)); */ +/* --color-secondary: rgb(var(--accent-color-secondary)); */ +/* --button-color: rgb(var(--accent-color)); */ +/* --button-color-hover: rgb(var(--accent-color-hover)); */ +/* } */ + +:root { + --is-dark-theme: true; + + --color-primary: #d162a4; + --color-primary-contrast: #fff; + --color-primary-dark-1: #ba3283; + --color-primary-dark-2: #b55690; + --color-primary-dark-3: #ac2c79; + --color-primary-dark-4: #a30262; + --color-primary-dark-5: #8a0253; + --color-primary-dark-6: #710144; + --color-primary-dark-7: #570135; + --color-primary-light-1: #d776af; + --color-primary-light-2: #dd89bb; + --color-primary-light-3: #e29dc6; + --color-primary-light-4: #e8b1d2; + --color-primary-light-5: #eec5dd; + --color-primary-light-6: #f4d8e9; + --color-primary-light-7: #f9ecf4; + --color-primary-alpha-10: #d162a419; + --color-primary-alpha-20: #d162a433; + --color-primary-alpha-30: #d162a44b; + --color-primary-alpha-40: #d162a466; + --color-primary-alpha-50: #d162a480; + --color-primary-alpha-60: #d162a499; + --color-primary-alpha-70: #d162a4b3; + --color-primary-alpha-80: #d162a4cc; + --color-primary-alpha-90: #d162a4e1; +} + +.navbar-left > #navbar-logo.item, +.navbar-right > #navbar-logo.item, +.navbar-mobile-right > #navbar-logo.item { + padding: 3px; +} diff --git a/assets/gitea/theme.css b/assets/gitea/theme.css deleted file mode 100644 index 7d8ba5c..0000000 --- a/assets/gitea/theme.css +++ /dev/null @@ -1,18 +0,0 @@ -@import "/assets/css/theme-gitea-dark.css"; - -:root { - --is-dark-theme: true; - - --accent-color: 221, 85, 85; /* #d55 */ - --gitea-color-primary-dark-4: 221, 85, 85; - --accent-color-secondary: 96, 72, 10; - --accent-color-hover: 170, 68, 68; - --color-primary: rgb(var(--accent-color)); - --color-secondary: rgb(var(--accent-color-secondary)); - --button-color: rgb(var(--accent-color)); - --button-color-hover: rgb(var(--accent-color-hover)); -} - -.navbar-left > #navbar-logo.item, .navbar-right > #navbar-logo.item, .navbar-mobile-right > #navbar-logo.item { - padding: 3px; -} diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index 2593ae5..e7c4d70 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -3,7 +3,7 @@ ./acme.nix ./dns.nix ./fail2ban.nix - ./gitea.nix + ./forgejo.nix ./host.nix ./nginx.nix ./snapper.nix diff --git a/nixos/modules/gitea.nix b/nixos/modules/forgejo.nix similarity index 64% rename from nixos/modules/gitea.nix rename to nixos/modules/forgejo.nix index 686831f..7667296 100644 --- a/nixos/modules/gitea.nix +++ b/nixos/modules/forgejo.nix @@ -5,10 +5,10 @@ let acmeEnabled = config.acme.enable; themeName = "tuxcord"; - giteaPublic = pkgs.linkFarm "gitea-public" [ + forgejoPublic = pkgs.linkFarm "forgejo-public" [ { name = "assets/css/theme-${themeName}.css"; - path = ../../assets/gitea/theme.css; + path = ../../assets/forgejo/theme.css; } { name = "assets/img"; @@ -23,7 +23,7 @@ let path = ../../assets/branding/logo.svg; } ]; - giteaTemplates = ../../assets/gitea/templates; + forgejoTemplates = ../../assets/forgejo/templates; makeGiteaImages = { @@ -32,7 +32,7 @@ let rasterWidth, }: pkgs.stdenv.mkDerivation rec { - name = "gitea-images"; + name = "forgejo-images"; srcs = [ big @@ -44,7 +44,7 @@ let inkscape ]; - # https://docs.gitea.com/administration/customizing-gitea#changing-the-logo + # https://forgejo.org/docs/next/contributor/customization/#changing-the-logo buildPhase = '' mkdir -p $out @@ -57,15 +57,18 @@ let }; in { - services.gitea = { + services.forgejo = { enable = true; - appName = "TuxCord Gitea"; database.type = "mysql"; lfs.enable = true; settings = { + DEFAULT = { + APP_NAME = "TuxCord Code Forge"; + }; + server = { DOMAIN = fqdn; ROOT_URL = "${if acmeEnabled then "https" else "http"}://${fqdn}/"; @@ -89,29 +92,34 @@ in # TODO: once we have email setup this would be nice mailer.ENABLED = true; + + actions = { + ENABLED = true; + # DEFAULT_ACTIONS_URL = "github"; + }; }; }; - systemd.services.gitea-branding = { + systemd.services.forgejo-branding = { enable = true; - wantedBy = [ "gitea.service" ]; - before = [ "gitea.service" ]; + wantedBy = [ "forgejo.service" ]; + before = [ "forgejo.service" ]; serviceConfig = { Type = "oneshot"; - ExecStart = pkgs.writeShellScript "gitea-branding.oneshot" '' - ${pkgs.rsync}/bin/rsync -rl --chown gitea:gitea --delete ${giteaPublic}/ ${config.services.gitea.customDir}/public - ${pkgs.rsync}/bin/rsync -rl --chown gitea:gitea --delete ${giteaTemplates}/ ${config.services.gitea.customDir}/templates + ExecStart = pkgs.writeShellScript "forgejo-branding.oneshot" '' + ${pkgs.rsync}/bin/rsync -rl --chown forgejo:forgejo --delete ${forgejoPublic}/ ${config.services.forgejo.customDir}/public + ${pkgs.rsync}/bin/rsync -rl --chown forgejo:forgejo --delete ${forgejoTemplates}/ ${config.services.forgejo.customDir}/templates ''; }; }; environment.persistence."/persist".directories = [ { - directory = config.services.gitea.stateDir; - group = "gitea"; - user = "gitea"; + directory = config.services.forgejo.stateDir; + group = "forgejo"; + user = "forgejo"; } ]; } diff --git a/nixos/modules/nginx.nix b/nixos/modules/nginx.nix index cbcc4c2..4b57ebd 100644 --- a/nixos/modules/nginx.nix +++ b/nixos/modules/nginx.nix @@ -58,7 +58,7 @@ in }; "git.${fqdn}" = mkVhost { } { - "/" = mkProxy config.services.gitea.settings.server.HTTP_PORT; + "/" = mkProxy config.services.forgejo.settings.server.HTTP_PORT; }; }; };