NESTstack v1.5.0 — Appearance customization via carrier-profile
·
42 commits
to master
since this release
What's new
Carriers can now restyle the dashboard without forking. Fonts, accent colors, and background tone are pulled from carrier-profile.json#appearance at runtime via a new gateway endpoint.
Sparked by a Haven thread — Nana asked if they could work with the font; the answer became this release. The carrier-profile system we shipped in v1.4.0 was designed to absorb exactly this kind of customization without forking, and now it does.
New appearance section in carrier-profile.json
"appearance": {
"font_family": "'Inter', sans-serif",
"font_display": "'Cinzel', serif",
"font_mono": "'IBM Plex Mono', monospace",
"accent_primary": "#a855f7",
"accent_secondary": "#f59e0b",
"background_tone": "#0a0a0f"
}Empty values fall through to NESTstack's cyberpunk defaults. No appearance section = no-op.
How it works
- Gateway exposes
GET /appearance.css— renderscarrier-profile.appearanceas CSS custom properties on:root. Cached 5 minutes, CORS-enabled. - Dashboard's
config.jsnow hasinjectAppearanceCss()that pullsappearance.cssfrom the configured gateway and appends it afterstyles.css, so carrier values override the defaults at runtime. styles.cssdeclares the carrier-overridable variables on:rootwith sane defaults. 20 hardcodedfont-familydeclarations got refactored to reference the variables.
Setup for community users
# Edit your carrier-profile.json — add the appearance section
wrangler secret put CARRIER_PROFILE_JSON < carrier-profile.json
# Reload dashboard. Done. Your fonts, your accents, your home.Continuity.