{ lib, fetchFromGitHub, nix-update-script, nodejs, pnpm, stdenv, }: stdenv.mkDerivation (finalAttrs: { pname = "metacubexd"; version = "1.147.0"; src = fetchFromGitHub { owner = "MetaCubeX"; repo = "metacubexd"; rev = "v${finalAttrs.version}"; hash = "sha256-Lj+w+u8xrjYYcINgFMVg8AoLonqRoHNRCyXdeDcXWDg="; }; nativeBuildInputs = [ pnpm.configHook nodejs ]; pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pname version src; hash = "sha256-kb+CtX4Jn3UIwXdRcyyrWnUhGaldrJQUl+F7RSWzmoI="; }; buildPhase = '' runHook preBuild pnpm build runHook postBuild ''; installPhase = '' runHook preInstall cp -r ./dist $out runHook postInstall ''; passthru.updateScript = nix-update-script { }; meta = { description = "Clash.Meta Dashboard, The Official One, XD"; homepage = "https://github.com/MetaCubeX/metacubexd"; license = lib.licenses.mit; platforms = lib.platforms.all; maintainers = with lib.maintainers; [ Guanran928 ]; }; })