@@ -115,7 +115,7 @@ let
115115 obelisk-cliapp = self.callCabal2nix "obelisk-cliapp" (cleanSource ./lib/cliapp) {};
116116 obelisk-command = (self.callCabal2nix "obelisk-command" (cleanSource ./lib/command) {}).override { Cabal = super.Cabal_2_0_0_2; };
117117 obelisk-executable-config = executableConfig.haskellPackage self;
118− obelisk-executable-config-inject = executableConfig.platforms.web.inject self; # TODO handle platforms.{ios,android}
118+ obelisk-executable-config-inject = executableConfig.platforms.web.inject self;
119119 obelisk-migration = self.callCabal2nix "obelisk-migration" (cleanSource ./lib/migration) {};
120120 obelisk-run = self.callCabal2nix "obelisk-run" (cleanSource ./lib/run) {};
121121 obelisk-selftest = self.callCabal2nix "obelisk-selftest" (cleanSource ./lib/selftest) {};
@@ -279,6 +279,12 @@ rec {
279279 ${backendName} = addBuildDepend super.${backendName} self.obelisk-run;
280280 };
281281 totalOverrides = composeExtensions (composeExtensions defaultHaskellOverrides projectOverrides) overrides;
282+ inherit (nixpkgs) lib;
283+ inherit (lib.strings) hasPrefix;
284+ privateConfigDirs = ["config/backend"];
285+ injectableConfig = builtins.filterSource (path: _:
286+ !(lib.lists.any (x: hasPrefix (toString base + "/" + toString x) (toString path)) privateConfigDirs)
287+ ) configPath;
282288 in {
283289 inherit shellToolOverrides tools withHoogle;
284290 overrides = totalOverrides;
@@ -297,13 +303,15 @@ rec {
297303 android = {
298304 ${if android == null then null else frontendName} = {
299305 executableName = "frontend";
300− ${if builtins.pathExists staticPath then "assets" else null} = processedStatic.symlinked;
306+ ${if builtins.pathExists staticPath then "assets" else null} =
307+ executableConfig.platforms.android.inject injectableConfig processedStatic.symlinked;
301308 } // android;
302309 };
303310 ios = {
304311 ${if ios == null then null else frontendName} = {
305312 executableName = "frontend";
306− ${if builtins.pathExists staticPath then "staticSrc" else null} = processedStatic.symlinked;
313+ ${if builtins.pathExists staticPath then "staticSrc" else null} =
314+ executableConfig.platforms.ios.inject injectableConfig processedStatic.symlinked;
307315 } // ios;
308316 };
309317 };