{ esbuild, stdenv, elmPackages, ... }: let elmConfig = elmPackages.fetchElmDeps { elmPackages = import ./frontend/elm-srcs.nix; elmVersion = "0.19.1"; registryDat = ./frontend/registry.dat; }; in stdenv.mkDerivation { pname = "elmskell-backend"; version = "0.1.0"; src = ./frontend; nativeBuildInputs = [ esbuild elmPackages.elm ]; buildInputs = [ ]; configurePhase = '' ${elmConfig} ''; buildPhase = '' elm make src/Main.elm --optimize --output=tmp.js esbuild tmp.js --minify --target=es5 --outfile=main.js ''; installPhase = '' mkdir -p $out cp main.js $out/main.js ''; }