{ stdenv , fetchFromGitLab , makeWrapper , workadventure-messages , yarn2nix-moretea , lib , environment ? {} , ... }: let envVar = (name: lib.optionalAttrs (environment ? ${name}) { ${name} = environment.${name}; }); envVars = envVar "DEBUG_MODE" // envVar "API_URL" // envVar "UPLOADER_URL" // envVar "ADMIN_URL" // envVar "MAPS_URL" // envVar "API_HOST" // envVar "UPLOADER_HOST" // envVar "ADMIN_HOST" // envVar "MAPS_HOST" // envVar "API_PROTOCOL" // envVar "UPLOADER_PROTOCOL" // envVar "ADMIN_PROTOCOL" // envVar "MAPS_PROTOCOL" // envVar "TURN_SERVER" // envVar "TURN_USER" // envVar "TURN_PASSWORD" // envVar "JITSI_URL" // envVar "JITSI_PRIVATE_MODE"; in yarn2nix-moretea.mkYarnPackage (rec { pname = "workadventurefront"; version = "unstable"; src = fetchFromGitLab { owner = "fediventure"; repo = "workadventure"; rev = "e77551c629b0412c808843f91d072a4ce7558d7f"; sha256 = "1ikasdk2qhsrnh8x9sxvyjhzdiwmzimgs523cqysasz312yv4dfk"; } + "/front"; # NOTE: this is optional and generated dynamically if omitted yarnNix = ./yarn.nix; nativeBuildInputs = [ makeWrapper ]; dontStrip = true; buildPhase = '' mkdir -p $out ln -s ${workadventure-messages.outPath}/generated deps/${pname}/src/Messages/generated HOME=$TMPDIR yarn --offline run build cp -r deps/${pname}/dist/ $out/ ''; distPhase = ":"; installPhase = ":"; } // envVars)