From 69252b73b2fffe4bd58ab1d08d29f964c18fff9f Mon Sep 17 00:00:00 2001 From: dish Date: Sat, 27 Dec 2025 12:06:44 -0500 Subject: [PATCH] slidev-cli: init at 52.11.1 --- pkgs/by-name/sl/slidev-cli/package.nix | 83 ++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 pkgs/by-name/sl/slidev-cli/package.nix diff --git a/pkgs/by-name/sl/slidev-cli/package.nix b/pkgs/by-name/sl/slidev-cli/package.nix new file mode 100644 index 000000000000..1d187ab3e4d4 --- /dev/null +++ b/pkgs/by-name/sl/slidev-cli/package.nix @@ -0,0 +1,83 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchPnpmDeps, + pnpm, + nodejs, + pnpmConfigHook, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "slidev-cli"; + version = "52.11.1"; + + src = fetchFromGitHub { + owner = "slidevjs"; + repo = "slidev"; + tag = "v${finalAttrs.version}"; + hash = "sha256-AYU36NsALC4CCZVr+1PmspX6RKZkxI2xpLNUSccEPwY="; + }; + + pnpmWorkspaces = [ "@slidev/cli..." ]; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) + pname + version + src + pnpmWorkspaces + ; + fetcherVersion = 3; + hash = "sha256-nZPyqP4NruVIzONHIT6hx1Px9p8mHTK9Xt5wHEcpwBM="; + }; + + nativeBuildInputs = [ + nodejs + pnpmConfigHook + pnpm + ]; + + buildInputs = [ + nodejs + ]; + + buildPhase = '' + runHook preBuild + + pnpm -r --filter=@slidev/cli... --parallel run build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + rm -rf node_modules packages/slidev/node_modules + pnpm install --force --offline --production --ignore-scripts --filter=@slidev/cli... + + mkdir -p $out/lib/node_modules/slidev-cli/ + mkdir $out/bin + mv ./packages ./node_modules ./package.json $out/lib/node_modules/slidev-cli + + ln -s $out/lib/node_modules/slidev-cli/packages/slidev/bin/slidev.mjs $out/bin/slidev + chmod +x $out/bin/slidev + patchShebangs $out/bin/slidev + + runHook postInstall + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + changelog = "https://github.com/slidevjs/slidev/releases/tag/v${finalAttrs.version}"; + description = "Presentation slides for developers"; + homepage = "https://sli.dev"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + pyrox0 + pluiedev + ]; + mainProgram = "slidev"; + }; +})