add catppuccin mocha × vibec0re theme to forge

- new nix/forge-theme/theme-catppuccin-vibec0re.css: full Catppuccin Mocha
  palette mapped to all Forgejo CSS custom properties + chroma syntax
  highlighting; vibec0re glow effects on primary buttons, nav, and links
- hive-forge.nix: ui.DEFAULT_THEME + ui.THEMES settings
- systemd.tmpfiles.rules symlinks the nix-managed CSS into
  /var/lib/forgejo/custom/public/assets/css/ before forgejo starts;
  container rebuild picks up CSS changes automatically

Closes #55
This commit is contained in:
iris 2026-05-20 15:42:32 +02:00
parent b1f10b1d1b
commit 67f948028c
2 changed files with 319 additions and 0 deletions

View file

@ -145,6 +145,14 @@ in
# so an in-hive mirror of the hyperhive repo works.
migrations.ALLOW_LOCALNETWORKS = true;
log.LEVEL = "Warn";
ui = {
# Catppuccin Mocha theme shipped as a nix-managed CSS file.
# The tmpfiles rule below symlinks the file into the custom
# dir before forgejo starts, so a container rebuild always
# picks up CSS changes without touching persistent state.
DEFAULT_THEME = "catppuccin-vibec0re";
THEMES = "catppuccin-vibec0re,gitea-auto,gitea-light,gitea-dark";
};
# F3 (federation) computes its data dir relative to the
# forgejo binary, which lands in the read-only nix
# store and crashes anything that touches the F3
@ -159,6 +167,13 @@ in
};
};
environment.systemPackages = [ pkgs.forgejo ];
# Deploy the Catppuccin Mocha theme CSS into forgejo's custom
# public assets directory. Using a symlink (L+) so container
# rebuilds automatically reflect CSS edits without extra copies.
systemd.tmpfiles.rules = [
"d /var/lib/forgejo/custom/public/assets/css 0755 forgejo forgejo -"
"L+ /var/lib/forgejo/custom/public/assets/css/theme-catppuccin-vibec0re.css - - - - ${../forge-theme/theme-catppuccin-vibec0re.css}"
];
};
};