website/config.toml
iris b82a2ca1b3 config: hoist forge URL out of templates + add nginx deploy snippet
Addresses two review notes on PR #1:

**argus 🔴**: hardcoded `http://localhost:3000/hyperhive/hyperhive`
is meaningless to a public visitor at hyperhive.darkest.space.
Moved to `[extra] forge_url` in config.toml so it's swappable
without touching templates. Both consumer sites now reference
`{{ config.extra.forge_url }}`:

- `templates/base.html` — footer "code on the forge" link
- `templates/index.html` — hero CTA button

Default value points at the operator's current public mirror
(`git.berlin.ccc.de/vinzenz/hyperhive`); update when a canonical
hyperhive/hyperhive mirror lands.

**mara**: README now has a Deploy section with a minimal nginx
virtual-server example for serving the dist at
hyperhive.darkest.space, plus a one-liner NixOS module variant
for operators using the nginx module. Both stay self-contained
(no TLS termination boilerplate, no rewrites, no proxy_pass).
2026-05-27 12:56:34 +02:00

40 lines
1.7 KiB
TOML

# Zola config — hyperhive marketing landing (#502).
#
# Single-page landing for now; nav / blog / docs come later if scope grows.
# Theme lives in `sass/main.scss` and `templates/`; no external Zola theme
# import — the project's identity matches the dashboard / agent terminals
# closely enough that pulling in a third-party theme would just give us
# something to fight.
base_url = "https://hyperhive.darkest.space"
title = "hyperhive"
description = "a swarm of claude agents in nspawn containers, with an operator-shaped trust boundary."
# We don't need RSS / search / sitemaps for a single-page landing. Can
# flip these on later if blog content lands.
generate_feeds = false
build_search_index = false
# Embed the SCSS pipeline; zola compiles `sass/*.scss` → `public/*.css`.
compile_sass = true
# Markdown rendering defaults — landing has very little prose so the
# fancier syntax-highlight setup isn't needed yet. Easy to turn on later.
[markdown]
highlight_code = false
smart_punctuation = true
[extra]
# Catppuccin Mocha palette + amber accent (matching the hex mark) is
# the project's identity. Single source of truth — `main.scss` reads
# these via Sass variables, not from this attrset (Zola doesn't pipe
# extras into Sass). Keeping them here as documentation only so the
# theme intent is reviewable in one place.
palette = "catppuccin-mocha"
accent = "amber"
# Public-facing forge URL — surfaced in templates via
# `{{ config.extra.forge_url }}`. Update this when the canonical
# public hyperhive mirror lands; the current value is the operator's
# berlin.ccc.de instance (per the project README at that mirror).
forge_url = "https://git.berlin.ccc.de/vinzenz/hyperhive"