diff --git a/flake.nix b/flake.nix index 588438c..14859ec 100644 --- a/flake.nix +++ b/flake.nix @@ -19,7 +19,7 @@ inherit (pkgs.stdenv.hostPlatform) system; }; - mkWebapp = { pkgs, brandDir ? ./branding/default, app ? "main" }: + mkWebapp = { pkgs, brandDir ? ./branding/default, app ? "main", extraEnv ? {} }: let buildScript = if app == "main" then "build" else "build:${app}"; outDir = if app == "main" then "dist" else "dist-${app}"; @@ -59,13 +59,19 @@ # pwa-assets.config.ts. brandDir is either ./branding/default # (a path inside this flake's source) or an external path that # nix has copied into the build sandbox. + # + # `extraEnv` flows in VITE_* and any other build-time env vars + # the caller wants to bake into the bundle (e.g. webapp-module + # passes VITE_NOSTR_RELAYS / VITE_LNBITS_BASE_URL / …; the + # server-deploy standalones module passes VITE_BASE_PATH + + # VITE_APP_NAME for per-app path mounts). env = { BRAND_DIR = "${brandDir}"; BRAND_APP = if app == "main" then "" else app; # Avoid pnpm 10's interactive modules-purge prompt in the # sandbox (ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY). CI = "true"; - }; + } // extraEnv; buildPhase = '' runHook preBuild