@@ -265,8 +265,7 @@ in rec {
265265
266266 # An Obelisk project is a reflex-platform project with a predefined layout and role for each component
267267 project = base: projectDefinition:
268− let configPath = base + "/config";
269− projectOut = sys: (getReflexPlatform sys).project (args@{ nixpkgs, ... }:
268+ let projectOut = sys: (getReflexPlatform sys).project (args@{ nixpkgs, ... }:
270269 let mkProject = { android ? null #TODO: Better error when missing
271270 , ios ? null #TODO: Better error when missing
272271 , packages ? {}
@@ -299,7 +298,21 @@ in rec {
299298 privateConfigDirs = ["config/backend"];
300299 injectableConfig = builtins.filterSource (path: _:
301300 !(lib.lists.any (x: hasPrefix (toString base + "/" + toString x) (toString path)) privateConfigDirs)
302− ) configPath;
301+ );
302+ __android = configPath: {
303+ ${if android == null then null else frontendName} = {
304+ executableName = "frontend";
305+ ${if builtins.pathExists staticFiles then "assets" else null} =
306+ nixpkgs.obeliskExecutableConfig.platforms.android.inject (injectableConfig configPath) processedStatic.symlinked;
307+ } // android;
308+ };
309+ __ios = configPath: {
310+ ${if ios == null then null else frontendName} = {
311+ executableName = "frontend";
312+ ${if builtins.pathExists staticFiles then "staticSrc" else null} =
313+ nixpkgs.obeliskExecutableConfig.platforms.ios.inject (injectableConfig configPath) processedStatic.symlinked;
314+ } // ios;
315+ };
303316 in {
304317 inherit shellToolOverrides tools withHoogle;
305318 overrides = totalOverrides;
@@ -319,21 +332,9 @@ in rec {
319332 commonName
320333 ];
321334 };
322− android = {
323− ${if android == null then null else frontendName} = {
324− executableName = "frontend";
325− ${if builtins.pathExists staticFiles then "assets" else null} =
326− nixpkgs.obeliskExecutableConfig.platforms.android.inject injectableConfig processedStatic.symlinked;
327− } // android;
328− };
329− ios = {
330− ${if ios == null then null else frontendName} = {
331− executableName = "frontend";
332− ${if builtins.pathExists staticFiles then "staticSrc" else null} =
333− nixpkgs.obeliskExecutableConfig.platforms.ios.inject injectableConfig processedStatic.symlinked;
334− } // ios;
335− };
336− passthru = { inherit android ios packages overrides tools shellToolOverrides withHoogle staticFiles staticFilesImpure __closureCompilerOptimizationLevel; };
335+ android = __android null;
336+ ios = __ios null;
337+ passthru = { inherit android ios packages overrides tools shellToolOverrides withHoogle staticFiles staticFilesImpure __closureCompilerOptimizationLevel processedStatic __ios __android; };
337338 };
338339 in mkProject (projectDefinition args));
339340 serverOn = sys: version: serverExe