let drv = { buildEnv, dockerTools, fakeNss, nginx, runCommand, wordle-solver-web, writeShellScriptBin, ... }: dockerTools.buildImage { name = "wordle-solver-web"; created = "now"; copyToRoot = buildEnv { name = "image-root"; paths = [ nginx (fakeNss.override { extraGroupLines = [ "nogroup:x:65534:" ]; }) (writeShellScriptBin "start" '' echo "Start serving worlde-solver at port 80..." /bin/nginx -c /etc/nginx.conf '') (runCommand "nginx-conf" {} '' mkdir -p $out/etc cat < $out/etc/nginx.conf events {} error_log /dev/stderr; http { include ${nginx}/conf/mime.types; server { listen 80; root ${wordle-solver-web}; access_log /dev/stdout; } } daemon off; EOF '') ]; pathsToLink = ["/bin" "/etc"]; }; runAsRoot = '' mkdir -p /var/log/nginx ''; config = { Cmd = ["/bin/start"]; }; }; in { perSystem = { pkgs, self', ... }: { packages.wordle-solver-web-docker = pkgs.callPackage drv { inherit (self'.packages) wordle-solver-web; }; }; }