{ stdenv, nodejs, nodePackages, mkYarnPackage, rsync, fetchFromGitHub , backendDomain ? "CHANGE_ME", }: let meta = builtins.fromJSON (builtins.readFile ../meta.json); rev = meta.frontend.rev; in mkYarnPackage rec { pname = "piped-frontend"; version = "latest-${rev}"; src = fetchFromGitHub { owner = "TeamPiped"; repo = "Piped"; inherit rev; sha256 = "${meta.frontend.sha256}"; }; packageJSON = "${src}/package.json"; yarnLock = "${src}/yarn.lock"; yarnNix = ./yarn.nix; patchPhase = '' sed -i "s#pipedapi.kavin.rocks#${backendDomain}#g" src/main.js sed -i "s#pipedapi.kavin.rocks#${backendDomain}#g" src/components/PreferencesPage.vue ''; buildPhase = '' runHook preBuild yarn --offline build runHook postBuild ''; installPhase = '' runHook preInstall mkdir -p "$out/share/piped-frontend" ${rsync}/bin/rsync --recursive deps/piped/dist/ "$out/share/piped-frontend" runHook postInstall ''; doDist = false; }