diff options
Diffstat (limited to 'web/bubblegum/examples/default.nix')
-rw-r--r-- | web/bubblegum/examples/default.nix | 61 |
1 files changed, 41 insertions, 20 deletions
diff --git a/web/bubblegum/examples/default.nix b/web/bubblegum/examples/default.nix index 3f0f51db6369..89482f93eacc 100644 --- a/web/bubblegum/examples/default.nix +++ b/web/bubblegum/examples/default.nix @@ -29,33 +29,54 @@ let ; bins = (getBins pkgs.thttpd [ "thttpd" ]) - // (getBins pkgs.coreutils [ "printf" "cp" "mkdir" ]); + // (getBins pkgs.coreutils [ "printf" "cp" "mkdir" ]); webRoot = let copyScripts = lib.concatMap - (path: let - cgi = writeCGI { - # assume we are on NixOS since thttpd doesn't set PATH. - # using third_party.nix is tricky because not everyone - # has a tvix daemon running. - binPath = "/run/current-system/sw/bin"; - } path; - in [ - "if" [ bins.cp cgi "\${out}/${cgi.name}" ] - ]) scripts; - in runExecline.local "webroot" {} ([ - "importas" "out" "out" - "if" [ bins.mkdir "-p" "$out" ] + (path: + let + cgi = writeCGI + { + # assume we are on NixOS since thttpd doesn't set PATH. + # using third_party.nix is tricky because not everyone + # has a tvix daemon running. + binPath = "/run/current-system/sw/bin"; + } + path; + in + [ + "if" + [ bins.cp cgi "\${out}/${cgi.name}" ] + ]) + scripts; + in + runExecline.local "webroot" { } ([ + "importas" + "out" + "out" + "if" + [ bins.mkdir "-p" "$out" ] ] ++ copyScripts); port = 9000; in - writeExecline "serve-examples" {} [ - "foreground" [ - bins.printf "%s\n" "Running on http://localhost:${toString port}" - ] - "${bins.thttpd}" "-D" "-p" (toString port) "-l" "/dev/stderr" - "-c" "*.nix" "-d" webRoot +writeExecline "serve-examples" { } [ + "foreground" + [ + bins.printf + "%s\n" + "Running on http://localhost:${toString port}" ] + "${bins.thttpd}" + "-D" + "-p" + (toString port) + "-l" + "/dev/stderr" + "-c" + "*.nix" + "-d" + webRoot +] |