hive-c0re doesn't touch these files anymore (nginx hosts them directly, see the previous commit) — hive-c0re/swagger-ui-theme/ was a leftover from the original SWAGGER_UI_OVERWRITE_FOLDER build-hook design, which this PR moved away from. New location matches the existing top-level-directory-for-nix-packaged-assets convention (branding/, claude-plugins/). Pure rename, no content change: nix/packages/swagger-ui-theme.nix's three file references updated, everything else picks it up from the same content hash (nix build .#swagger-ui-theme resolves to the exact same store path as before the move).
52 lines
2.3 KiB
Nix
52 lines
2.3 KiB
Nix
{
|
|
stdenv,
|
|
swagger-ui-dist,
|
|
}:
|
|
|
|
# hyperhive's Catppuccin Mocha re-theme of Swagger UI: overlays our 3
|
|
# hand-authored override files (`swagger-ui-theme/`, top-level — not
|
|
# under `hive-c0re/`, which has no relationship to these files) onto
|
|
# the plain vendored dist (./swagger-ui-dist.nix). This is the FULL
|
|
# tree hive-gateway's nginx serves at `/api/docs/` — hive-c0re hosts
|
|
# none of it, only the dynamic `/api/openapi.json` (see
|
|
# nix/host-modules/hive-gateway/vhosts.nix).
|
|
#
|
|
# Output layout: every file from `swagger-ui-dist`, with 3 replaced:
|
|
# index.html adds colors.css (live stylix theme) +
|
|
# hyperhive-theme.css <link>s
|
|
# hyperhive-theme.css new; the re-theme, consumes --baseNN vars
|
|
# swagger-initializer.js hardcodes `url: "/api/openapi.json"` —
|
|
# `utoipa-swagger-ui`'s `serve()` normally
|
|
# rewrites this per-request from a
|
|
# `{{config}}` placeholder its OWN build.rs
|
|
# injects (`replace_default_url_with_config`
|
|
# + `format_config`); hive-c0re doesn't serve
|
|
# this file at all anymore, so that rewrite
|
|
# is baked in statically here instead —
|
|
# hand-verified byte-for-byte against what
|
|
# `format_config` would produce, by applying
|
|
# the same transform to the real vendored
|
|
# file rather than typing it from scratch.
|
|
stdenv.mkDerivation {
|
|
pname = "hyperhive-swagger-ui-theme";
|
|
version = "0.1.0";
|
|
|
|
dontUnpack = true;
|
|
dontBuild = true;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
mkdir -p $out
|
|
cp -r ${swagger-ui-dist}/. $out/
|
|
chmod -R u+w $out
|
|
install -m644 ${../../swagger-ui-theme/index.html} $out/index.html
|
|
install -m644 ${../../swagger-ui-theme/hyperhive-theme.css} $out/hyperhive-theme.css
|
|
install -m644 ${../../swagger-ui-theme/swagger-initializer.js} $out/swagger-initializer.js
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = {
|
|
description = "hyperhive Swagger UI Catppuccin Mocha re-theme — full static dist, nginx-served at /api/docs/";
|
|
homepage = "https://forge.darkest.space/hyperhive/hyperhive";
|
|
};
|
|
}
|