From d925565179c8ca824dd3436f311476341ffc2fcc Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Tue, 9 Dec 2025 23:32:05 +0100 Subject: [PATCH 1/7] fetchPnpmDeps,pnpmConfigHook: move to top-level attribute move pnpm.{fetchDeps,configHook} to fetchPnpmDeps and pnpmConfigHook respectively. Also adds aliases to the former package-level attributes. Additionally, pnpmConfigHook does not propagate pnpm anymore, to make changing pnpm versions easier. This brings pnpm in line with the other Node.js/JavaScript tooling in nixpkgs. This doesn't cause any rebuilds. Signed-off-by: Sefa Eyeoglu --- .../javascript.section.md | 103 ++++++++++++------ doc/release-notes/rl-2605.section.md | 2 + .../node/fetch-pnpm-deps}/default.nix | 20 ++-- .../node/fetch-pnpm-deps}/pnpm-config-hook.sh | 7 ++ .../node/fetch-pnpm-deps}/serve.nix | 0 pkgs/development/tools/pnpm/generic.nix | 19 +++- pkgs/top-level/all-packages.nix | 5 + 7 files changed, 107 insertions(+), 49 deletions(-) rename pkgs/{development/tools/pnpm/fetch-deps => build-support/node/fetch-pnpm-deps}/default.nix (90%) rename pkgs/{development/tools/pnpm/fetch-deps => build-support/node/fetch-pnpm-deps}/pnpm-config-hook.sh (91%) rename pkgs/{development/tools/pnpm/fetch-deps => build-support/node/fetch-pnpm-deps}/serve.nix (100%) diff --git a/doc/languages-frameworks/javascript.section.md b/doc/languages-frameworks/javascript.section.md index f85a416fee86..3af4d1d86099 100644 --- a/doc/languages-frameworks/javascript.section.md +++ b/doc/languages-frameworks/javascript.section.md @@ -327,16 +327,17 @@ See `node2nix` [docs](https://github.com/svanderburg/node2nix) for more info. ### pnpm {#javascript-pnpm} -Pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8` and `pnpm_9`, which support different sets of lock file versions. +pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8`, `pnpm_9` and `pnpm_10`, which support different sets of lock file versions. -When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The functions `pnpm_8.fetchDeps` and `pnpm_9.fetchDeps` can create this pnpm store derivation. In conjunction, the setup hooks `pnpm_8.configHook` and `pnpm_9.configHook` will prepare the build environment to install the pre-fetched dependencies store. Here is an example for a package that contains `package.json` and a `pnpm-lock.yaml` files using the above `pnpm_` attributes: +When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The function `fetchPnpmDeps` can create this pnpm store derivation. In conjunction, the setup hook `pnpmConfigHook` will prepare the build environment to install the pre-fetched dependencies store. Here is an example for a package that contains `package.json` and a `pnpm-lock.yaml` files using the fetcher and setup hook above: ```nix { - stdenv, + fetchPnpmDeps, nodejs, - # This is pinned as { pnpm = pnpm_9; } pnpm, + pnpmConfigHook, + stdenv, }: stdenv.mkDerivation (finalAttrs: { @@ -348,11 +349,12 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - nodejs - pnpm.configHook + nodejs # in case scripts are run outside of a pnpm call + pnpmConfigHook + pnpm # At least required by pnpmConfigHook, if not other (custom) phases ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 3; hash = "..."; @@ -360,33 +362,68 @@ stdenv.mkDerivation (finalAttrs: { }) ``` -NOTE: It is highly recommended to use a pinned version of pnpm (i.e., `pnpm_8` or `pnpm_9`), to increase future reproducibility. It might also be required to use an older version if the package needs support for a certain lock file version. +It is highly recommended to use a pinned version of pnpm (i.e., `pnpm_9` or `pnpm_10`), to increase future reproducibility. It might also be required to use an older version if the package needs support for a certain lock file version. To do so, you can pass the `pnpm` argument to `fetchPnpmDeps` and override the `pnpm` arg in `pnpmConfigHook`. Here are the changes in the example above to use a pinned pnpm version: + + + +```diff + { + fetchPnpmDeps, + nodejs, +- pnpm, ++ pnpm_10, + pnpmConfigHook, + stdenv, + }: ++let ++ # Optionally override pnpm to use a custom nodejs version ++ # Make sure that the same nodejs version is referenced in nativeBuildInputs ++ # pnpm = pnpm_10.override { nodejs = nodejs_20; }; ++in + stdenv.mkDerivation (finalAttrs: { + pname = "foo"; + version = "0-unstable-1980-01-01"; + + src = { + #... + }; + + nativeBuildInputs = [ + nodejs # in case scripts are run outside of a pnpm call + pnpmConfigHook +- pnpm # At least required by pnpmConfigHook, if not other (custom) phases ++ pnpm_10 # At least required by pnpmConfigHook, if not other (custom) phases + ]; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) pname version src; ++ pnpm = pnpm_10; + fetcherVersion = 3; + hash = "..."; + }; + }) +``` In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `finalAttrs.patches` to the function as well (i.e., `inherit (finalAttrs) patches`. -`pnpm.configHook` supports adding additional `pnpm install` flags via `pnpmInstallFlags` which can be set to a Nix string array: +`pnpmConfigHook` supports adding additional `pnpm install` flags via `pnpmInstallFlags` which can be set to a Nix string array: ```nix -{ pnpm }: - -stdenv.mkDerivation (finalAttrs: { - pname = "foo"; - version = "0-unstable-1980-01-01"; - - src = { +{ + # ... + pnpmDeps = fetchPnpmDeps { # ... + inherit (finalAttrs) pnpmInstallFlags; }; pnpmInstallFlags = [ "--shamefully-hoist" ]; - - pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pnpmInstallFlags; }; -}) +} ``` #### Dealing with `sourceRoot` {#javascript-pnpm-sourceRoot} -If the pnpm project is in a subdirectory, you can just define `sourceRoot` or `setSourceRoot` for `fetchDeps`. -If `sourceRoot` is different between the parent derivation and `fetchDeps`, you will have to set `pnpmRoot` to effectively be the same location as it is in `fetchDeps`. +If the pnpm project is in a subdirectory, you can just define `sourceRoot` or `setSourceRoot` for `fetchPnpmDeps`. +If `sourceRoot` is different between the parent derivation and `fetchPnpmDeps`, you will have to set `pnpmRoot` to effectively be the same location as it is in `fetchPnpmDeps`. Assuming the following directory structure, we can define `sourceRoot` and `pnpmRoot` as follows: @@ -402,7 +439,7 @@ Assuming the following directory structure, we can define `sourceRoot` and `pnpm ```nix { # ... - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { # ... sourceRoot = "${finalAttrs.src.name}/frontend"; }; @@ -414,7 +451,7 @@ Assuming the following directory structure, we can define `sourceRoot` and `pnpm #### PNPM Workspaces {#javascript-pnpm-workspaces} -If you need to use a PNPM workspace for your project, then set `pnpmWorkspaces = [ "" "" ]`, etc, in your `pnpm.fetchDeps` call, +If you need to use a PNPM workspace for your project, then set `pnpmWorkspaces = [ "" "" ]`, etc, in your `fetchPnpmDeps` call, which will make PNPM only install dependencies for those workspace packages. For example: @@ -423,14 +460,14 @@ For example: { # ... pnpmWorkspaces = [ "@astrojs/language-server" ]; - pnpmDeps = pnpm.fetchDeps { - inherit (finalAttrs) pnpmWorkspaces; + pnpmDeps = fetchPnpmDeps { #... + inherit (finalAttrs) pnpmWorkspaces; }; } ``` -The above would make `pnpm.fetchDeps` call only install dependencies for the `@astrojs/language-server` workspace package. +The above would make `fetchPnpmDeps` call only install dependencies for the `@astrojs/language-server` workspace package. Note that you do not need to set `sourceRoot` to make this work. Usually, in such cases, you'd want to use `pnpm --filter= build` to build your project, as `npmHooks.npmBuildHook` probably won't work. A `buildPhase` based on the following example will probably fit most workspace projects: @@ -457,23 +494,23 @@ set `prePnpmInstall` to the right commands to run. For example: prePnpmInstall = '' pnpm config set dedupe-peer-dependents false ''; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) prePnpmInstall; # ... }; } ``` -In this example, `prePnpmInstall` will be run by both `pnpm.configHook` and by the `pnpm.fetchDeps` builder. +In this example, `prePnpmInstall` will be run by both `pnpmConfigHook` and by the `fetchPnpmDeps` builder. -#### PNPM `fetcherVersion` {#javascript-pnpm-fetcherVersion} +#### pnpm `fetcherVersion` {#javascript-pnpm-fetcherVersion} -This is the version of the output of `pnpm.fetchDeps`, if you haven't set it already, you can use `1` with your current hash: +This is the version of the output of `fetchPnpmDeps`, if you haven't set it already, you can use `1` with your current hash: ```nix { # ... - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { # ... fetcherVersion = 1; hash = "..."; # you can use your already set hash here @@ -486,7 +523,7 @@ After upgrading to a newer `fetcherVersion`, you need to regenerate the hash: ```nix { # ... - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { # ... fetcherVersion = 2; hash = "..."; # clear this hash and generate a new one @@ -494,7 +531,7 @@ After upgrading to a newer `fetcherVersion`, you need to regenerate the hash: } ``` -This variable ensures that we can make changes to the output of `pnpm.fetchDeps` without breaking existing hashes. +This variable ensures that we can make changes to the output of `fetchPnpmDeps` without breaking existing hashes. Changes can include workarounds or bug fixes to existing PNPM issues. ##### Version history {#javascript-pnpm-fetcherVersion-versionHistory} diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 40a0566a9f8e..2314f939b856 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -54,6 +54,8 @@ If your SQLite database is corrupted, the migration might fail and require [manual intervention](https://github.com/louislam/uptime-kuma/issues/5281). See the [migration guide](https://github.com/louislam/uptime-kuma/wiki/Migration-From-v1-To-v2) for more information. +- `fetchPnpmDeps` and `pnpmConfigHook` were added as top-level attributes, replacing the now deprecated `pnpm.fetchDeps` and `pnpm.configHook` attributes. + - Added `dell-bios-fan-control` package and service. - We now use the upstream wrapper script for Gradle, supporting both the `JAVA_HOME` and `GRADLE_OPTS` environment variables. diff --git a/pkgs/development/tools/pnpm/fetch-deps/default.nix b/pkgs/build-support/node/fetch-pnpm-deps/default.nix similarity index 90% rename from pkgs/development/tools/pnpm/fetch-deps/default.nix rename to pkgs/build-support/node/fetch-pnpm-deps/default.nix index 4fb7c6d6d736..5bd934bdd6ab 100644 --- a/pkgs/development/tools/pnpm/fetch-deps/default.nix +++ b/pkgs/build-support/node/fetch-pnpm-deps/default.nix @@ -10,9 +10,8 @@ yq, zstd, }: - let - pnpm' = pnpm; + pnpmLatest = pnpm; supportedFetcherVersions = [ 1 # First version. Here to preserve backwards compatibility @@ -21,11 +20,11 @@ let ]; in { - fetchDeps = lib.makeOverridable ( + fetchPnpmDeps = lib.makeOverridable ( { hash ? "", pname, - pnpm ? pnpm', + pnpm ? pnpmLatest, pnpmWorkspaces ? [ ], prePnpmInstall ? "", pnpmInstallFlags ? [ ], @@ -50,15 +49,15 @@ in in # pnpmWorkspace was deprecated, so throw if it's used. assert (lib.throwIf (args ? pnpmWorkspace) - "pnpm.fetchDeps: `pnpmWorkspace` is no longer supported, please migrate to `pnpmWorkspaces`." + "fetchPnpmDeps: `pnpmWorkspace` is no longer supported, please migrate to `pnpmWorkspaces`." ) true; assert (lib.throwIf (fetcherVersion == null) - "pnpm.fetchDeps: `fetcherVersion` is not set, see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion." + "fetchPnpmDeps: `fetcherVersion` is not set, see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion." ) true; assert (lib.throwIf (!(builtins.elem fetcherVersion supportedFetcherVersions)) - "pnpm.fetchDeps `fetcherVersion` is not set to a supported value (${lib.concatStringsSep ", " (map toString supportedFetcherVersions)}), see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion." + "fetchPnpmDeps `fetcherVersion` is not set to a supported value (${lib.concatStringsSep ", " (map toString supportedFetcherVersions)}), see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion." ) true; stdenvNoCC.mkDerivation ( @@ -72,7 +71,7 @@ in cacert jq moreutils - args.pnpm or pnpm' + pnpm # from args yq zstd ]; @@ -176,7 +175,7 @@ in passthru = { inherit fetcherVersion; serve = callPackage ./serve.nix { - pnpm = args.pnpm or pnpm'; + inherit pnpm; # from args pnpmDeps = finalAttrs.finalPackage; }; }; @@ -190,10 +189,9 @@ in ) ); - configHook = makeSetupHook { + pnpmConfigHook = makeSetupHook { name = "pnpm-config-hook"; propagatedBuildInputs = [ - pnpm zstd ]; substitutions = { diff --git a/pkgs/development/tools/pnpm/fetch-deps/pnpm-config-hook.sh b/pkgs/build-support/node/fetch-pnpm-deps/pnpm-config-hook.sh similarity index 91% rename from pkgs/development/tools/pnpm/fetch-deps/pnpm-config-hook.sh rename to pkgs/build-support/node/fetch-pnpm-deps/pnpm-config-hook.sh index 2532e5d465c1..66ea5026d72c 100644 --- a/pkgs/development/tools/pnpm/fetch-deps/pnpm-config-hook.sh +++ b/pkgs/build-support/node/fetch-pnpm-deps/pnpm-config-hook.sh @@ -12,6 +12,13 @@ pnpmConfigHook() { exit 1 fi + if ! command -v "pnpm" &> /dev/null; then + echo "Error: 'pnpm' binary not found in PATH. Consider adding 'pkgs.pnpm' to 'nativeBuildInputs'." >&2 + exit 1 + fi + + echo "Found 'pnpm' with version '$(pnpm --version)'" + fetcherVersion=$(cat "${pnpmDeps}/.fetcher-version" || echo 1) echo "Using fetcherVersion: $fetcherVersion" diff --git a/pkgs/development/tools/pnpm/fetch-deps/serve.nix b/pkgs/build-support/node/fetch-pnpm-deps/serve.nix similarity index 100% rename from pkgs/development/tools/pnpm/fetch-deps/serve.nix rename to pkgs/build-support/node/fetch-pnpm-deps/serve.nix diff --git a/pkgs/development/tools/pnpm/generic.nix b/pkgs/development/tools/pnpm/generic.nix index 626849d7b680..e200d8debcd4 100644 --- a/pkgs/development/tools/pnpm/generic.nix +++ b/pkgs/development/tools/pnpm/generic.nix @@ -2,7 +2,7 @@ lib, stdenvNoCC, writeScript, - callPackages, + fetchPnpmDeps, fetchurl, installShellFiles, nodejs, @@ -11,6 +11,7 @@ version, hash, buildPackages, + pnpmConfigHook, }: let majorVersion = lib.versions.major version; @@ -71,12 +72,20 @@ stdenvNoCC.mkDerivation (finalAttrs: { passthru = let - fetchDepsAttrs = callPackages ./fetch-deps { - pnpm = buildPackages."pnpm_${lib.versions.major version}"; - }; + pnpm' = buildPackages."pnpm_${lib.versions.major version}"; in { - inherit (fetchDepsAttrs) fetchDeps configHook; + fetchDeps = + { ... }@args: + fetchPnpmDeps args + // { + pnpm = pnpm'; + }; + configHook = pnpmConfigHook.overrideAttrs (prevAttrs: { + propagatedBuildInputs = prevAttrs.propagatedBuildInputs or [ ] ++ [ + pnpm' + ]; + }); inherit majorVersion; tests.version = lib.optionalAttrs withNode ( diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5d751f8a13b1..e651b36d1f30 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3606,6 +3606,11 @@ with pkgs; ; pnpm = pnpm_10; + inherit (callPackages ../build-support/node/fetch-pnpm-deps { }) + fetchPnpmDeps + pnpmConfigHook + ; + po4a = perlPackages.Po4a; podman-compose = python3Packages.callPackage ../applications/virtualization/podman-compose { }; From 65b04e5fb8458d0a8710e5fbb379ac8489f01505 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Tue, 9 Dec 2025 23:54:17 +0100 Subject: [PATCH 2/7] treewide: migrate to fetchPnpmDeps and pnpmConfigHook This moves all packages to the new top-level attributes introduced previously. This doesn't cause any rebuilds. Signed-off-by: Sefa Eyeoglu --- .../audio/youtube-music/default.nix | 11 +++++++---- .../extensions/eamodio.gitlens/default.nix | 6 ++++-- .../extensions/kilocode.kilo-code/default.nix | 6 ++++-- .../rooveterinaryinc.roo-cline/default.nix | 6 ++++-- .../node/fetch-pnpm-deps/default.nix | 2 +- pkgs/build-support/teleport/default.nix | 14 +++++++++++--- pkgs/by-name/ao/aonsoku/package.nix | 9 ++++++--- pkgs/by-name/ap/apache-answer/package.nix | 7 +++++-- pkgs/by-name/ar/artalk/package.nix | 8 ++++++-- .../as/astro-language-server/package.nix | 9 ++++++--- pkgs/by-name/at/atuin-desktop/package.nix | 7 +++++-- pkgs/by-name/au/autobrr/package.nix | 8 ++++++-- pkgs/by-name/au/autoprefixer/package.nix | 8 ++++++-- pkgs/by-name/ba/backrest/package.nix | 8 ++++++-- .../ba/bash-language-server/package.nix | 9 ++++++--- pkgs/by-name/bl/bluesky-pds/package.nix | 8 ++++++-- pkgs/by-name/bu/bumpp/package.nix | 12 ++++++------ pkgs/by-name/ca/cargo-tauri/test-app.nix | 13 ++++++------- pkgs/by-name/cd/cdxgen/package.nix | 9 ++++++--- pkgs/by-name/ch/changelogen/package.nix | 12 ++++++------ pkgs/by-name/cl/clash-verge-rev/unwrapped.nix | 15 +++++++++++---- .../by-name/cl/claude-code-router/package.nix | 16 ++++++++++------ pkgs/by-name/co/coc-cmake/package.nix | 8 ++++++-- pkgs/by-name/co/concurrently/package.nix | 12 ++++++------ .../co/conventional-changelog-cli/package.nix | 7 +++++-- pkgs/by-name/cs/cspell/package.nix | 9 ++++++--- pkgs/by-name/da/daed/package.nix | 14 +++++++++++--- .../de/deadlock-mod-manager/package.nix | 9 ++++++--- pkgs/by-name/de/deltachat-desktop/package.nix | 9 ++++++--- pkgs/by-name/do/dorion/package.nix | 8 ++++++-- pkgs/by-name/e-/e-search/package.nix | 8 ++++++-- .../em/emmet-language-server/package.nix | 9 ++++++--- pkgs/by-name/en/en-croissant/package.nix | 15 +++++++++++---- pkgs/by-name/eq/equibop/package.nix | 9 ++++++--- pkgs/by-name/eq/equicord/package.nix | 8 ++++++-- pkgs/by-name/et/etherpad-lite/package.nix | 13 +++++++------ pkgs/by-name/fe/fedistar/package.nix | 12 ++++++------ pkgs/by-name/fe/feishin/package.nix | 17 ++++++++++------- pkgs/by-name/fi/filebrowser/package.nix | 10 ++++++---- .../fi/firezone-gui-client/package.nix | 8 ++++++-- pkgs/by-name/fi/firezone-server/package.nix | 8 +++++--- pkgs/by-name/fl/flood/package.nix | 15 +++++++++++---- pkgs/by-name/fo/folo/package.nix | 14 +++++++++++--- pkgs/by-name/fr/froide/package.nix | 7 +++++-- pkgs/by-name/ga/gale/package.nix | 9 ++++++--- pkgs/by-name/ga/garage-webui/package.nix | 11 ++++++----- pkgs/by-name/gi/gitbutler/package.nix | 12 +++++++----- pkgs/by-name/gi/gitea/package.nix | 7 +++++-- pkgs/by-name/gi/gitify/package.nix | 9 ++++++--- pkgs/by-name/go/goofcord/package.nix | 10 +++++++--- pkgs/by-name/gu/gui-for-clash/package.nix | 8 ++++++-- pkgs/by-name/gu/gui-for-singbox/package.nix | 8 ++++++-- pkgs/by-name/he/heroic-unwrapped/package.nix | 8 ++++++-- pkgs/by-name/ho/homebox/package.nix | 7 +++++-- .../by-name/ho/homepage-dashboard/package.nix | 8 ++++++-- pkgs/by-name/ho/homer/package.nix | 10 ++++++---- pkgs/by-name/im/immich-cli/package.nix | 9 +++------ pkgs/by-name/im/immich-kiosk/package.nix | 19 +++++++++++++------ pkgs/by-name/im/immich/package.nix | 16 +++++++++------- pkgs/by-name/it/it-tools/package.nix | 14 +++++++++++--- pkgs/by-name/je/jellyseerr/package.nix | 8 ++++++-- pkgs/by-name/ka/karakeep/package.nix | 11 ++++++----- pkgs/by-name/le/legcord/package.nix | 7 +++++-- pkgs/by-name/me/memos/package.nix | 7 +++++-- pkgs/by-name/me/metacubexd/package.nix | 8 ++++++-- pkgs/by-name/mg/mgrep/package.nix | 7 +++++-- pkgs/by-name/mi/misskey/package.nix | 10 ++++++---- .../mo/modrinth-app-unwrapped/package.nix | 9 ++++++--- pkgs/by-name/mo/moonfire-nvr/package.nix | 8 ++++++-- pkgs/by-name/mo/moonlight/package.nix | 8 ++++++-- pkgs/by-name/n8/n8n/package.nix | 9 ++++++--- pkgs/by-name/ni/ni/package.nix | 12 ++++++------ pkgs/by-name/nr/nrm/package.nix | 7 +++++-- pkgs/by-name/oc/ocis/package.nix | 14 +++++++++++--- pkgs/by-name/oc/ocis/web.nix | 14 +++++++++++--- pkgs/by-name/op/opencloud/idp-web.nix | 9 ++++++--- pkgs/by-name/op/opencloud/web.nix | 9 ++++++--- pkgs/by-name/op/openlist/frontend.nix | 9 ++++++--- pkgs/by-name/ov/overlayed/package.nix | 9 ++++++--- pkgs/by-name/pa/paperless-ngx/package.nix | 7 +++++-- pkgs/by-name/pa/parca/package.nix | 8 ++++++-- pkgs/by-name/pg/pgrok/package.nix | 14 +++++++++++--- pkgs/by-name/pi/piped/package.nix | 18 ++++++++++++++---- pkgs/by-name/po/pocket-id/package.nix | 9 ++++++--- pkgs/by-name/po/podman-desktop/package.nix | 8 ++++++-- pkgs/by-name/po/porn-vault/package.nix | 9 ++++++--- pkgs/by-name/pr/prisma/package.nix | 9 ++++++--- pkgs/by-name/qu/quantframe/package.nix | 8 ++++++-- pkgs/by-name/qu/qui/package.nix | 8 ++++++-- pkgs/by-name/re/readest/package.nix | 9 ++++++--- pkgs/by-name/re/renovate/package.nix | 9 ++++++--- pkgs/by-name/rm/rmfakecloud/package.nix | 15 +++++++++++---- pkgs/by-name/rq/rquickshare/package.nix | 8 ++++++-- pkgs/by-name/rs/rsshub/package.nix | 11 ++++++----- .../sa/satisfactorymodmanager/package.nix | 14 +++++++++++--- pkgs/by-name/se/serve/package.nix | 9 ++++++--- pkgs/by-name/sf/sftool-gui/package.nix | 7 +++++-- pkgs/by-name/sh/shadcn/package.nix | 9 ++++++--- pkgs/by-name/sh/sharkey/package.nix | 9 ++++++--- pkgs/by-name/sh/shopify-cli/package.nix | 7 +++++-- pkgs/by-name/si/signal-desktop/package.nix | 14 ++++++++++---- .../si/signal-desktop/signal-sqlcipher.nix | 8 ++++++-- pkgs/by-name/si/siyuan/package.nix | 10 ++++++---- .../sk/sketchybar-app-font/package.nix | 9 ++++++--- pkgs/by-name/sl/slimevr/package.nix | 11 +++++++---- pkgs/by-name/sp/splayer/package.nix | 16 +++++++++++----- pkgs/by-name/st/stylelint-lsp/package.nix | 9 ++++++--- pkgs/by-name/sv/svelte-check/package.nix | 7 +++++-- .../sv/svelte-language-server/package.nix | 7 +++++-- pkgs/by-name/sy/synchrony/package.nix | 9 ++++++--- pkgs/by-name/sy/syncyomi/package.nix | 9 ++++++--- pkgs/by-name/ta/tabby-agent/package.nix | 8 ++++++-- .../tailwindcss-language-server/package.nix | 9 ++++++--- pkgs/by-name/ta/taler-wallet-core/package.nix | 8 ++++++-- pkgs/by-name/ta/taze/package.nix | 11 ++++++----- pkgs/by-name/te/textlint/package.nix | 9 ++++++--- pkgs/by-name/ts/tsx/package.nix | 14 +++++++++++--- pkgs/by-name/ty/typespec/package.nix | 7 +++++-- pkgs/by-name/um/umami/package.nix | 10 ++++++---- pkgs/by-name/ve/vencord/package.nix | 9 ++++++--- pkgs/by-name/ve/vesktop/package.nix | 8 ++++++-- pkgs/by-name/vi/vikunja/package.nix | 10 +++++++--- pkgs/by-name/vo/voicevox/package.nix | 12 ++++++------ pkgs/by-name/vt/vtsls/package.nix | 9 ++++++--- .../vu/vue-language-server/package.nix | 7 +++++-- pkgs/by-name/we/wealthfolio/package.nix | 9 ++++++--- pkgs/by-name/wo/wox/package.nix | 8 ++++++-- pkgs/by-name/wr/wrangler/package.nix | 8 ++++++-- pkgs/by-name/za/zammad/package.nix | 8 ++++++-- pkgs/by-name/za/zashboard/package.nix | 9 ++++++--- pkgs/by-name/ze/zenn-cli/package.nix | 11 +++++++++-- pkgs/by-name/zi/zigbee2mqtt/package.nix | 12 ++++++------ pkgs/by-name/zi/zipline/package.nix | 8 ++++++-- .../django-filingcabinet/default.nix | 7 +++++-- .../python-modules/gradio/default.nix | 15 +++++++++++---- .../python-modules/yt-dlp-ejs/default.nix | 7 +++++-- .../woodpecker/webui.nix | 7 +++++-- pkgs/development/tools/pnpm/generic.nix | 2 +- pkgs/servers/authelia/default.nix | 12 +++++++++++- pkgs/servers/authelia/web.nix | 8 ++++++-- .../custom-sidebar/package.nix | 7 +++++-- pkgs/servers/web-apps/discourse/default.nix | 8 ++++++-- pkgs/servers/web-apps/lemmy/ui.nix | 8 ++++++-- pkgs/top-level/all-packages.nix | 7 +------ 144 files changed, 937 insertions(+), 441 deletions(-) diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix index 4c5af2ba3914..a50a0b6c665b 100644 --- a/pkgs/applications/audio/youtube-music/default.nix +++ b/pkgs/applications/audio/youtube-music/default.nix @@ -7,11 +7,12 @@ python3, copyDesktopItems, nodejs, - pnpm, + pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, makeDesktopItem, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "youtube-music"; version = "3.11.0"; @@ -28,8 +29,9 @@ stdenv.mkDerivation (finalAttrs: { ./fix-mpris-desktop-entry.patch ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-xZQ8rnLGD0ZxxUUPLHmNJ6mA+lnUHCTBvtJTiIPxaZU="; }; @@ -38,7 +40,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper python3 nodejs - pnpm.configHook + pnpmConfigHook + pnpm_10 ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems ]; diff --git a/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix b/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix index 58b4d0d6b75e..32464beea3df 100644 --- a/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix +++ b/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix @@ -4,6 +4,8 @@ stdenv, fetchFromGitHub, pnpm, + fetchPnpmDeps, + pnpmConfigHook, nodejs, vscode-utils, nix-update-script, @@ -22,7 +24,7 @@ let hash = "sha256-9XEv50WIG1BJenY9MswES6d72Ead2VqW5dgBr7Eu8ek="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-QHITHoaz/lzZ3Th/YPlQayFMU9rtlnAZWEYkLyBuAkc="; @@ -36,7 +38,7 @@ let nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook pnpm ]; diff --git a/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix b/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix index 5d5be77b0683..372aefec9046 100644 --- a/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix +++ b/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix @@ -3,6 +3,8 @@ stdenvNoCC, fetchFromGitHub, pnpm, + fetchPnpmDeps, + pnpmConfigHook, nodejs, vscode-utils, nix-update-script, @@ -21,7 +23,7 @@ let hash = "sha256-Dy0dd07pWsSbrO6BX7GEYf7CunXD0itaeIFRv9mQJks="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-hxgzmJD+Sl7E+ape1M1/Xl8XLtAhtht3AE45zHFctsQ="; @@ -29,7 +31,7 @@ let nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook pnpm ]; diff --git a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix index 411e2563a079..5244d4dd10ce 100644 --- a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix +++ b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix @@ -3,6 +3,8 @@ stdenvNoCC, fetchFromGitHub, pnpm, + fetchPnpmDeps, + pnpmConfigHook, nodejs, vscode-utils, nix-update-script, @@ -21,7 +23,7 @@ let hash = "sha256-YO3TxKcCDoIJeBoMGFFrHUp6lne1e84Tf1I2vHF6w1c="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-k6Bw6MlFDNPNPdaKJ7tW8wje2j9LJvREtlAWyySnOC0="; @@ -29,7 +31,7 @@ let nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook pnpm ]; diff --git a/pkgs/build-support/node/fetch-pnpm-deps/default.nix b/pkgs/build-support/node/fetch-pnpm-deps/default.nix index 5bd934bdd6ab..d3ce1787aac4 100644 --- a/pkgs/build-support/node/fetch-pnpm-deps/default.nix +++ b/pkgs/build-support/node/fetch-pnpm-deps/default.nix @@ -122,7 +122,7 @@ in --registry="$NIX_NPM_REGISTRY" \ --frozen-lockfile - # Store newer fetcherVersion in case pnpm.configHook also needs it + # Store newer fetcherVersion in case pnpmConfigHook also needs it if [[ ${toString fetcherVersion} -gt 1 ]]; then echo ${toString fetcherVersion} > $out/.fetcher-version fi diff --git a/pkgs/build-support/teleport/default.nix b/pkgs/build-support/teleport/default.nix index a975484b1a73..b2be345ecfc8 100644 --- a/pkgs/build-support/teleport/default.nix +++ b/pkgs/build-support/teleport/default.nix @@ -11,6 +11,8 @@ openssl, pkg-config, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, rustc, stdenv, xdg-utils, @@ -73,8 +75,13 @@ let hash = cargoHash; }; - pnpmDeps = pnpm_10.fetchDeps { - inherit src pname version; + pnpmDeps = fetchPnpmDeps { + inherit + src + pname + version + ; + pnpm = pnpm_10; fetcherVersion = 2; hash = pnpmHash; }; @@ -83,7 +90,8 @@ let binaryen cargo nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 rustc rustc.llvmPackages.lld rustPlatform.cargoSetupHook diff --git a/pkgs/by-name/ao/aonsoku/package.nix b/pkgs/by-name/ao/aonsoku/package.nix index d4ba656cc0ab..c3e14803bb14 100644 --- a/pkgs/by-name/ao/aonsoku/package.nix +++ b/pkgs/by-name/ao/aonsoku/package.nix @@ -5,6 +5,8 @@ cargo-tauri, nodejs, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, pkg-config, wrapGAppsHook3, openssl, @@ -12,7 +14,6 @@ glib-networking, nix-update-script, }: - rustPlatform.buildRustPackage (finalAttrs: { pname = "aonsoku"; version = "0.9.1"; @@ -25,8 +26,9 @@ rustPlatform.buildRustPackage (finalAttrs: { }; # lockfileVersion: '6.0' need old pnpm - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_8; fetcherVersion = 1; hash = "sha256-h1rcM+H2c0lk7bpGeQT5ue9bQIggrCFHkj4o7KxnH08="; }; @@ -40,7 +42,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_8.configHook + pnpmConfigHook + pnpm_8 cargo-tauri.hook pkg-config wrapGAppsHook3 diff --git a/pkgs/by-name/ap/apache-answer/package.nix b/pkgs/by-name/ap/apache-answer/package.nix index 83e41338ce27..e4e19678f1b6 100644 --- a/pkgs/by-name/ap/apache-answer/package.nix +++ b/pkgs/by-name/ap/apache-answer/package.nix @@ -2,6 +2,8 @@ buildGoModule, lib, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, fetchpatch, @@ -25,7 +27,7 @@ buildGoModule rec { sourceRoot = "${src.name}/ui"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit src version pname; sourceRoot = "${src.name}/ui"; fetcherVersion = 1; @@ -33,7 +35,8 @@ buildGoModule rec { }; nativeBuildInputs = [ - pnpm.configHook + pnpmConfigHook + pnpm nodejs ]; diff --git a/pkgs/by-name/ar/artalk/package.nix b/pkgs/by-name/ar/artalk/package.nix index 407c76243483..7421e4dafa43 100644 --- a/pkgs/by-name/ar/artalk/package.nix +++ b/pkgs/by-name/ar/artalk/package.nix @@ -4,6 +4,8 @@ fetchFromGitHub, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, installShellFiles, versionCheckHook, stdenv, @@ -28,11 +30,13 @@ let nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-QIfadS2gNPtH006O86EndY/Hx2ml2FoKfUXJF5qoluw="; }; diff --git a/pkgs/by-name/as/astro-language-server/package.nix b/pkgs/by-name/as/astro-language-server/package.nix index 3eea4d0d4c76..3799d76dcf01 100644 --- a/pkgs/by-name/as/astro-language-server/package.nix +++ b/pkgs/by-name/as/astro-language-server/package.nix @@ -3,10 +3,11 @@ stdenv, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "astro-language-server"; version = "2.16.2"; @@ -25,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { pnpm approve-builds @emmetio/css-parser ''; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -33,13 +34,15 @@ stdenv.mkDerivation (finalAttrs: { pnpmWorkspaces prePnpmInstall ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-M2Xef5yTEQCLPzzx7WGQYplTrND+DPMy1hyEuahK+kM="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; buildInputs = [ nodejs ]; diff --git a/pkgs/by-name/at/atuin-desktop/package.nix b/pkgs/by-name/at/atuin-desktop/package.nix index 601c56d7bbca..1a60e548360b 100644 --- a/pkgs/by-name/at/atuin-desktop/package.nix +++ b/pkgs/by-name/at/atuin-desktop/package.nix @@ -9,6 +9,8 @@ cargo-tauri, nodejs, pkg-config, + fetchPnpmDeps, + pnpmConfigHook, pnpm, alsa-lib, @@ -31,7 +33,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoRoot = "./."; cargoHash = "sha256-gYYmtxMWst0ZB/YzJf/0FGOedoVpMgTq5qq+3m2R7T8="; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-Tdcdghhc4cH+cYIeUy3inChgPfb1i9E7F1mpxxWoW4Q="; @@ -39,7 +41,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ cargo-tauri.hook - pnpm.configHook + pnpmConfigHook + pnpm rustPlatform.bindgenHook nodejs diff --git a/pkgs/by-name/au/autobrr/package.nix b/pkgs/by-name/au/autobrr/package.nix index b2561d8a2978..be343f2038bd 100644 --- a/pkgs/by-name/au/autobrr/package.nix +++ b/pkgs/by-name/au/autobrr/package.nix @@ -7,6 +7,8 @@ nix-update-script, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, typescript, versionCheckHook, }: @@ -27,19 +29,21 @@ let nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 typescript ]; sourceRoot = "${src.name}/web"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (autobrr-web) pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-LOY8fLGsX966MyH4w+pa9tm/5HS6LnGwd51cj8TG6Mk="; }; diff --git a/pkgs/by-name/au/autoprefixer/package.nix b/pkgs/by-name/au/autoprefixer/package.nix index 5e5549eeb96b..8958d3d958b7 100644 --- a/pkgs/by-name/au/autoprefixer/package.nix +++ b/pkgs/by-name/au/autoprefixer/package.nix @@ -3,6 +3,8 @@ stdenv, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, callPackage, nix-update-script, @@ -20,11 +22,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-xPG67b54h+KmDrCgMmTVVVnBah9L6rgjh+EWnEzzI0w="; }; diff --git a/pkgs/by-name/ba/backrest/package.nix b/pkgs/by-name/ba/backrest/package.nix index 6f3d0906dc40..f738027fb23f 100644 --- a/pkgs/by-name/ba/backrest/package.nix +++ b/pkgs/by-name/ba/backrest/package.nix @@ -7,6 +7,8 @@ libredirect, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, restic, stdenv, util-linux, @@ -30,11 +32,13 @@ let nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-vJgsU0OXyAKjUJsPOyIY8o3zfNW1BUZ5IL814wmJr3o="; }; diff --git a/pkgs/by-name/ba/bash-language-server/package.nix b/pkgs/by-name/ba/bash-language-server/package.nix index 197db43a194b..b9a85f34bfae 100644 --- a/pkgs/by-name/ba/bash-language-server/package.nix +++ b/pkgs/by-name/ba/bash-language-server/package.nix @@ -3,12 +3,13 @@ stdenvNoCC, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, makeBinaryWrapper, shellcheck, versionCheckHook, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "bash-language-server"; version = "5.6.0"; @@ -21,20 +22,22 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; pnpmWorkspaces = [ "bash-language-server" ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_10; fetcherVersion = 3; hash = "sha256-6i+1V3ZkjiJ/IXDun3JfwmfDOiemxCmAXMzS/rGT6ZU="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 makeBinaryWrapper versionCheckHook ]; diff --git a/pkgs/by-name/bl/bluesky-pds/package.nix b/pkgs/by-name/bl/bluesky-pds/package.nix index b2e0e607f392..1e40d137f770 100644 --- a/pkgs/by-name/bl/bluesky-pds/package.nix +++ b/pkgs/by-name/bl/bluesky-pds/package.nix @@ -5,6 +5,8 @@ srcOnly, python3, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, nodejs, vips, @@ -38,7 +40,8 @@ stdenv.mkDerivation (finalAttrs: { nodejs pythonEnv pkg-config - pnpm_9.configHook + pnpmConfigHook + pnpm_9 removeReferencesTo ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ @@ -48,13 +51,14 @@ stdenv.mkDerivation (finalAttrs: { # Required for `sharp` NPM dependency buildInputs = [ vips ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-4qKWkINpUHzatiMa7ZNYp1NauU2641W0jHDjmRL9ipI="; }; diff --git a/pkgs/by-name/bu/bumpp/package.nix b/pkgs/by-name/bu/bumpp/package.nix index b72fe9fdfc5a..c1a9f5cc2b97 100644 --- a/pkgs/by-name/bu/bumpp/package.nix +++ b/pkgs/by-name/bu/bumpp/package.nix @@ -3,14 +3,13 @@ stdenv, fetchFromGitHub, nodejs, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, npmHooks, versionCheckHook, nix-update-script, }: -let - pnpm = pnpm_10; -in stdenv.mkDerivation (finalAttrs: { pname = "bumpp"; version = "10.3.2"; @@ -22,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-1hGVLPogdeyWh/B2Yxfo/9YbJpFYl8ATh+QCa2VVyyk="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-y7uHDtoOjsLnNF47r4aWHYXW0ui8shhn1M0cD2FpaCg="; @@ -30,7 +29,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm npmHooks.npmInstallHook ]; diff --git a/pkgs/by-name/ca/cargo-tauri/test-app.nix b/pkgs/by-name/ca/cargo-tauri/test-app.nix index ae91d53e172f..c755d8d40dad 100644 --- a/pkgs/by-name/ca/cargo-tauri/test-app.nix +++ b/pkgs/by-name/ca/cargo-tauri/test-app.nix @@ -8,15 +8,12 @@ openssl, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, rustPlatform, webkitgtk_4_1, wrapGAppsHook4, }: - -let - pnpm = pnpm_9; -in - stdenv.mkDerivation (finalAttrs: { pname = "test-app"; inherit (cargo-tauri) version src; @@ -28,12 +25,13 @@ stdenv.mkDerivation (finalAttrs: { inherit (cargo-tauri) cargoDeps; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-gHniZv847JFrmKnTUZcgyWhFl/ovJ5IfKbbM5I21tZc="; @@ -44,7 +42,8 @@ stdenv.mkDerivation (finalAttrs: { nodejs pkg-config - pnpm.configHook + pnpmConfigHook + pnpm_9 rustPlatform.cargoCheckHook rustPlatform.cargoSetupHook wrapGAppsHook4 diff --git a/pkgs/by-name/cd/cdxgen/package.nix b/pkgs/by-name/cd/cdxgen/package.nix index 1b68370f1a0e..9119e668d10d 100644 --- a/pkgs/by-name/cd/cdxgen/package.nix +++ b/pkgs/by-name/cd/cdxgen/package.nix @@ -6,11 +6,12 @@ node-gyp, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, python3, stdenv, xcbuild, }: - stdenv.mkDerivation (finalAttrs: { pname = "cdxgen"; version = "11.10.0"; @@ -26,7 +27,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper nodejs node-gyp # required for sqlite3 bindings - pnpm_10.configHook + pnpmConfigHook + pnpm_10 python3 # required for sqlite3 bindings ] ++ lib.optional stdenv.hostPlatform.isDarwin [ @@ -34,8 +36,9 @@ stdenv.mkDerivation (finalAttrs: { cctools.libtool ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-o5pNgn+ZqaEfsWO97jXkRyPH+0pffR6TBZcF6nApWVg="; }; diff --git a/pkgs/by-name/ch/changelogen/package.nix b/pkgs/by-name/ch/changelogen/package.nix index 7078dbc42df8..df0b68bb0289 100644 --- a/pkgs/by-name/ch/changelogen/package.nix +++ b/pkgs/by-name/ch/changelogen/package.nix @@ -3,13 +3,12 @@ stdenv, fetchFromGitHub, nodejs, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, npmHooks, nix-update-script, }: -let - pnpm = pnpm_10; -in stdenv.mkDerivation (finalAttrs: { pname = "changelogen"; version = "0.6.2"; @@ -21,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-N6X9Wffl9WumCXvAt4y+vs3ZJY7NheK+O8BObmuIa/g="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-UKSIfn2iR8Ydk9ViGCgWtspZr1FjTeW49UMwTcL57UA="; @@ -29,7 +28,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm npmHooks.npmInstallHook ]; diff --git a/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix b/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix index 0fd7f14fe7c3..843c3f572a24 100644 --- a/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix +++ b/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix @@ -16,6 +16,8 @@ nodejs, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, glib, kdePackages, @@ -25,7 +27,6 @@ openssl, webkitgtk_4_1, }: - rustPlatform.buildRustPackage { inherit version src meta; pname = "${pname}-unwrapped"; @@ -35,8 +36,13 @@ rustPlatform.buildRustPackage { cargoHash = vendor-hash; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = pnpm-hash; }; @@ -94,7 +100,8 @@ rustPlatform.buildRustPackage { moreutils nodejs pkg-config - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ diff --git a/pkgs/by-name/cl/claude-code-router/package.nix b/pkgs/by-name/cl/claude-code-router/package.nix index 5d4aad31b6f4..eb6ec4a4ac3b 100644 --- a/pkgs/by-name/cl/claude-code-router/package.nix +++ b/pkgs/by-name/cl/claude-code-router/package.nix @@ -6,6 +6,8 @@ makeBinaryWrapper, nodejs_24, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, versionCheckHook, }: let @@ -28,8 +30,9 @@ buildNpmPackage' (finalAttrs: { ''; npmDeps = null; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-BLPGTbDvvI40kuXfE/p3+s9hkE0reXr7OJA6UGXN4ys="; }; @@ -37,10 +40,10 @@ buildNpmPackage' (finalAttrs: { nativeBuildInputs = [ esbuild makeBinaryWrapper - pnpm_9.configHook + pnpm_9 ]; - npmConfigHook = pnpm_9.configHook; + npmConfigHook = pnpmConfigHook; buildPhase = '' runHook preBuild @@ -76,17 +79,18 @@ buildNpmPackage' (finalAttrs: { sourceRoot = "${finalAttrs'.src.name}/ui"; npmDeps = null; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs') pname src sourceRoot; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-ZjYLUec9EADQmKfju8hMbq0y4f1TDVwjbe3yw8Gh4Ac="; }; nativeBuildInputs = [ - pnpm_9.configHook + pnpm_9 ]; - npmConfigHook = pnpm_9.configHook; + npmConfigHook = pnpmConfigHook; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/co/coc-cmake/package.nix b/pkgs/by-name/co/coc-cmake/package.nix index 74bbc83fc6f4..ba9d4484ef85 100644 --- a/pkgs/by-name/co/coc-cmake/package.nix +++ b/pkgs/by-name/co/coc-cmake/package.nix @@ -3,6 +3,8 @@ stdenv, nodejs, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, npmHooks, }: @@ -17,13 +19,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-VZRHpy0OTmoQyOEa0vIJl/VkV52r0HEtTzY1fjr6yQ0="; }; - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_8; fetcherVersion = 2; hash = "sha256-wQ9dcqY7BVXc7wpsHlYNpc7utL1+MkdTCu77Wh8+QWc="; }; @@ -32,7 +35,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_8.configHook + pnpmConfigHook + pnpm_8 ]; buildPhase = '' diff --git a/pkgs/by-name/co/concurrently/package.nix b/pkgs/by-name/co/concurrently/package.nix index cdf9061c726b..52c56d9cfe34 100644 --- a/pkgs/by-name/co/concurrently/package.nix +++ b/pkgs/by-name/co/concurrently/package.nix @@ -6,11 +6,9 @@ makeWrapper, nodejs, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, }: - -let - pnpm = pnpm_8; -in stdenv.mkDerivation (finalAttrs: { pname = "concurrently"; version = "8.2.2"; @@ -22,13 +20,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-VoyVYBOBMguFKnG2VItk1L5BbF72nO7bYJpb7adqICs="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_8; fetcherVersion = 1; hash = "sha256-F1teWIABkK0mqZcK3RdGNKmexI/C59QWSrrD1jYbHt0="; }; @@ -44,7 +43,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs - pnpm.configHook + pnpmConfigHook + pnpm_8 ]; buildPhase = '' diff --git a/pkgs/by-name/co/conventional-changelog-cli/package.nix b/pkgs/by-name/co/conventional-changelog-cli/package.nix index e00c38f09ca1..5028b5fd2620 100644 --- a/pkgs/by-name/co/conventional-changelog-cli/package.nix +++ b/pkgs/by-name/co/conventional-changelog-cli/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, makeBinaryWrapper, versionCheckHook, @@ -20,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Pgx5gM4SdSL6WCkStByA7AP2O96MjAjyeMOI+Lo2mt0="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-ZfG3F0J1hIhZlF2OadhVdbxhQrFcMYDG9gEXR04DgEI="; @@ -28,7 +30,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; diff --git a/pkgs/by-name/cs/cspell/package.nix b/pkgs/by-name/cs/cspell/package.nix index 423724ae2266..667e400d98ea 100644 --- a/pkgs/by-name/cs/cspell/package.nix +++ b/pkgs/by-name/cs/cspell/package.nix @@ -3,11 +3,12 @@ stdenv, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, gitMinimal, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "cspell"; version = "9.4.0"; @@ -21,20 +22,22 @@ stdenv.mkDerivation (finalAttrs: { pnpmWorkspaces = [ "cspell..." ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-GgcqgnrBoWu0paVSyTPfZIsGaPEH+EADBYoiZzlVrs8="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; buildInputs = [ diff --git a/pkgs/by-name/da/daed/package.nix b/pkgs/by-name/da/daed/package.nix index a6ebfd9ee257..dc72a39e9e79 100644 --- a/pkgs/by-name/da/daed/package.nix +++ b/pkgs/by-name/da/daed/package.nix @@ -1,5 +1,7 @@ { pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, stdenv, clang, @@ -25,15 +27,21 @@ let web = stdenv.mkDerivation { inherit pname version src; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-+yLpSbDzr1OV/bmUUg6drOvK1ok3cBd+RRV7Qrrlp+Q="; }; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/de/deadlock-mod-manager/package.nix b/pkgs/by-name/de/deadlock-mod-manager/package.nix index cd48373f60c2..ba2331e2c38b 100644 --- a/pkgs/by-name/de/deadlock-mod-manager/package.nix +++ b/pkgs/by-name/de/deadlock-mod-manager/package.nix @@ -5,6 +5,8 @@ cargo-tauri, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, pkg-config, wrapGAppsHook3, desktop-file-utils, @@ -23,7 +25,6 @@ fontconfig, nix-update-script, }: - rustPlatform.buildRustPackage (finalAttrs: { pname = "deadlock-mod-manager"; version = "0.11.1"; @@ -44,7 +45,8 @@ rustPlatform.buildRustPackage (finalAttrs: { rustPlatform.cargoSetupHook cargo-tauri.hook nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 pkg-config wrapGAppsHook3 ]; @@ -68,12 +70,13 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; pnpmRoot = "."; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src ; + pnpm = pnpm_9; fetcherVersion = 2; sourceRoot = "source"; hash = "sha256-MCzRZt+l2wHETOxzSatPnz5G48HjjGrOj3BVP+S7/Ss="; diff --git a/pkgs/by-name/de/deltachat-desktop/package.nix b/pkgs/by-name/de/deltachat-desktop/package.nix index 1eac6bdfa0f8..bc205240938c 100644 --- a/pkgs/by-name/de/deltachat-desktop/package.nix +++ b/pkgs/by-name/de/deltachat-desktop/package.nix @@ -10,6 +10,8 @@ nodejs, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, python3, rustPlatform, stdenv, @@ -34,7 +36,6 @@ let }; }; electron = electron_37; - pnpm = pnpm_9; in stdenv.mkDerivation (finalAttrs: { pname = "deltachat-desktop"; @@ -56,8 +57,9 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-4BAcCzPZbCjUfHTnJ98TzcfI5UnfMmGdbdvCFaQNNsk="; }; @@ -67,7 +69,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper nodejs pkg-config - pnpm.configHook + pnpmConfigHook + pnpm_9 python3 ] ++ lib.optionals stdenv.hostPlatform.isLinux [ diff --git a/pkgs/by-name/do/dorion/package.nix b/pkgs/by-name/do/dorion/package.nix index b44ae33946e9..d5e9543f1a2a 100644 --- a/pkgs/by-name/do/dorion/package.nix +++ b/pkgs/by-name/do/dorion/package.nix @@ -15,6 +15,8 @@ pkg-config, yq-go, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, webkitgtk_4_1, cargo-tauri, desktop-file-utils, @@ -52,8 +54,9 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-9zH0Coiyoz6NK2go2XVL5xYaCrXzrOMKaK+3pDXqrGs="; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-SO/9GkjNP+7IEeULCyWAp32RYIxyzgmbc8YZiTCTjF8="; }; @@ -72,7 +75,8 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 cargo-tauri.hook nodejs pkg-config diff --git a/pkgs/by-name/e-/e-search/package.nix b/pkgs/by-name/e-/e-search/package.nix index 3bebf70e99db..aeddb8a6ffd5 100644 --- a/pkgs/by-name/e-/e-search/package.nix +++ b/pkgs/by-name/e-/e-search/package.nix @@ -10,6 +10,8 @@ makeWrapper, nodejs_20, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, electron, atk, atkmm, @@ -60,8 +62,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-K4GFLUeq/IbJC3FZBgvKnZq7JrXkqe6eVGsUxxlpWF0="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; prePnpmInstall = '' export PATH=$PATH:${gitMinimal}/bin @@ -72,7 +75,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ autoPatchelfHook gobject-introspection - pnpm_10.configHook + pnpmConfigHook + pnpm_10 makeWrapper nodejs_20 ]; diff --git a/pkgs/by-name/em/emmet-language-server/package.nix b/pkgs/by-name/em/emmet-language-server/package.nix index a9a9e566d2d4..d45bea520aad 100644 --- a/pkgs/by-name/em/emmet-language-server/package.nix +++ b/pkgs/by-name/em/emmet-language-server/package.nix @@ -3,10 +3,11 @@ stdenvNoCC, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, nix-update-script, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "emmet-language-server"; version = "2.8.0"; @@ -18,15 +19,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-EY/xfrf6sGnZPbkbf9msauOoZ0h0EjLSwQC0aiS/Kco="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-sMOC5MQmJKwXZoUZnOmBy2I83SNMdrPc6WQKmeVGiCc="; }; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/en/en-croissant/package.nix b/pkgs/by-name/en/en-croissant/package.nix index 86772e48dd58..422bd7901bb3 100644 --- a/pkgs/by-name/en/en-croissant/package.nix +++ b/pkgs/by-name/en/en-croissant/package.nix @@ -5,6 +5,8 @@ fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, cargo-tauri_1, pkg-config, @@ -16,7 +18,6 @@ # webkitgtk_4_0, gst_all_1, }: - rustPlatform.buildRustPackage rec { pname = "en-croissant"; version = "0.11.1"; @@ -28,8 +29,13 @@ rustPlatform.buildRustPackage rec { hash = "sha256-EiGML3oFCJR4TZkd+FekUrJwCYe/nGdWD9mAtKKtITQ="; }; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-hvWXSegUWJvwCU5NLb2vqnl+FIWpCLxw96s9NUIgJTI="; }; @@ -41,7 +47,8 @@ rustPlatform.buildRustPackage rec { buildAndTestSubdir = cargoRoot; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 nodejs cargo-tauri_1.hook pkg-config diff --git a/pkgs/by-name/eq/equibop/package.nix b/pkgs/by-name/eq/equibop/package.nix index 932a3174d7b5..ebf7288b7524 100644 --- a/pkgs/by-name/eq/equibop/package.nix +++ b/pkgs/by-name/eq/equibop/package.nix @@ -13,6 +13,8 @@ libpulseaudio, autoPatchelfHook, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, nix-update-script, withTTS ? true, @@ -29,20 +31,22 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-wvg06YSQOZvP/NHl3WPfnI9F0+KN0cJ2CBwaZD8Xpfk="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-HQxQIMbj2xsxD1jwj/itfAW6KHxX81Eu60ouzxQDu44="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 # XXX: Equibop *does not* ship venmic as a prebuilt node module. The package # seems to build with or without this hook, but I (NotAShelf) don't have the # time to test the consequences of removing this hook. Please open a pull @@ -129,7 +133,6 @@ stdenv.mkDerivation (finalAttrs: { }; passthru = { - inherit (finalAttrs) pnpmDeps; updateScript = nix-update-script { }; }; diff --git a/pkgs/by-name/eq/equicord/package.nix b/pkgs/by-name/eq/equicord/package.nix index 061e17889e08..679831f5bf5a 100644 --- a/pkgs/by-name/eq/equicord/package.nix +++ b/pkgs/by-name/eq/equicord/package.nix @@ -4,6 +4,8 @@ lib, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, stdenv, nix-update-script, discord, @@ -27,8 +29,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-12P62UAt9eiQoGCXQGYQx0cPmankniltGqPTsys9Ves="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-gl/4+AN3+YOl3uCYholPU8jo0IayazlY987fwhtHCuk="; }; @@ -36,7 +39,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ git nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; env = { diff --git a/pkgs/by-name/et/etherpad-lite/package.nix b/pkgs/by-name/et/etherpad-lite/package.nix index e920c46785e4..49728c31cbe5 100644 --- a/pkgs/by-name/et/etherpad-lite/package.nix +++ b/pkgs/by-name/et/etherpad-lite/package.nix @@ -4,13 +4,12 @@ fetchFromGitHub, nix-update-script, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, makeWrapper, nodejs, }: -let - pnpm = pnpm_9; -in stdenv.mkDerivation (finalAttrs: { pname = "etherpad-lite"; version = "2.5.1"; @@ -29,14 +28,16 @@ stdenv.mkDerivation (finalAttrs: { ./dont-fail-on-plugins-json.patch ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-gajm1yXQPZZ/oB27HwgTEoKLzwMKsHDoo2w+mIOnJrc="; }; nativeBuildInputs = [ - pnpm.configHook + pnpmConfigHook + pnpm_9 makeWrapper ]; @@ -69,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper ${lib.getExe nodejs} $out/bin/etherpad-lite \ --inherit-argv0 \ --add-flags "--require tsx/cjs $out/lib/etherpad-lite/node_modules/ep_etherpad-lite/node/server.ts" \ - --suffix PATH : "${lib.makeBinPath [ pnpm ]}" \ + --suffix PATH : "${lib.makeBinPath [ pnpm_9 ]}" \ --set NODE_PATH "$out/lib/node_modules:$out/lib/etherpad-lite/node_modules/ep_etherpad-lite/node_modules" \ --set-default NODE_ENV production find $out/lib -xtype l -delete diff --git a/pkgs/by-name/fe/fedistar/package.nix b/pkgs/by-name/fe/fedistar/package.nix index 7b3bb421d74f..d78664d361f1 100644 --- a/pkgs/by-name/fe/fedistar/package.nix +++ b/pkgs/by-name/fe/fedistar/package.nix @@ -5,6 +5,8 @@ nix-update-script, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, rustPlatform, @@ -16,9 +18,6 @@ openssl, }: -let - pnpm = pnpm_10; -in rustPlatform.buildRustPackage (finalAttrs: { pname = "fedistar"; version = "1.11.3"; @@ -35,8 +34,9 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-ZJgyrFDtzAH3XqDdnJ27Yn+WsTMrZR2+lnkZ6bw6hzg="; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-xXVsjAXmrsOp+mXrYAxSKz4vX5JApLZ+Rh6hrYlnJDI="; }; @@ -44,8 +44,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ cargo-tauri.hook - pnpm.configHook - pnpm + pnpmConfigHook + pnpm_10 nodejs pkg-config diff --git a/pkgs/by-name/fe/feishin/package.nix b/pkgs/by-name/fe/feishin/package.nix index e73785edd2d5..d42970f8e6b6 100644 --- a/pkgs/by-name/fe/feishin/package.nix +++ b/pkgs/by-name/fe/feishin/package.nix @@ -5,7 +5,9 @@ fetchFromGitHub, electron_38, dart-sass, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, darwin, copyDesktopItems, makeDesktopItem, @@ -22,17 +24,16 @@ let }; electron = electron_38; - pnpm = pnpm_10; in buildNpmPackage { inherit pname version; inherit src; - npmConfigHook = pnpm.configHook; + npmConfigHook = pnpmConfigHook; npmDeps = null; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version @@ -44,9 +45,11 @@ buildNpmPackage { env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; - nativeBuildInputs = - lib.optionals (stdenv.hostPlatform.isLinux) [ copyDesktopItems ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.autoSignDarwinBinariesHook ]; + nativeBuildInputs = [ + pnpm + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ copyDesktopItems ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.autoSignDarwinBinariesHook ]; postPatch = '' # release/app dependencies are installed on preConfigure diff --git a/pkgs/by-name/fi/filebrowser/package.nix b/pkgs/by-name/fi/filebrowser/package.nix index 215cb2d4fa85..3c9bf2465022 100644 --- a/pkgs/by-name/fi/filebrowser/package.nix +++ b/pkgs/by-name/fi/filebrowser/package.nix @@ -4,14 +4,14 @@ buildGoModule, buildNpmPackage, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, nixosTests, }: let version = "2.44.1"; - pnpm = pnpm_9; - src = fetchFromGitHub { owner = "filebrowser"; repo = "filebrowser"; @@ -25,16 +25,18 @@ let sourceRoot = "${src.name}/frontend"; - npmConfigHook = pnpm.configHook; + nativeBuildInputs = [ pnpm_9 ]; + npmConfigHook = pnpmConfigHook; npmDeps = pnpmDeps; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-3n44BGJLdQR6uBSF09oyUzJm35/S3/ZEyZh4Wxqlfiw="; }; diff --git a/pkgs/by-name/fi/firezone-gui-client/package.nix b/pkgs/by-name/fi/firezone-gui-client/package.nix index 490621ef96b1..2c9ddac6b374 100644 --- a/pkgs/by-name/fi/firezone-gui-client/package.nix +++ b/pkgs/by-name/fi/firezone-gui-client/package.nix @@ -20,6 +20,8 @@ webkitgtk_4_1, wrapGAppsHook3, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, makeDesktopItem, copyDesktopItems, @@ -37,8 +39,9 @@ let pname = "firezone-gui-client-frontend"; inherit version src; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version; + pnpm = pnpm_9; src = "${src}/rust/gui-client"; fetcherVersion = 1; hash = "sha256-ttbTYBuUv0vyiYzrFATF4x/zngsRXjuLPfL3qW2HEe4="; @@ -48,7 +51,8 @@ let env.GITHUB_SHA = version; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 nodejs ]; diff --git a/pkgs/by-name/fi/firezone-server/package.nix b/pkgs/by-name/fi/firezone-server/package.nix index 706d21b353ab..44e7d26a8c08 100644 --- a/pkgs/by-name/fi/firezone-server/package.nix +++ b/pkgs/by-name/fi/firezone-server/package.nix @@ -5,13 +5,14 @@ beamPackages, gitMinimal, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, tailwindcss_3, esbuild, mixReleaseName ? "domain", # "domain" "web" or "api" }: - beamPackages.mixRelease rec { pname = "firezone-server-${mixReleaseName}"; version = "0-unstable-2025-08-31"; @@ -31,8 +32,9 @@ beamPackages.mixRelease rec { } }/elixir"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version; + pnpm = pnpm_9; src = "${src}/apps/web/assets"; fetcherVersion = 1; hash = "sha256-40vtQIBhJNnzdxkAOVAcPN57IuD0IB6LFxGICo68AbQ="; @@ -60,8 +62,8 @@ beamPackages.mixRelease rec { ''; nativeBuildInputs = [ + pnpmConfigHook pnpm_9 - pnpm_9.configHook nodejs ]; diff --git a/pkgs/by-name/fl/flood/package.nix b/pkgs/by-name/fl/flood/package.nix index 143d4ec1d548..09e188b689ea 100644 --- a/pkgs/by-name/fl/flood/package.nix +++ b/pkgs/by-name/fl/flood/package.nix @@ -4,9 +4,10 @@ fetchFromGitHub, nixosTests, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: - buildNpmPackage rec { pname = "flood"; version = "4.11.0"; @@ -18,11 +19,17 @@ buildNpmPackage rec { hash = "sha256-RBWDEFhLEZdC7luGFGx3qY0Hk7nM44RZgRyCWXFPh1k="; }; - npmConfigHook = pnpm_9.configHook; + nativeBuildInputs = [ pnpm_9 ]; + npmConfigHook = pnpmConfigHook; npmDeps = pnpmDeps; dontNpmPrune = true; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-MnsUTXcLMT0Q2bQ/rRD4FfJx8XP9TLiv1oTHIgnMZCQ="; }; diff --git a/pkgs/by-name/fo/folo/package.nix b/pkgs/by-name/fo/folo/package.nix index 20a2b970fe2c..d0d2e7bc09d7 100644 --- a/pkgs/by-name/fo/folo/package.nix +++ b/pkgs/by-name/fo/folo/package.nix @@ -7,6 +7,8 @@ makeWrapper, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, stdenv, }: stdenv.mkDerivation rec { @@ -23,13 +25,19 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 makeWrapper imagemagick ]; - pnpmDeps = pnpm_10.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-6I10NSmTDd/wmL/HfAgLH+G2MDfuPmrTePNDDy08nRA="; }; diff --git a/pkgs/by-name/fr/froide/package.nix b/pkgs/by-name/fr/froide/package.nix index 33102d00db7e..bd26443f82e9 100644 --- a/pkgs/by-name/fr/froide/package.nix +++ b/pkgs/by-name/fr/froide/package.nix @@ -6,6 +6,8 @@ makeWrapper, gdal, geos, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, postgresql, @@ -62,7 +64,8 @@ python.pkgs.buildPythonApplication rec { nativeBuildInputs = [ makeWrapper nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; dependencies = with python.pkgs; [ @@ -116,7 +119,7 @@ python.pkgs.buildPythonApplication rec { websockets ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src; fetcherVersion = 1; hash = "sha256-g7YX2fVXGmb3Qq9NNCb294bk4/0khcIZVSskYbE8Mdw="; diff --git a/pkgs/by-name/ga/gale/package.nix b/pkgs/by-name/ga/gale/package.nix index 0672dec667f5..9d9ae80832a5 100644 --- a/pkgs/by-name/ga/gale/package.nix +++ b/pkgs/by-name/ga/gale/package.nix @@ -7,6 +7,8 @@ jq, moreutils, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, cargo-tauri, pkg-config, @@ -17,7 +19,6 @@ openssl, webkitgtk_4_1, }: - rustPlatform.buildRustPackage (finalAttrs: { pname = "gale"; version = "1.10.0"; @@ -31,13 +32,14 @@ rustPlatform.buildRustPackage (finalAttrs: { patches = [ ./fix-frontend-backend-tauri-version-mismatch.patch ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-ILhAhpY9a50a0KKWs5Y+G3jDyWuySHw8QcOJlYePzmc="; }; @@ -54,7 +56,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ jq moreutils - pnpm_10.configHook + pnpmConfigHook + pnpm_10 nodejs cargo-tauri.hook pkg-config diff --git a/pkgs/by-name/ga/garage-webui/package.nix b/pkgs/by-name/ga/garage-webui/package.nix index ab70c5406b93..282ff20a628d 100644 --- a/pkgs/by-name/ga/garage-webui/package.nix +++ b/pkgs/by-name/ga/garage-webui/package.nix @@ -5,11 +5,10 @@ buildGoModule, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: -let - pnpm = pnpm_9; -in buildGoModule (finalAttrs: { pname = "garage-webui"; version = "1.1.0"; @@ -27,11 +26,13 @@ buildGoModule (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs') pname version src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-8eQhR/fuDFNL8W529Ev7piCaseVaFahgZJQk3AJA3ng="; }; diff --git a/pkgs/by-name/gi/gitbutler/package.nix b/pkgs/by-name/gi/gitbutler/package.nix index 707ab58cc0c3..b6d57500c051 100644 --- a/pkgs/by-name/gi/gitbutler/package.nix +++ b/pkgs/by-name/gi/gitbutler/package.nix @@ -17,7 +17,9 @@ nodejs, openssl, pkg-config, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, rust, rustPlatform, turbo, @@ -27,7 +29,6 @@ }: let - pnpm = pnpm_10; excludeSpec = spec: [ "--exclude" spec @@ -65,7 +66,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-H8YR+euwMGiGckURAWJIE9fOcu/ddJ6ENcnA1gHD9B8="; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-I55RNWP6csT08SBIFEyUp9JTC5EzQXjKIPPSxkSpg7Y="; @@ -80,7 +81,8 @@ rustPlatform.buildRustPackage (finalAttrs: { moreutils nodejs pkg-config - pnpm.configHook + pnpmConfigHook + pnpm turbo wrapGAppsHook4 yq # For `tomlq` @@ -130,7 +132,7 @@ rustPlatform.buildRustPackage (finalAttrs: { # https://github.com/gitbutlerapp/gitbutler/blob/56b64d778042d0e93fa362f808c35a7f095ab1d1/crates/gitbutler-tauri/inject-git-binaries.sh#L10C10-L10C26 TRIPLE_OVERRIDE = rust.envVars.rustHostPlatformSpec; - # `pnpm`'s `fetchDeps` and `configHook` uses a specific version of pnpm, not upstream's + # `fetchPnpmDeps` and `pnpmConfigHook` use a specific version of pnpm, not upstream's COREPACK_ENABLE_STRICT = 0; # We depend on nightly features diff --git a/pkgs/by-name/gi/gitea/package.nix b/pkgs/by-name/gi/gitea/package.nix index e1252cad2683..516469f7e006 100644 --- a/pkgs/by-name/gi/gitea/package.nix +++ b/pkgs/by-name/gi/gitea/package.nix @@ -11,6 +11,8 @@ gzip, nodejs, openssh, + fetchPnpmDeps, + pnpmConfigHook, pnpm, stdenv, sqliteSupport ? true, @@ -22,7 +24,7 @@ let pname = "gitea-frontend"; inherit (gitea) src version; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-0p7P68BvO3hv0utUbnPpHSpGLlV7F9HHmOITvJAb/ww="; @@ -30,7 +32,8 @@ let nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; buildPhase = '' diff --git a/pkgs/by-name/gi/gitify/package.nix b/pkgs/by-name/gi/gitify/package.nix index 32d3eb606ddb..148e88c12362 100644 --- a/pkgs/by-name/gi/gitify/package.nix +++ b/pkgs/by-name/gi/gitify/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, electron, makeDesktopItem, @@ -11,7 +13,6 @@ makeWrapper, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "gitify"; version = "6.14.1"; @@ -25,14 +26,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 copyDesktopItems imagemagick makeWrapper ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-LnYwUXwGm/2yx7QrMcPu32oPtRJKnuqysecwwH25QIg="; }; diff --git a/pkgs/by-name/go/goofcord/package.nix b/pkgs/by-name/go/goofcord/package.nix index 7e238de22f17..bef68c681061 100644 --- a/pkgs/by-name/go/goofcord/package.nix +++ b/pkgs/by-name/go/goofcord/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs_22, nix-update-script, electron, @@ -14,7 +16,7 @@ }: let - pnpm' = pnpm_9.override { nodejs = nodejs_22; }; + pnpm = pnpm_9.override { nodejs = nodejs_22; }; in stdenv.mkDerivation (finalAttrs: { pname = "goofcord"; @@ -28,7 +30,8 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - pnpm'.configHook + pnpmConfigHook + pnpm nodejs_22 makeShellWrapper copyDesktopItems @@ -40,8 +43,9 @@ stdenv.mkDerivation (finalAttrs: { (lib.getLib stdenv.cc.cc) ]; - pnpmDeps = pnpm'.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + inherit pnpm; fetcherVersion = 1; hash = "sha256-8dSyU9arSvISc2kDWbg/CP6L4sZjZi/Zv7TZN4ONOjQ="; }; diff --git a/pkgs/by-name/gu/gui-for-clash/package.nix b/pkgs/by-name/gu/gui-for-clash/package.nix index f63a9d08d083..2c707e31d51b 100644 --- a/pkgs/by-name/gu/gui-for-clash/package.nix +++ b/pkgs/by-name/gu/gui-for-clash/package.nix @@ -8,6 +8,8 @@ nodejs, pkg-config, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, wails, webkitgtk_4_1, makeDesktopItem, @@ -39,16 +41,18 @@ let nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-MvGLIB68itkCGsBIgAI6ak5xa5rFAJfoAwNuISPRw30="; }; diff --git a/pkgs/by-name/gu/gui-for-singbox/package.nix b/pkgs/by-name/gu/gui-for-singbox/package.nix index 3a704590eb7a..ae78f644fe55 100644 --- a/pkgs/by-name/gu/gui-for-singbox/package.nix +++ b/pkgs/by-name/gu/gui-for-singbox/package.nix @@ -8,6 +8,8 @@ nodejs, pkg-config, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, wails, webkitgtk_4_1, makeDesktopItem, @@ -39,16 +41,18 @@ let nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-MA0CNF2MTCGvsxvEpRbTFu5Diap4XkIHKnxeROkgwnU="; }; diff --git a/pkgs/by-name/he/heroic-unwrapped/package.nix b/pkgs/by-name/he/heroic-unwrapped/package.nix index 67449b132c17..668b84507ad8 100644 --- a/pkgs/by-name/he/heroic-unwrapped/package.nix +++ b/pkgs/by-name/he/heroic-unwrapped/package.nix @@ -5,6 +5,8 @@ fetchFromGitHub, # Pinned, because our FODs are not guaranteed to be stable between major versions. pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, python3, makeWrapper, @@ -34,15 +36,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-x792VA4PZleqUUgarh59JxJVXrvT95/rINYk8t9i3X0="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-F8H0eYltIJ0S8AX+2S3cR+v8dvePw09VWToVOLM8qII="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 python3 makeWrapper ]; diff --git a/pkgs/by-name/ho/homebox/package.nix b/pkgs/by-name/ho/homebox/package.nix index 67a208edbb94..3b18df552287 100644 --- a/pkgs/by-name/ho/homebox/package.nix +++ b/pkgs/by-name/ho/homebox/package.nix @@ -3,6 +3,8 @@ buildGoModule, fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, go_1_24, git, @@ -35,9 +37,10 @@ buildGoModule { preBuild = ""; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version; src = "${src}/frontend"; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-gHx4HydL33i1SqzG1PChnlWdlO5NFa5F/R5Yq3mS4ng="; }; @@ -57,8 +60,8 @@ buildGoModule { ''; nativeBuildInputs = [ + pnpmConfigHook pnpm_9 - pnpm_9.configHook nodejs ]; diff --git a/pkgs/by-name/ho/homepage-dashboard/package.nix b/pkgs/by-name/ho/homepage-dashboard/package.nix index 072fff4b2aca..ce404092e933 100644 --- a/pkgs/by-name/ho/homepage-dashboard/package.nix +++ b/pkgs/by-name/ho/homepage-dashboard/package.nix @@ -4,6 +4,8 @@ makeBinaryWrapper, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, python3, stdenv, unixtools, @@ -38,12 +40,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-T2bAN8ucCjcWhXScTI8YxtfrwK9NEfHGHIE8xJgD6Bs="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src ; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-42dT1za9M4DowBh27UYh2QDyoVoNWA/L/9lyIY5OVwM="; }; @@ -51,7 +54,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; diff --git a/pkgs/by-name/ho/homer/package.nix b/pkgs/by-name/ho/homer/package.nix index 636942e8ff8c..eb901a28eefd 100644 --- a/pkgs/by-name/ho/homer/package.nix +++ b/pkgs/by-name/ho/homer/package.nix @@ -3,12 +3,13 @@ stdenvNoCC, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, dart-sass, nix-update-script, nixosTests, }: - stdenvNoCC.mkDerivation rec { pname = "homer"; version = "25.11.1"; @@ -19,13 +20,13 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-6shFVaCtPQeZCeeswAQHgcXOwVwABNa3ljsdUG63QGo="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src - ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-TtazfRhcniA1H//C95AMH8/Pw+Rbtinlfg7dDAmSk1w="; }; @@ -33,7 +34,8 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ nodejs dart-sass - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; buildPhase = '' diff --git a/pkgs/by-name/im/immich-cli/package.nix b/pkgs/by-name/im/immich-cli/package.nix index 07c94be4aa71..1e62e6def5eb 100644 --- a/pkgs/by-name/im/immich-cli/package.nix +++ b/pkgs/by-name/im/immich-cli/package.nix @@ -6,11 +6,8 @@ makeWrapper, stdenv, versionCheckHook, + pnpmConfigHook, }: - -let - inherit (immich) pnpm; -in stdenv.mkDerivation rec { pname = "immich-cli"; version = "2.2.103"; @@ -26,8 +23,8 @@ stdenv.mkDerivation rec { jq makeWrapper nodejs - pnpm - pnpm.configHook + pnpmConfigHook + immich.pnpm ]; buildPhase = '' diff --git a/pkgs/by-name/im/immich-kiosk/package.nix b/pkgs/by-name/im/immich-kiosk/package.nix index cc8c1e1fd08a..607cbcec951b 100644 --- a/pkgs/by-name/im/immich-kiosk/package.nix +++ b/pkgs/by-name/im/immich-kiosk/package.nix @@ -4,8 +4,9 @@ fetchFromGitHub, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: - buildGoModule rec { pname = "immich-kiosk"; version = "0.28.1"; @@ -23,8 +24,13 @@ buildGoModule rec { ''; vendorHash = "sha256-5y//CdHgQjNJayNI/jzdD5WPa4XlIxMonqkPc/kJp8c="; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; sourceRoot = "${src.name}/frontend"; hash = "sha256-FThVaNUUE3QCbq0iPRCet4SnlHCCQaw3N5PThKSM1ek="; fetcherVersion = 2; @@ -35,13 +41,14 @@ buildGoModule rec { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; # Generate templ templates during vendor hash calculation - # Don't run pnpm in this phase - filter out pnpm.configHook + # Don't run pnpm in this phase - filter out pnpmConfigHook overrideModAttrs = oldAttrs: { - nativeBuildInputs = builtins.filter (drv: drv != pnpm_9.configHook) ( + nativeBuildInputs = builtins.filter (drv: drv != pnpmConfigHook) ( oldAttrs.nativeBuildInputs or [ ] ); preBuild = '' diff --git a/pkgs/by-name/im/immich/package.nix b/pkgs/by-name/im/immich/package.nix index d2ee584fba9b..3779de8b8056 100644 --- a/pkgs/by-name/im/immich/package.nix +++ b/pkgs/by-name/im/immich/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm_10, python3, nodejs, @@ -122,9 +124,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-K/E5bQraTlvNx1Cd0bKyY6ZhesafGccqVZ9Mu6Q0pZ0="; }; - pnpmDeps = pnpm.fetchDeps { - pname = "immich"; - inherit (finalAttrs) version src; + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) pname version src; + inherit pnpm; fetcherVersion = 2; hash = "sha256-i0JHKjsQcdDUrDLK0hJGOvVRh/aOyvms/k+6WEPbyh8="; }; @@ -139,8 +141,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs pkg-config - pnpm_10 - pnpm_10.configHook + pnpmConfigHook + pnpm python3 makeWrapper node-gyp # for building node_modules/sharp from source @@ -239,8 +241,8 @@ stdenv.mkDerivation (finalAttrs: { binaryen extism-js nodejs + pnpmConfigHook pnpm - pnpm.configHook ]; buildPhase = '' @@ -268,8 +270,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs + pnpmConfigHook pnpm - pnpm.configHook ]; buildPhase = '' diff --git a/pkgs/by-name/it/it-tools/package.nix b/pkgs/by-name/it/it-tools/package.nix index de26c725090e..17229c9aa69f 100644 --- a/pkgs/by-name/it/it-tools/package.nix +++ b/pkgs/by-name/it/it-tools/package.nix @@ -4,6 +4,8 @@ fetchFromGitHub, nodejs, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, }: stdenv.mkDerivation rec { pname = "it-tools"; @@ -18,11 +20,17 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ nodejs - pnpm_8.configHook + pnpmConfigHook + pnpm_8 ]; - pnpmDeps = pnpm_8.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_8; fetcherVersion = 1; hash = "sha256-m1eXBE5rakcq8NGnPC9clAAvNJQrN5RuSQ94zfgGZxw="; }; diff --git a/pkgs/by-name/je/jellyseerr/package.nix b/pkgs/by-name/je/jellyseerr/package.nix index 400e2e0703ad..130986325b0b 100644 --- a/pkgs/by-name/je/jellyseerr/package.nix +++ b/pkgs/by-name/je/jellyseerr/package.nix @@ -1,6 +1,8 @@ { lib, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, stdenv, makeWrapper, @@ -27,8 +29,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-a3lhQ33Zb+vSu1sQjuqO3bITiQEIOVyFTecmJAhJROU="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + inherit pnpm; fetcherVersion = 1; hash = "sha256-3df72m/ARgfelBLE6Bhi8+ThHytowVOBL2Ndk7auDgg="; }; @@ -40,7 +43,8 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.distutils nodejs makeWrapper - pnpm.configHook + pnpmConfigHook + pnpm ]; preBuild = '' diff --git a/pkgs/by-name/ka/karakeep/package.nix b/pkgs/by-name/ka/karakeep/package.nix index b37ee0665520..68efb29bd3d6 100644 --- a/pkgs/by-name/ka/karakeep/package.nix +++ b/pkgs/by-name/ka/karakeep/package.nix @@ -13,10 +13,9 @@ srcOnly, removeReferencesTo, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: -let - pnpm = pnpm_9; -in stdenv.mkDerivation (finalAttrs: { pname = "karakeep"; version = "0.29.1"; @@ -44,15 +43,17 @@ stdenv.mkDerivation (finalAttrs: { python3 nodejs node-gyp - pnpm.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ gnutar ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version; + pnpm = pnpm_9; # We need to pass the patched source code, so pnpm sees the patched version src = stdenv.mkDerivation { diff --git a/pkgs/by-name/le/legcord/package.nix b/pkgs/by-name/le/legcord/package.nix index 0a56c3f14dee..2e8e83411832 100644 --- a/pkgs/by-name/le/legcord/package.nix +++ b/pkgs/by-name/le/legcord/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, electron, @@ -25,7 +27,8 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - pnpm.configHook + pnpmConfigHook + pnpm nodejs # we use a script wrapper here for environment variable expansion at runtime # https://github.com/NixOS/nixpkgs/issues/172583 @@ -42,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.getLib stdenv.cc.cc) ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 1; hash = "sha256-D+GPJn3qpIax+YNcLqLX71bobDdfQXyGiJ6b5PiJqC4="; diff --git a/pkgs/by-name/me/memos/package.nix b/pkgs/by-name/me/memos/package.nix index e7bf782eb759..2d71c9363951 100644 --- a/pkgs/by-name/me/memos/package.nix +++ b/pkgs/by-name/me/memos/package.nix @@ -5,6 +5,8 @@ nix-update-script, nodejs, lib, + fetchPnpmDeps, + pnpmConfigHook, pnpm, buf, cacert, @@ -58,7 +60,7 @@ let memos-web = stdenvNoCC.mkDerivation (finalAttrs: { pname = "memos-web"; inherit version src; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; sourceRoot = "${finalAttrs.src.name}/web"; fetcherVersion = 1; @@ -67,7 +69,8 @@ let pnpmRoot = "web"; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; preBuild = '' cp -r {${memos-protobuf-gen},.}/web/src/types/proto diff --git a/pkgs/by-name/me/metacubexd/package.nix b/pkgs/by-name/me/metacubexd/package.nix index 7c04d30ffe5f..920baf9a1429 100644 --- a/pkgs/by-name/me/metacubexd/package.nix +++ b/pkgs/by-name/me/metacubexd/package.nix @@ -4,6 +4,8 @@ nix-update-script, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, stdenv, }: stdenv.mkDerivation (finalAttrs: { @@ -18,12 +20,14 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 nodejs ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-v+wuYGK0WEgrPNBLuLnoO/uDEk6AqJTlNJZHTpEb4mc="; }; diff --git a/pkgs/by-name/mg/mgrep/package.nix b/pkgs/by-name/mg/mgrep/package.nix index a72cea1eafb1..724013aea761 100644 --- a/pkgs/by-name/mg/mgrep/package.nix +++ b/pkgs/by-name/mg/mgrep/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, npmHooks, nix-update-script, @@ -19,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-jGzOwonT4nq0nMUBBp4Y7BvwTerHLzkTMss9glM+uP4="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-oq7jczTfm6CgLAUYftBlAYK6MFELDRfXCFtjsLWV8mU="; @@ -27,7 +29,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm npmHooks.npmInstallHook ]; diff --git a/pkgs/by-name/mi/misskey/package.nix b/pkgs/by-name/mi/misskey/package.nix index 533058bab6c9..c6a90bde5c48 100644 --- a/pkgs/by-name/mi/misskey/package.nix +++ b/pkgs/by-name/mi/misskey/package.nix @@ -6,6 +6,8 @@ gitUpdater, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, makeWrapper, python3, bash, @@ -14,7 +16,6 @@ writeShellScript, xcbuild, }: - stdenv.mkDerivation (finalAttrs: { pname = "misskey"; version = "2025.7.0"; @@ -33,20 +34,22 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 makeWrapper python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; # https://nixos.org/manual/nixpkgs/unstable/#javascript-pnpm - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-5yuM56sLDSo4M5PDl3gUZOdSexW1YjfYBR3BJMqNHzU="; }; @@ -121,7 +124,6 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru = { - inherit (finalAttrs) pnpmDeps; tests.misskey = nixosTests.misskey; updateScript = gitUpdater { }; }; diff --git a/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix b/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix index dc8892497a67..ef37bffd807d 100644 --- a/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix +++ b/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix @@ -14,6 +14,8 @@ openssl, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, replaceVars, runCommand, rustPlatform, @@ -24,7 +26,6 @@ let gradle = gradle_8.override { java = jdk; }; jdk = jdk11; - pnpm = pnpm_9; in rustPlatform.buildRustPackage (finalAttrs: { @@ -72,8 +73,9 @@ rustPlatform.buildRustPackage (finalAttrs: { data = ./deps.json; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-1tDegt8OgG0ZhvNGpkYQR+PuX/xI287OFk4MGAXUKZQ="; }; @@ -85,7 +87,8 @@ rustPlatform.buildRustPackage (finalAttrs: { gradle nodejs pkg-config - pnpm.configHook + pnpmConfigHook + pnpm_9 ] ++ lib.optional stdenv.hostPlatform.isDarwin makeBinaryWrapper; diff --git a/pkgs/by-name/mo/moonfire-nvr/package.nix b/pkgs/by-name/mo/moonfire-nvr/package.nix index ee6f608a6493..add676149742 100644 --- a/pkgs/by-name/mo/moonfire-nvr/package.nix +++ b/pkgs/by-name/mo/moonfire-nvr/package.nix @@ -10,6 +10,8 @@ moonfire-nvr, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: let @@ -27,10 +29,12 @@ let sourceRoot = "${src.name}/ui"; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; sourceRoot = "${finalAttrs.src.name}/ui"; fetcherVersion = 1; hash = "sha256-7fMhUFlV5lz+A9VG8IdWoc49C2CTdLYQlEgBSBqJvtw="; diff --git a/pkgs/by-name/mo/moonlight/package.nix b/pkgs/by-name/mo/moonlight/package.nix index 98bb355dd3fa..7efaeffdd986 100644 --- a/pkgs/by-name/mo/moonlight/package.nix +++ b/pkgs/by-name/mo/moonlight/package.nix @@ -2,6 +2,8 @@ lib, stdenv, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs_22, fetchFromGitHub, nix-update-script, @@ -23,11 +25,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs_22 - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; buildInputs = [ nodejs_22 ]; diff --git a/pkgs/by-name/n8/n8n/package.nix b/pkgs/by-name/n8/n8n/package.nix index 033f3b070709..a37d1277db9b 100644 --- a/pkgs/by-name/n8/n8n/package.nix +++ b/pkgs/by-name/n8/n8n/package.nix @@ -5,6 +5,8 @@ fetchFromGitHub, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, python3, node-gyp, cctools, @@ -14,7 +16,6 @@ libpq, makeWrapper, }: - stdenv.mkDerivation (finalAttrs: { pname = "n8n"; version = "1.123.5"; @@ -26,14 +27,16 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-B1YL/kGYKHKZ8l50UGDiGwkYedvlYobW9QZzx2FwjDY="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-JlW08N9LuwmWqZsXmu4uMAHO0cb8XtOmtER7Bt/Vg8A="; }; nativeBuildInputs = [ - pnpm_10.configHook + pnpmConfigHook + pnpm_10 python3 # required to build sqlite3 bindings node-gyp # required to build sqlite3 bindings makeWrapper diff --git a/pkgs/by-name/ni/ni/package.nix b/pkgs/by-name/ni/ni/package.nix index 8696bc359a05..c02bbef5f50f 100644 --- a/pkgs/by-name/ni/ni/package.nix +++ b/pkgs/by-name/ni/ni/package.nix @@ -3,14 +3,13 @@ stdenv, fetchFromGitHub, nodejs, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, npmHooks, versionCheckHook, nix-update-script, }: -let - pnpm = pnpm_10; -in stdenv.mkDerivation (finalAttrs: { pname = "ni"; version = "28.0.0"; @@ -22,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ka+p789qFCyFDFiNQYtcwhihCB05Bbw6/6dgBrR00xg="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-0hxjX5bSqeOU9QNqusUd8L/0hoGsq4LQCr+9+5zrsaA="; @@ -30,7 +29,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm npmHooks.npmInstallHook ]; diff --git a/pkgs/by-name/nr/nrm/package.nix b/pkgs/by-name/nr/nrm/package.nix index dda095ebb145..dd379fe186e7 100644 --- a/pkgs/by-name/nr/nrm/package.nix +++ b/pkgs/by-name/nr/nrm/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, makeBinaryWrapper, nix-update-script, @@ -21,11 +23,12 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-PENYS5xO2LwT3+TGl/wU2r0ALEj/JQfbkpf/0MJs0uw="; diff --git a/pkgs/by-name/oc/ocis/package.nix b/pkgs/by-name/oc/ocis/package.nix index c00d6bb28f4c..2746044094ea 100644 --- a/pkgs/by-name/oc/ocis/package.nix +++ b/pkgs/by-name/oc/ocis/package.nix @@ -6,6 +6,8 @@ callPackage, gnumake, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, ocis, }: @@ -44,11 +46,17 @@ buildGoModule rec { nativeBuildInputs = [ gnumake nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; sourceRoot = "${src.name}/services/idp"; fetcherVersion = 1; hash = "sha256-gNlN+u/bobnTsXrsOmkDcWs67D/trH3inT5AVQs3Brs="; diff --git a/pkgs/by-name/oc/ocis/web.nix b/pkgs/by-name/oc/ocis/web.nix index 73ae19b50409..3d07c279b267 100644 --- a/pkgs/by-name/oc/ocis/web.nix +++ b/pkgs/by-name/oc/ocis/web.nix @@ -3,6 +3,8 @@ stdenvNoCC, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, }: stdenvNoCC.mkDerivation rec { @@ -18,7 +20,8 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' @@ -34,8 +37,13 @@ stdenvNoCC.mkDerivation rec { runHook postInstall ''; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-3Erva6srdkX1YQ727trx34Ufx524nz19MUyaDQToz6M="; }; diff --git a/pkgs/by-name/op/opencloud/idp-web.nix b/pkgs/by-name/op/opencloud/idp-web.nix index bd481954f09d..7ccd783a0563 100644 --- a/pkgs/by-name/op/opencloud/idp-web.nix +++ b/pkgs/by-name/op/opencloud/idp-web.nix @@ -3,9 +3,10 @@ lib, opencloud, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "opencloud-idp-web"; @@ -13,8 +14,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { pnpmRoot = "services/idp"; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; sourceRoot = "${finalAttrs.src.name}/${finalAttrs.pnpmRoot}"; fetcherVersion = 1; hash = "sha256-NW7HK2B9h5JprK3JcIGi/OHcyoa5VTs/P0s3BZr+4FU="; @@ -22,7 +24,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; buildPhase = '' diff --git a/pkgs/by-name/op/opencloud/web.nix b/pkgs/by-name/op/opencloud/web.nix index 56364d920659..8dddf3e58737 100644 --- a/pkgs/by-name/op/opencloud/web.nix +++ b/pkgs/by-name/op/opencloud/web.nix @@ -4,9 +4,10 @@ fetchFromGitHub, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "opencloud-web"; version = "4.3.0"; @@ -18,15 +19,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-oLGmktFeDykpaK8YqMoIl7RrkPvHw2EULkbn1XDS/Yk="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-+oCoK6u46oPVtsvUEksuFFtjogirN370IsM33H5oOA4="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; buildPhase = '' diff --git a/pkgs/by-name/op/openlist/frontend.nix b/pkgs/by-name/op/openlist/frontend.nix index 35f1c20c5d9f..1dc442995efd 100644 --- a/pkgs/by-name/op/openlist/frontend.nix +++ b/pkgs/by-name/op/openlist/frontend.nix @@ -6,8 +6,9 @@ nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "openlist-frontend"; version = "4.1.8"; @@ -27,11 +28,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-bPI8g7wN9k1fBzj+F9wRDw7XPGT6DKDllbyOmUKi7HY="; }; diff --git a/pkgs/by-name/ov/overlayed/package.nix b/pkgs/by-name/ov/overlayed/package.nix index 6aa60f449e22..7749ffcb8158 100644 --- a/pkgs/by-name/ov/overlayed/package.nix +++ b/pkgs/by-name/ov/overlayed/package.nix @@ -9,13 +9,14 @@ nodejs, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, libayatana-appindicator, libsoup_3, openssl, webkitgtk_4_1, }: - rustPlatform.buildRustPackage rec { pname = "overlayed"; version = "0.6.2"; @@ -32,8 +33,9 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-6wN4nZQWrY0J5E+auj17B3iJ/84hzBXYA/bJsX/N5pk="; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-+yyxoodcDfqJ2pkosd6sMk77/71RDsGthedo1Oigwto="; }; @@ -44,7 +46,8 @@ rustPlatform.buildRustPackage rec { moreutils nodejs pkg-config - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix index 4adac1514c08..07099e82ff24 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -17,6 +17,8 @@ qpdf, tesseract5, unpaper, + fetchPnpmDeps, + pnpmConfigHook, pnpm, poppler-utils, liberation_ttf, @@ -77,7 +79,7 @@ let src = src + "/src-ui"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-pG7olcBq5P52CvZYLqUjb+RwxjbQbSotlS50pvgm7WQ="; @@ -87,7 +89,8 @@ let node-gyp nodejs_20 pkg-config - pnpm.configHook + pnpmConfigHook + pnpm python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/by-name/pa/parca/package.nix b/pkgs/by-name/pa/parca/package.nix index ec351d04c20c..7af0dcc3e798 100644 --- a/pkgs/by-name/pa/parca/package.nix +++ b/pkgs/by-name/pa/parca/package.nix @@ -5,6 +5,8 @@ lib, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, stdenv, }: let @@ -22,8 +24,9 @@ let pname = "parca-ui"; src = "${parca-src}/ui"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src version; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-3egNSL62TyuRg6JDMMptjT0vLlwYdDLnJC2rYzaPE1w="; }; @@ -31,7 +34,8 @@ let nativeBuildInputs = [ faketty nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; # faketty is required to work around a bug in nx. diff --git a/pkgs/by-name/pg/pgrok/package.nix b/pkgs/by-name/pg/pgrok/package.nix index 6ee47544a65d..d432451da45a 100644 --- a/pkgs/by-name/pg/pgrok/package.nix +++ b/pkgs/by-name/pg/pgrok/package.nix @@ -5,6 +5,8 @@ nix-update-script, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: let @@ -28,11 +30,17 @@ buildGoModule { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - env.pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + env.pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-o6wxO8EGRmhcYggJnfxDkH+nbt+isc8bfHji8Hu9YKg="; }; diff --git a/pkgs/by-name/pi/piped/package.nix b/pkgs/by-name/pi/piped/package.nix index 8bb53c6754c7..8786972253c1 100644 --- a/pkgs/by-name/pi/piped/package.nix +++ b/pkgs/by-name/pi/piped/package.nix @@ -2,10 +2,14 @@ lib, buildNpmPackage, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, unstableGitUpdater, }: - +let + pnpm = pnpm_9; +in buildNpmPackage rec { pname = "piped"; version = "0-unstable-2024-11-04"; @@ -17,7 +21,8 @@ buildNpmPackage rec { hash = "sha256-o3TwE0s5rim+0VKR+oW9Rv3/eQRf2dgRQK4xjZ9pqCE="; }; - npmConfigHook = pnpm_9.configHook; + nativeBuildInputs = [ pnpm_9 ]; + npmConfigHook = pnpmConfigHook; installPhase = '' runHook preInstall @@ -26,8 +31,13 @@ buildNpmPackage rec { ''; npmDeps = pnpmDeps; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-WtZfRZFRV9I1iBlAoV69GGFjdiQhTSBG/iiEadPVcys="; }; diff --git a/pkgs/by-name/po/pocket-id/package.nix b/pkgs/by-name/po/pocket-id/package.nix index 59d1cc2223f8..79db3ac2f2fe 100644 --- a/pkgs/by-name/po/pocket-id/package.nix +++ b/pkgs/by-name/po/pocket-id/package.nix @@ -5,10 +5,11 @@ stdenvNoCC, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nixosTests, nix-update-script, }: - buildGo125Module (finalAttrs: { pname = "pocket-id"; version = "1.16.0"; @@ -49,10 +50,12 @@ buildGo125Module (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-drXGcUHP7J7keGra7/x1tr9Pfh/wjzmtUE1yAybYXLQ="; }; diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index 70e5aa123821..db4f12a9c91f 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -7,6 +7,8 @@ electron_39, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, makeDesktopItem, darwin, nix-update-script, @@ -60,8 +62,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-08boCPsuT09OileZUWhB8awXWHrlJzoER2Bx0WXeOHU="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-nBjAmXzjR0qGCM91UAonQKP0NG7+DXImueSbhbnMK/k="; }; @@ -76,7 +79,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems diff --git a/pkgs/by-name/po/porn-vault/package.nix b/pkgs/by-name/po/porn-vault/package.nix index 501d8fa8311c..a46669ed76ce 100644 --- a/pkgs/by-name/po/porn-vault/package.nix +++ b/pkgs/by-name/po/porn-vault/package.nix @@ -3,6 +3,8 @@ rustPlatform, lib, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, stdenvNoCC, nodejs_22, ffmpeg, @@ -35,7 +37,6 @@ let mainProgram = "izzy"; }; }; - pnpm = pnpm_9; nodejs = nodejs_22; in stdenvNoCC.mkDerivation (finalAttrs: { @@ -49,15 +50,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-wQ3dqLc0l2BmLGDYrbWxX2mPwO/Tqz0fY/fOQTEUv24="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-Xr9tRiP1hW+aFs9FnPvPkeJ0/LtJI57cjWY5bZQaRTQ="; }; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 makeWrapper ]; diff --git a/pkgs/by-name/pr/prisma/package.nix b/pkgs/by-name/pr/prisma/package.nix index 0290165eb27b..366cf7a06e91 100644 --- a/pkgs/by-name/pr/prisma/package.nix +++ b/pkgs/by-name/pr/prisma/package.nix @@ -4,13 +4,14 @@ stdenv, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, prisma-engines, jq, makeWrapper, moreutils, callPackage, }: - stdenv.mkDerivation (finalAttrs: { pname = "prisma"; version = "6.19.0"; @@ -24,14 +25,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 jq makeWrapper moreutils ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-9v30vhclD+sPcui/VG8dwaC8XGU6QFs/Gu8rjjoQy/w="; }; diff --git a/pkgs/by-name/qu/quantframe/package.nix b/pkgs/by-name/qu/quantframe/package.nix index dd896003c073..bd3a1ff595b6 100644 --- a/pkgs/by-name/qu/quantframe/package.nix +++ b/pkgs/by-name/qu/quantframe/package.nix @@ -5,6 +5,8 @@ cargo-tauri, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, pkg-config, glib-networking, openssl, @@ -36,8 +38,9 @@ rustPlatform.buildRustPackage (finalAttrs: { patches = [ ./0001-disable-telemetry.patch ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-ncoxliXnLxWEXL1Z7ixOULI/uYkxmfLiDWu1tDSRsrM="; }; @@ -49,7 +52,8 @@ rustPlatform.buildRustPackage (finalAttrs: { pkg-config wrapGAppsHook3 nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ diff --git a/pkgs/by-name/qu/qui/package.nix b/pkgs/by-name/qu/qui/package.nix index 5da73191efe6..9048776cac10 100644 --- a/pkgs/by-name/qu/qui/package.nix +++ b/pkgs/by-name/qu/qui/package.nix @@ -6,6 +6,8 @@ nix-update-script, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, typescript, versionCheckHook, }: @@ -25,19 +27,21 @@ buildGoModule (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 typescript ]; sourceRoot = "${finalAttrs.src.name}/web"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs') pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-6brOEC1UAxjIZB4pujhA624jKTTxfZQiiz/PzqooPeA="; }; diff --git a/pkgs/by-name/re/readest/package.nix b/pkgs/by-name/re/readest/package.nix index f2eb973350e9..d9ddf4780089 100644 --- a/pkgs/by-name/re/readest/package.nix +++ b/pkgs/by-name/re/readest/package.nix @@ -1,6 +1,8 @@ { rustPlatform, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, cargo-tauri, nodejs, pkg-config, @@ -17,7 +19,6 @@ jq, gst_all_1, }: - rustPlatform.buildRustPackage (finalAttrs: { pname = "readest"; version = "0.9.95"; @@ -37,8 +38,9 @@ rustPlatform.buildRustPackage (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/apps/readest-app"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-hYwkPqePFPEdqZ3w0mNvNEypsVL1PKv29LFk7b11zkg="; }; @@ -64,7 +66,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ cargo-tauri.hook nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 pkg-config wrapGAppsHook3 autoPatchelfHook diff --git a/pkgs/by-name/re/renovate/package.nix b/pkgs/by-name/re/renovate/package.nix index b71845c0721b..ddeda9d02960 100644 --- a/pkgs/by-name/re/renovate/package.nix +++ b/pkgs/by-name/re/renovate/package.nix @@ -5,6 +5,8 @@ makeWrapper, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, python3, testers, xcbuild, @@ -12,7 +14,6 @@ nix-update-script, yq-go, }: - stdenv.mkDerivation (finalAttrs: { pname = "renovate"; version = "42.57.1"; @@ -32,14 +33,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 python3 yq-go ] ++ lib.optional stdenv.hostPlatform.isDarwin xcbuild; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-WTShVxWhdAPbITBaSw6BrqSwSJ9pc2imB+ovjhTT6qY="; }; diff --git a/pkgs/by-name/rm/rmfakecloud/package.nix b/pkgs/by-name/rm/rmfakecloud/package.nix index 4e595ee530b6..30f2153b2ed9 100644 --- a/pkgs/by-name/rm/rmfakecloud/package.nix +++ b/pkgs/by-name/rm/rmfakecloud/package.nix @@ -4,10 +4,11 @@ buildGoModule, enableWebui ? true, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, nixosTests, }: - buildGoModule rec { pname = "rmfakecloud"; version = "0.0.26"; @@ -24,10 +25,15 @@ buildGoModule rec { # if using webUI build it # use env because of https://github.com/NixOS/nixpkgs/issues/358844 env.pnpmRoot = "ui"; - env.pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + env.pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; sourceRoot = "${src.name}/ui"; pnpmLock = "${src}/ui/pnpm-lock.yaml"; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-uywmHN9HWKi0CaqTg9uEio2XCu6ap9v2xtbodW/6b4Q="; }; @@ -42,7 +48,8 @@ buildGoModule rec { ''; nativeBuildInputs = lib.optionals enableWebui [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; # ... or don't embed it in the server diff --git a/pkgs/by-name/rq/rquickshare/package.nix b/pkgs/by-name/rq/rquickshare/package.nix index 27e1afea57ec..b64182d66359 100644 --- a/pkgs/by-name/rq/rquickshare/package.nix +++ b/pkgs/by-name/rq/rquickshare/package.nix @@ -10,6 +10,8 @@ openssl, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, protobuf, rustPlatform, stdenv, @@ -39,13 +41,14 @@ rustPlatform.buildRustPackage rec { ''; pnpmRoot = "app/main"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src patches ; + pnpm = pnpm_9; postPatch = "cd ${pnpmRoot}"; fetcherVersion = 1; hash = "sha256-VbdMaIEL1e+0U+ny4qbk1Mmkuc3cahKakKKYowCBK5Q="; @@ -64,7 +67,8 @@ rustPlatform.buildRustPackage rec { # Setup pnpm nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 protobuf ] diff --git a/pkgs/by-name/rs/rsshub/package.nix b/pkgs/by-name/rs/rsshub/package.nix index 5cb181fe4873..69130eda875c 100644 --- a/pkgs/by-name/rs/rsshub/package.nix +++ b/pkgs/by-name/rs/rsshub/package.nix @@ -4,12 +4,11 @@ makeBinaryWrapper, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, replaceVars, stdenv, }: -let - pnpm = pnpm_9; -in stdenv.mkDerivation (finalAttrs: { pname = "rsshub"; version = "0-unstable-2025-11-28"; @@ -28,8 +27,9 @@ stdenv.mkDerivation (finalAttrs: { ./0002-fix-network-call.patch ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-zTsJZnhX7xUOsKST6S3TQUV8M1Tewcs9fZgrDSf5ba8="; }; @@ -37,7 +37,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/sa/satisfactorymodmanager/package.nix b/pkgs/by-name/sa/satisfactorymodmanager/package.nix index dadfa5a94938..d3d5514a0f1c 100644 --- a/pkgs/by-name/sa/satisfactorymodmanager/package.nix +++ b/pkgs/by-name/sa/satisfactorymodmanager/package.nix @@ -5,6 +5,8 @@ fetchFromGitHub, nodejs_20, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, wails, wrapGAppsHook3, glib-networking, @@ -42,7 +44,8 @@ buildGoModule rec { ''; nativeBuildInputs = [ - pnpm_8.configHook + pnpmConfigHook + pnpm_8 wails' wrapGAppsHook3 copyDesktopItems @@ -55,8 +58,13 @@ buildGoModule rec { # we use env because buildGoModule doesn't forward all normal attrs # this is pretty hacky env = { - pnpmDeps = pnpm_8.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_8; sourceRoot = "${src.name}/frontend"; fetcherVersion = 1; hash = "sha256-OP+3zsNlvqLFwvm2cnBd2bj2Kc3EghQZE3hpotoqqrQ="; diff --git a/pkgs/by-name/se/serve/package.nix b/pkgs/by-name/se/serve/package.nix index 342c0f367280..bfbfc44ddb32 100644 --- a/pkgs/by-name/se/serve/package.nix +++ b/pkgs/by-name/se/serve/package.nix @@ -5,8 +5,9 @@ makeWrapper, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: - buildNpmPackage (finalAttrs: { pname = "serve"; version = "14.2.4"; @@ -19,13 +20,15 @@ buildNpmPackage (finalAttrs: { }; npmDeps = null; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-IJMu0XHwEn2TZP/He79FFGl/PeXOCTD51lIgmImpyKo="; }; - npmConfigHook = pnpm_9.configHook; + nativeBuildInputs = [ pnpm_9 ]; + npmConfigHook = pnpmConfigHook; dontNpmBuild = true; diff --git a/pkgs/by-name/sf/sftool-gui/package.nix b/pkgs/by-name/sf/sftool-gui/package.nix index c8624f85b52e..9ffcca6a8fed 100644 --- a/pkgs/by-name/sf/sftool-gui/package.nix +++ b/pkgs/by-name/sf/sftool-gui/package.nix @@ -7,6 +7,8 @@ nodejs, libgudev, systemdLibs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, openssl, nix-update-script, @@ -29,7 +31,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-XAU3ru+TxUo99OQwcXNLJ8gzBOZUkC8UCAApz7M/QTM="; cargoRoot = "src-tauri"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { fetcherVersion = 2; inherit (finalAttrs) pname version src; hash = "sha256-gamgu9koBf+JLDswi3eGXRZybF8UiYE8CoifpQCgLaI="; @@ -37,7 +39,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ cargo-tauri.hook - pnpm.configHook + pnpmConfigHook + pnpm nodejs pkg-config ] diff --git a/pkgs/by-name/sh/shadcn/package.nix b/pkgs/by-name/sh/shadcn/package.nix index 8b6cf91e5228..915dc71f8e0b 100644 --- a/pkgs/by-name/sh/shadcn/package.nix +++ b/pkgs/by-name/sh/shadcn/package.nix @@ -5,10 +5,11 @@ makeBinaryWrapper, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, testers, shadcn, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "shadcn"; version = "2.0.3"; @@ -21,13 +22,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; pnpmWorkspaces = [ "shadcn" ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-/80LJm65ZRqyfhsNqGl83bsI2wjgVkvrA6Ij4v8rtoQ="; }; @@ -35,7 +37,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/sh/sharkey/package.nix b/pkgs/by-name/sh/sharkey/package.nix index fad377864486..efd59ed434db 100644 --- a/pkgs/by-name/sh/sharkey/package.nix +++ b/pkgs/by-name/sh/sharkey/package.nix @@ -15,11 +15,12 @@ pixman, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, python3, vips, xcbuild, }: - stdenv.mkDerivation (finalAttrs: { pname = "sharkey"; version = "2025.4.4"; @@ -33,8 +34,9 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-34X8oJGkGXB9y7W4MquUkv8vY5yq2RoGIUCbjYppkIU="; }; @@ -43,7 +45,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper nodejs pkg-config - pnpm_9.configHook + pnpmConfigHook + pnpm_9 python3 ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/by-name/sh/shopify-cli/package.nix b/pkgs/by-name/sh/shopify-cli/package.nix index dc3ed41f84bd..a707c6a21b5a 100644 --- a/pkgs/by-name/sh/shopify-cli/package.nix +++ b/pkgs/by-name/sh/shopify-cli/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, faketty, nodejs, @@ -20,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-wEddzW5/+qdtNTxdUs7YEA5vk6/KjrVOgWvIeo0o2ww="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-JhyZpkrp78FECH6UKYYuhWF2w/mYW1BQG5FIsWh5GRE="; @@ -29,7 +31,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ faketty nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix index 7d6063b28799..cedd3d933f1d 100644 --- a/pkgs/by-name/si/signal-desktop/package.nix +++ b/pkgs/by-name/si/signal-desktop/package.nix @@ -3,6 +3,8 @@ lib, nodejs_22, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, electron_39, python3, makeWrapper, @@ -66,8 +68,9 @@ let inherit version; src = src + "/sticker-creator"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src version; + inherit pnpm; fetcherVersion = 1; hash = "sha256-m/JxsKnVhcya7dUz1MBMQKwEdqoV3xQiGOoT4egh3K4="; }; @@ -75,7 +78,8 @@ let strictDeps = true; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; buildPhase = '' @@ -98,7 +102,8 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeWrapper copyDesktopItems python3 @@ -124,13 +129,14 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail "\''${process.versions.electron}" "`jq -r '.devDependencies.electron' < package.json`" ''; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + inherit pnpm; fetcherVersion = 1; hash = if withAppleEmojis then diff --git a/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix b/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix index 7e6f7ebd25a3..30baac157cb5 100644 --- a/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix +++ b/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix @@ -3,6 +3,8 @@ lib, fetchFromGitHub, pnpm, + fetchPnpmDeps, + pnpmConfigHook, nodejs, rustPlatform, cargo, @@ -20,8 +22,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-70kObW6jYzaquMrj20VMTQg/rDWqIu8o2/m7S3mUZB8="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + inherit pnpm; # may be different than top-level pnpm fetcherVersion = 1; hash = "sha256-regaYG+SDvIgdnHQVR1GG1A1FSBXpzFfLuyTEdMt1kQ="; }; @@ -36,7 +39,8 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm rustPlatform.cargoSetupHook cargo dump_syms diff --git a/pkgs/by-name/si/siyuan/package.nix b/pkgs/by-name/si/siyuan/package.nix index 5624ed00b36c..d13778f968c4 100644 --- a/pkgs/by-name/si/siyuan/package.nix +++ b/pkgs/by-name/si/siyuan/package.nix @@ -7,6 +7,8 @@ pandoc, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, electron, makeWrapper, makeDesktopItem, @@ -16,8 +18,6 @@ }: let - pnpm = pnpm_9; - platformIds = { "x86_64-linux" = "linux"; "aarch64-linux" = "linux-arm64"; @@ -84,12 +84,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 makeWrapper copyDesktopItems ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -97,6 +98,7 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot postPatch ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-bteZZ9sgYLLvOPSVbqm9E0Hb5x1UdWMu8DtpQHGjbPU="; }; diff --git a/pkgs/by-name/sk/sketchybar-app-font/package.nix b/pkgs/by-name/sk/sketchybar-app-font/package.nix index e304a4106e22..a3b517410dce 100644 --- a/pkgs/by-name/sk/sketchybar-app-font/package.nix +++ b/pkgs/by-name/sk/sketchybar-app-font/package.nix @@ -2,11 +2,12 @@ fetchFromGitHub, lib, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, stdenvNoCC, nodejs, nix-update-script, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "sketchybar-app-font"; version = "2.0.49"; @@ -18,15 +19,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-Dsp7cv9+g8PDunDnTGnWF4z88SmlJYErfWWylU9mAag="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-NGAgueJ+cuK/csjdf94KNklu+Xf91BHoWKVgEctX6eA="; }; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/sl/slimevr/package.nix b/pkgs/by-name/sl/slimevr/package.nix index 1c9b6e87f278..a6be9663fc6a 100644 --- a/pkgs/by-name/sl/slimevr/package.nix +++ b/pkgs/by-name/sl/slimevr/package.nix @@ -7,6 +7,8 @@ slimevr-server, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, rustPlatform, cargo-tauri, wrapGAppsHook3, @@ -18,7 +20,6 @@ libayatana-appindicator, udevCheckHook, }: - rustPlatform.buildRustPackage rec { pname = "slimevr"; version = "18.1.0"; @@ -36,16 +37,18 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-X5IgWZlkvsstMN3YS4r+NJl6RVfREfZqKUrfsrUPQuU="; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { pname = "${pname}-pnpm-deps"; inherit version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-ExjEAr38GX2iZThVj3C3N/9mPgf0Bs7J5OAwtDdmn6I="; }; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 cargo-tauri.hook pkg-config wrapGAppsHook3 @@ -89,7 +92,7 @@ rustPlatform.buildRustPackage rec { ''; # solarxr needs to be installed after compiling its Typescript files. This isn't - # done the first time, because `pnpm_9.configHook` ignores `package.json` scripts. + # done the first time, because `pnpmConfigHook` ignores `package.json` scripts. preBuild = '' pnpm --filter solarxr-protocol build ''; diff --git a/pkgs/by-name/sp/splayer/package.nix b/pkgs/by-name/sp/splayer/package.nix index 365061b56d0b..6949878a5fee 100644 --- a/pkgs/by-name/sp/splayer/package.nix +++ b/pkgs/by-name/sp/splayer/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, electron, makeWrapper, @@ -22,16 +24,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-7guh5KJ9RbYCiifH0ERXbIXxoJDxanUAHAf/zux7yU4="; }; - pnpm = pnpm_10; - - pnpmDeps = finalAttrs.pnpm.fetchDeps { - inherit (finalAttrs) pname version src; + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) + pname + version + src + ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-3t9Qx+1OQwqVvzgYssP8azGG/PNSJkrG614wQh0W4WQ="; }; nativeBuildInputs = [ - finalAttrs.pnpm.configHook + pnpmConfigHook + pnpm_10 nodejs makeWrapper copyDesktopItems diff --git a/pkgs/by-name/st/stylelint-lsp/package.nix b/pkgs/by-name/st/stylelint-lsp/package.nix index b7e4d9dad204..ede68327e562 100644 --- a/pkgs/by-name/st/stylelint-lsp/package.nix +++ b/pkgs/by-name/st/stylelint-lsp/package.nix @@ -3,10 +3,11 @@ lib, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, stdenvNoCC, nix-update-script, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "stylelint-lsp"; version = "2.0.1"; @@ -23,11 +24,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-PVA6sXbiuxqvi9u3sPoeVIJSSpSbFQHQQnTFO3w31WE="; }; diff --git a/pkgs/by-name/sv/svelte-check/package.nix b/pkgs/by-name/sv/svelte-check/package.nix index 99cbb21e53b0..db3b2bfdb053 100644 --- a/pkgs/by-name/sv/svelte-check/package.nix +++ b/pkgs/by-name/sv/svelte-check/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, makeBinaryWrapper, @@ -20,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmWorkspaces = [ "svelte-check..." ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -33,7 +35,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; diff --git a/pkgs/by-name/sv/svelte-language-server/package.nix b/pkgs/by-name/sv/svelte-language-server/package.nix index 523dba7c1e10..c0c89f5b63c8 100644 --- a/pkgs/by-name/sv/svelte-language-server/package.nix +++ b/pkgs/by-name/sv/svelte-language-server/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, makeBinaryWrapper, @@ -20,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmWorkspaces = [ "svelte-language-server..." ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -33,7 +35,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; diff --git a/pkgs/by-name/sy/synchrony/package.nix b/pkgs/by-name/sy/synchrony/package.nix index 21ed6c385e09..6ae8a3244c62 100644 --- a/pkgs/by-name/sy/synchrony/package.nix +++ b/pkgs/by-name/sy/synchrony/package.nix @@ -4,11 +4,12 @@ fetchFromGitHub, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, fetchurl, runCommand, }: - stdenv.mkDerivation (finalAttrs: { pname = "synchrony"; version = "2.4.5"; @@ -22,11 +23,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-+hS4UK7sncCxv6o5Yl72AeY+LSGLnUTnKosAYB6QsP0="; }; diff --git a/pkgs/by-name/sy/syncyomi/package.nix b/pkgs/by-name/sy/syncyomi/package.nix index 21a7e6bc5211..32ba628f6774 100644 --- a/pkgs/by-name/sy/syncyomi/package.nix +++ b/pkgs/by-name/sy/syncyomi/package.nix @@ -5,9 +5,10 @@ buildGoModule, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, esbuild, }: - buildGoModule rec { pname = "syncyomi"; version = "1.1.2"; @@ -26,20 +27,22 @@ buildGoModule rec { inherit src version; sourceRoot = "${finalAttrs.src.name}/web"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-edcZIqshnvM3jJpZWIR/UncI0VCMLq26h/n3VvV/384="; }; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; env.ESBUILD_BINARY_PATH = lib.getExe ( diff --git a/pkgs/by-name/ta/tabby-agent/package.nix b/pkgs/by-name/ta/tabby-agent/package.nix index 2aebd67b86a0..fe2fe29fcfe2 100644 --- a/pkgs/by-name/ta/tabby-agent/package.nix +++ b/pkgs/by-name/ta/tabby-agent/package.nix @@ -5,6 +5,8 @@ nix-update-script, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, wrapGAppsHook3, }: stdenv.mkDerivation (finalAttrs: { @@ -19,7 +21,8 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 wrapGAppsHook3 ]; @@ -46,8 +49,9 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-SiJJxRzmKQxqw3UESN7q+3qkU1nK+7z6K5RpIMRRces="; }; diff --git a/pkgs/by-name/ta/tailwindcss-language-server/package.nix b/pkgs/by-name/ta/tailwindcss-language-server/package.nix index e1bfc8baaf33..22201196087c 100644 --- a/pkgs/by-name/ta/tailwindcss-language-server/package.nix +++ b/pkgs/by-name/ta/tailwindcss-language-server/package.nix @@ -4,9 +4,10 @@ fetchFromGitHub, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "tailwindcss-language-server"; version = "0.14.28"; @@ -18,19 +19,21 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-jds6Wq4rcR4wXonZ1v9JITiEc4gflT0sTc3KUSBCMFc="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-1F4DeqJWJs3L1hDzNn7PJr9sSBv2TcN8QfV8/pwAKuU="; }; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ diff --git a/pkgs/by-name/ta/taler-wallet-core/package.nix b/pkgs/by-name/ta/taler-wallet-core/package.nix index 313bd567b98b..4639706d1da3 100644 --- a/pkgs/by-name/ta/taler-wallet-core/package.nix +++ b/pkgs/by-name/ta/taler-wallet-core/package.nix @@ -9,6 +9,8 @@ removeReferencesTo, nodejs_20, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, python3, gitMinimal, jq, @@ -48,14 +50,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ customPython nodejs_20 - pnpm_9.configHook + pnpmConfigHook + pnpm_9 gitMinimal jq zip ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-pLe5smsXdzSBgz/OYNO5FVEI2L6y/p+jMxEkzqUaX34="; }; diff --git a/pkgs/by-name/ta/taze/package.nix b/pkgs/by-name/ta/taze/package.nix index 602332bcf7f6..99c765af724a 100644 --- a/pkgs/by-name/ta/taze/package.nix +++ b/pkgs/by-name/ta/taze/package.nix @@ -4,13 +4,12 @@ fetchFromGitHub, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, npmHooks, versionCheckHook, nix-update-script, }: -let - pnpm = pnpm_9; -in stdenv.mkDerivation (finalAttrs: { pname = "taze"; version = "19.9.2"; @@ -22,15 +21,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-6VH1j2v9gySalq6OXL1WzEApcaoE1VxHdrZtYv2xKZk="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-SV8dHPydTOz/cbOY3p4npp0uMjh3hSXH9ZNk4BtHb4w="; }; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 npmHooks.npmInstallHook ]; diff --git a/pkgs/by-name/te/textlint/package.nix b/pkgs/by-name/te/textlint/package.nix index 904b04dcb604..279c11080103 100644 --- a/pkgs/by-name/te/textlint/package.nix +++ b/pkgs/by-name/te/textlint/package.nix @@ -5,6 +5,8 @@ makeWrapper, nodejs-slim, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, versionCheckHook, runCommand, textlint, @@ -25,7 +27,6 @@ textlint-rule-unexpanded-acronym, textlint-rule-write-good, }: - stdenv.mkDerivation (finalAttrs: { pname = "textlint"; version = "15.2.1"; @@ -49,13 +50,14 @@ stdenv.mkDerivation (finalAttrs: { ./remove-overrides.patch ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-TyKtH4HjCDTydVd/poG05Yh5nRSfcrSPzFLEE3Oq2uo="; }; @@ -63,7 +65,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs-slim - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/ts/tsx/package.nix b/pkgs/by-name/ts/tsx/package.nix index e17dabd445a2..2101461f2154 100644 --- a/pkgs/by-name/ts/tsx/package.nix +++ b/pkgs/by-name/ts/tsx/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs_22, versionCheckHook, }: @@ -17,15 +19,21 @@ stdenv.mkDerivation rec { hash = "sha256-wdv2oqJNc6U0Fyv4jT+0LUcYaDfodHk1vQZGMdyFF/E="; }; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-57KDZ9cHb7uqnypC0auIltmYMmIhs4PWyf0HTRWEFiU="; }; nativeBuildInputs = [ nodejs_22 - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ diff --git a/pkgs/by-name/ty/typespec/package.nix b/pkgs/by-name/ty/typespec/package.nix index 2a06e30892ea..dd33b6964e95 100644 --- a/pkgs/by-name/ty/typespec/package.nix +++ b/pkgs/by-name/ty/typespec/package.nix @@ -5,6 +5,8 @@ makeWrapper, nix-update-script, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, versionCheckHook, }: @@ -26,11 +28,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; pnpmWorkspaces = [ workspace ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version diff --git a/pkgs/by-name/um/umami/package.nix b/pkgs/by-name/um/umami/package.nix index e8c7c978287a..45ce1bcab642 100644 --- a/pkgs/by-name/um/umami/package.nix +++ b/pkgs/by-name/um/umami/package.nix @@ -6,7 +6,9 @@ makeWrapper, nixosTests, nodejs, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, prisma, prisma-engines, openssl, @@ -18,7 +20,6 @@ }: let sources = lib.importJSON ./sources.json; - pnpm = pnpm_10; geocities = stdenvNoCC.mkDerivation { pname = "umami-geocities"; @@ -77,7 +78,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; src = fetchFromGitHub { @@ -87,7 +89,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-rkOD52suE6bihJqKvMdIvqHRIcWhSxXzUkCfmdNbC40="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version diff --git a/pkgs/by-name/ve/vencord/package.nix b/pkgs/by-name/ve/vencord/package.nix index 230f911d40f1..3fc05a8b92c4 100644 --- a/pkgs/by-name/ve/vencord/package.nix +++ b/pkgs/by-name/ve/vencord/package.nix @@ -7,6 +7,8 @@ nix-update, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, stdenv, writeShellScript, discord, @@ -15,7 +17,6 @@ discord-development, buildWebExtension ? false, }: - stdenv.mkDerivation (finalAttrs: { pname = "vencord"; version = "1.13.9"; @@ -35,8 +36,9 @@ stdenv.mkDerivation (finalAttrs: { ''; pnpmDeps = - (pnpm_10.fetchDeps { + (fetchPnpmDeps { inherit (finalAttrs) pname src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-M9yZxBtuZg5KwG2Sli+f6Ionwccq7F7tI8/FnP1iObA="; }).overrideAttrs @@ -45,7 +47,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ git nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; env = { diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix index b31f5a78d051..b72a7346ab3c 100644 --- a/pkgs/by-name/ve/vesktop/package.nix +++ b/pkgs/by-name/ve/vesktop/package.nix @@ -14,6 +14,8 @@ libpulseaudio, autoPatchelfHook, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, nix-update-script, withTTS ? true, @@ -33,20 +35,22 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ZFAsyH+5duKerZissOR/lESLetqqEMLk86msLlQO1xU="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-7fYD4lTSLCMOa+CqGlL45Mjw6qMfIJddPcRF5/dGGrk="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ] ++ lib.optionals stdenv.hostPlatform.isLinux [ # vesktop uses venmic, which is a shipped as a prebuilt node module diff --git a/pkgs/by-name/vi/vikunja/package.nix b/pkgs/by-name/vi/vikunja/package.nix index 89200906e53b..cde985c5b1fb 100644 --- a/pkgs/by-name/vi/vikunja/package.nix +++ b/pkgs/by-name/vi/vikunja/package.nix @@ -3,7 +3,9 @@ fetchFromGitHub, stdenv, nodejs, - pnpm, + pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, buildGoModule, mage, writeShellScriptBin, @@ -28,7 +30,7 @@ let ]; sourceRoot = "${finalAttrs.src.name}/frontend"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -36,13 +38,15 @@ let src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-94ZlywOZYmW/NsvE0dtEA81MeBWGUrJsBXTUauuOmZM="; }; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 ]; doCheck = true; diff --git a/pkgs/by-name/vo/voicevox/package.nix b/pkgs/by-name/vo/voicevox/package.nix index 5763fc217fd5..f18c692ba22a 100644 --- a/pkgs/by-name/vo/voicevox/package.nix +++ b/pkgs/by-name/vo/voicevox/package.nix @@ -11,16 +11,15 @@ makeWrapper, moreutils, nodejs, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, _7zz, electron, voicevox-engine, }: -let - pnpm = pnpm_10; -in stdenv.mkDerivation (finalAttrs: { pname = "voicevox"; version = "0.25.0"; @@ -46,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { jq "del(.packageManager) | .version = \"$version\"" package.json | sponge package.json ''; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -72,7 +71,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper moreutils nodejs - pnpm.configHook + pnpmConfigHook + pnpm ] ++ lib.optionals stdenv.hostPlatform.isLinux [ copyDesktopItems diff --git a/pkgs/by-name/vt/vtsls/package.nix b/pkgs/by-name/vt/vtsls/package.nix index 60e3e3a6803f..440b76ccb985 100644 --- a/pkgs/by-name/vt/vtsls/package.nix +++ b/pkgs/by-name/vt/vtsls/package.nix @@ -6,9 +6,10 @@ gitMinimal, gitSetupHook, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "vtsls"; version = "0.2.9"; @@ -26,20 +27,22 @@ stdenv.mkDerivation (finalAttrs: { # patches are applied with git during build gitMinimal gitSetupHook - pnpm_8.configHook + pnpmConfigHook + pnpm_8 ]; buildInputs = [ nodejs_22 ]; pnpmWorkspaces = [ "@vtsls/language-server" ]; - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pnpmWorkspaces pname src version ; + pnpm = pnpm_8; fetcherVersion = 1; hash = "sha256-SdqeTYRH60CyU522+nBo0uCDnzxDP48eWBAtGTL/pqg="; }; diff --git a/pkgs/by-name/vu/vue-language-server/package.nix b/pkgs/by-name/vu/vue-language-server/package.nix index 7277fdda6491..314dfbca2e4e 100644 --- a/pkgs/by-name/vu/vue-language-server/package.nix +++ b/pkgs/by-name/vu/vue-language-server/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, nix-update-script, @@ -18,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-cizb5nm1udYssh4EcWEWU22sZJP5so+oiYe8yaPqO98="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 1; hash = "sha256-urnzAHrhuqw/7UwryNnR/BCMyxbzGXKUx0PQ+oAd27o="; @@ -26,7 +28,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; diff --git a/pkgs/by-name/we/wealthfolio/package.nix b/pkgs/by-name/we/wealthfolio/package.nix index 9c72251fd98d..2959a2bdeeab 100644 --- a/pkgs/by-name/we/wealthfolio/package.nix +++ b/pkgs/by-name/we/wealthfolio/package.nix @@ -10,12 +10,13 @@ openssl, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, rustPlatform, webkitgtk_4_1, wrapGAppsHook3, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "wealthfolio"; version = "1.2.3"; @@ -27,8 +28,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-bp8BxJp/Ga9Frqyvl76Fh9AfSEKv3W+P1ND9zqeMXhg="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) src pname version; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-imExQiPl6sjYD//p788dGYEn+DRs9H8l9sGmCdl5Cic="; }; @@ -52,7 +54,8 @@ stdenv.mkDerivation (finalAttrs: { moreutils nodejs pkg-config - pnpm_9.configHook + pnpmConfigHook + pnpm_9 rustPlatform.cargoSetupHook wrapGAppsHook3 ]; diff --git a/pkgs/by-name/wo/wox/package.nix b/pkgs/by-name/wo/wox/package.nix index 2c794d504d4c..46e6827680f8 100644 --- a/pkgs/by-name/wo/wox/package.nix +++ b/pkgs/by-name/wo/wox/package.nix @@ -6,6 +6,8 @@ keybinder3, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, python3Packages, writableTmpDirAsHomeHook, buildGoModule, @@ -64,16 +66,18 @@ let nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-OyXYuUCvT9I5xusouoBG9CX4Efl+aTZAYSkOBVDzQVs="; }; diff --git a/pkgs/by-name/wr/wrangler/package.nix b/pkgs/by-name/wr/wrangler/package.nix index 794b0d93fcfc..12f26578b864 100644 --- a/pkgs/by-name/wr/wrangler/package.nix +++ b/pkgs/by-name/wr/wrangler/package.nix @@ -5,6 +5,8 @@ makeWrapper, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, autoPatchelfHook, cacert, llvmPackages, @@ -26,13 +28,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-aDBKdpAoeVmKRvgNfQ9UrwpoeRG+WWHJ9pu1jrnxA0M="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src postPatch ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-TiaMBbx3diKkyYWD0tbqnLwvvjF4LfL/GhlONJ0iUH4="; }; @@ -59,7 +62,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 jq moreutils ] diff --git a/pkgs/by-name/za/zammad/package.nix b/pkgs/by-name/za/zammad/package.nix index c38c37a4f85b..0e4e73f2d83e 100644 --- a/pkgs/by-name/za/zammad/package.nix +++ b/pkgs/by-name/za/zammad/package.nix @@ -13,6 +13,8 @@ moreutils, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, cacert, valkey, dataDir ? "/var/lib/zammad", @@ -70,7 +72,8 @@ stdenvNoCC.mkDerivation { nativeBuildInputs = [ valkey postgresql - pnpm_9.configHook + pnpmConfigHook + pnpm_9 nodejs procps cacert @@ -78,8 +81,9 @@ stdenvNoCC.mkDerivation { env.RAILS_ENV = "production"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-mfdzb/LXQYL8kaQpWi9wD3OOroOOonDlJrhy9Dwl1no"; diff --git a/pkgs/by-name/za/zashboard/package.nix b/pkgs/by-name/za/zashboard/package.nix index ee7901d6c84c..f4021dbc853e 100644 --- a/pkgs/by-name/za/zashboard/package.nix +++ b/pkgs/by-name/za/zashboard/package.nix @@ -3,10 +3,11 @@ stdenv, fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "zashboard"; version = "1.108.0"; @@ -19,12 +20,14 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 nodejs ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-0qoyN46DDdj9vy7qMRGtNrWKZVsBRv22NQBhB7sz1+U="; }; diff --git a/pkgs/by-name/ze/zenn-cli/package.nix b/pkgs/by-name/ze/zenn-cli/package.nix index d01bf284ec02..f8e8cf443630 100644 --- a/pkgs/by-name/ze/zenn-cli/package.nix +++ b/pkgs/by-name/ze/zenn-cli/package.nix @@ -5,8 +5,13 @@ makeWrapper, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, testers, }: +let + pnpm = pnpm_10; +in stdenv.mkDerivation (finalAttrs: { pname = "zenn-cli"; version = "0.2.10"; @@ -20,19 +25,21 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 makeWrapper ]; pnpmWorkspaces = [ "zenn-cli..." ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-WXsS5/J08n/dWV5MbyX4vK7j1mfiUoLdzwmzyqoX3FA="; }; diff --git a/pkgs/by-name/zi/zigbee2mqtt/package.nix b/pkgs/by-name/zi/zigbee2mqtt/package.nix index f3f9618156ff..390da59ecb47 100644 --- a/pkgs/by-name/zi/zigbee2mqtt/package.nix +++ b/pkgs/by-name/zi/zigbee2mqtt/package.nix @@ -5,15 +5,13 @@ nodejs, npmHooks, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, systemdMinimal, nixosTests, nix-update-script, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal, }: - -let - pnpm = pnpm_9; -in stdenv.mkDerivation (finalAttrs: { pname = "zigbee2mqtt"; version = "2.7.1"; @@ -25,8 +23,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-aKLgp8/BkxBu2lQwFeG4VhjzN9/X8sYuhILXjUreZBQ="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-XHDSjjYt/wbCdafLQ73dxDD+1ClbFtI7NejS9h5SNmE="; }; @@ -34,7 +33,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs npmHooks.npmInstallHook - pnpm.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = lib.optionals withSystemd [ diff --git a/pkgs/by-name/zi/zipline/package.nix b/pkgs/by-name/zi/zipline/package.nix index ba65f44c4cc1..e2925570451d 100644 --- a/pkgs/by-name/zi/zipline/package.nix +++ b/pkgs/by-name/zi/zipline/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs_24, makeWrapper, prisma-engines, @@ -46,8 +48,9 @@ stdenv.mkDerivation (finalAttrs: { ''; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-i5unHz7Hs9zvnjgLwHJaoFdM2z/5ucXZG8eouko1Res="; }; @@ -58,7 +61,8 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ - pnpm_10.configHook + pnpmConfigHook + pnpm_10 nodejs_24 makeWrapper # for sharp build: diff --git a/pkgs/development/python-modules/django-filingcabinet/default.nix b/pkgs/development/python-modules/django-filingcabinet/default.nix index da154d8c7422..ac426b332d98 100644 --- a/pkgs/development/python-modules/django-filingcabinet/default.nix +++ b/pkgs/development/python-modules/django-filingcabinet/default.nix @@ -29,6 +29,8 @@ poppler-utils, pytest-playwright, playwright-driver, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, markdown, @@ -60,7 +62,8 @@ buildPythonPackage rec { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; dependencies = [ @@ -92,7 +95,7 @@ buildPythonPackage rec { #annotate = [ fcdocs-annotate ]; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src; fetcherVersion = 1; hash = "sha256-kvLV/pCX/wQHG0ttrjSro7/CoQ5K1T0aFChafQOwvNw="; diff --git a/pkgs/development/python-modules/gradio/default.nix b/pkgs/development/python-modules/gradio/default.nix index 634bfc6c0021..03872f6ecd5f 100644 --- a/pkgs/development/python-modules/gradio/default.nix +++ b/pkgs/development/python-modules/gradio/default.nix @@ -15,6 +15,8 @@ zip, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, # dependencies setuptools, @@ -72,7 +74,6 @@ vega-datasets, writableTmpDirAsHomeHook, }: - buildPythonPackage rec { pname = "gradio"; version = "5.49.1"; @@ -85,8 +86,13 @@ buildPythonPackage rec { hash = "sha256-tfjyu2yl+2ndPZWrsSrVf8qv2eqpU5ZJHVqM9saJVt4="; }; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-XnCx34nbX+essVfXJlxvYB9/lnolAkF81Jp6dAOqr8E="; }; @@ -106,7 +112,8 @@ buildPythonPackage rec { nativeBuildInputs = [ zip nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; build-system = [ diff --git a/pkgs/development/python-modules/yt-dlp-ejs/default.nix b/pkgs/development/python-modules/yt-dlp-ejs/default.nix index cd4f11303a3d..156b6cd48f8b 100644 --- a/pkgs/development/python-modules/yt-dlp-ejs/default.nix +++ b/pkgs/development/python-modules/yt-dlp-ejs/default.nix @@ -5,6 +5,8 @@ hatch-vcs, hatchling, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, }: @@ -20,7 +22,7 @@ buildPythonPackage rec { hash = "sha256-o6qf4rfj42mCyvCBb+wyJmZKg3Q+ojsqbCcBfIJnTPg="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version @@ -37,7 +39,8 @@ buildPythonPackage rec { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; pythonImportsCheck = [ "yt_dlp_ejs" ]; diff --git a/pkgs/development/tools/continuous-integration/woodpecker/webui.nix b/pkgs/development/tools/continuous-integration/woodpecker/webui.nix index b39f29bfb867..65dd8518fe04 100644 --- a/pkgs/development/tools/continuous-integration/woodpecker/webui.nix +++ b/pkgs/development/tools/continuous-integration/woodpecker/webui.nix @@ -3,6 +3,8 @@ stdenv, callPackage, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, }: let @@ -14,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${common.src.name}/web"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; sourceRoot = "${common.src.name}/web"; fetcherVersion = 2; @@ -23,7 +25,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; buildPhase = '' diff --git a/pkgs/development/tools/pnpm/generic.nix b/pkgs/development/tools/pnpm/generic.nix index e200d8debcd4..5d7c7be33574 100644 --- a/pkgs/development/tools/pnpm/generic.nix +++ b/pkgs/development/tools/pnpm/generic.nix @@ -3,6 +3,7 @@ stdenvNoCC, writeScript, fetchPnpmDeps, + pnpmConfigHook, fetchurl, installShellFiles, nodejs, @@ -11,7 +12,6 @@ version, hash, buildPackages, - pnpmConfigHook, }: let majorVersion = lib.versions.major version; diff --git a/pkgs/servers/authelia/default.nix b/pkgs/servers/authelia/default.nix index 428fdb199f6c..8674cc2b00da 100644 --- a/pkgs/servers/authelia/default.nix +++ b/pkgs/servers/authelia/default.nix @@ -2,13 +2,23 @@ lib, stdenv, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, fetchFromGitHub, buildGoModule, installShellFiles, callPackage, nixosTests, - authelia-web ? callPackage ./web.nix { inherit nodejs pnpm fetchFromGitHub; }, + authelia-web ? callPackage ./web.nix { + inherit + nodejs + fetchPnpmDeps + pnpmConfigHook + pnpm + fetchFromGitHub + ; + }, }: let diff --git a/pkgs/servers/authelia/web.nix b/pkgs/servers/authelia/web.nix index fcad0e1de466..9ae3faf4c9ba 100644 --- a/pkgs/servers/authelia/web.nix +++ b/pkgs/servers/authelia/web.nix @@ -1,6 +1,8 @@ { stdenv, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, fetchFromGitHub, }: @@ -21,16 +23,18 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + inherit pnpm; # This may be different than pkgs.pnpm fetcherVersion = 1; hash = pnpmDepsHash; }; diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix index 91d365b514d5..874e39ee50a5 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix @@ -2,6 +2,8 @@ lib, stdenvNoCC, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, }: @@ -17,14 +19,15 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-aV4dMt79t9ZZm+Z08odSONf/ghow4U+/aryk2+GJZvw="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 1; hash = "sha256-gfjRgq75hKxgfOn0wnWIzcFcdWVe7PZ4z8YHxLTCsjo="; }; nativeBuildInputs = [ - pnpm.configHook + pnpmConfigHook + pnpm nodejs ]; diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index f1663f7831d8..d01fea8b7dde 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -40,6 +40,8 @@ rustc, cargo, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, svgo, nodejs, jq, @@ -299,9 +301,10 @@ let pname = "discourse-assets"; inherit version src; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { pname = "discourse-assets"; inherit version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-npRKX5Lr2QrPD8OFBysDl30exP+FTnjMxFeR/Gv0Z0I="; }; @@ -316,7 +319,8 @@ let jq moreutils nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; outputs = [ diff --git a/pkgs/servers/web-apps/lemmy/ui.nix b/pkgs/servers/web-apps/lemmy/ui.nix index 6b4294db9a32..072baf48648e 100644 --- a/pkgs/servers/web-apps/lemmy/ui.nix +++ b/pkgs/servers/web-apps/lemmy/ui.nix @@ -4,6 +4,8 @@ libsass, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, nixosTests, vips, @@ -28,7 +30,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ @@ -37,8 +40,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { ]; extraBuildInputs = [ libsass ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = pinData.uiPNPMDepsHash; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e651b36d1f30..408cf272f429 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1476,7 +1476,6 @@ with pkgs; authelia = callPackage ../servers/authelia { buildGoModule = buildGo124Module; - pnpm = pnpm_10; }; authentik-outposts = recurseIntoAttrs (callPackages ../by-name/au/authentik/outposts.nix { }); @@ -3935,8 +3934,6 @@ with pkgs; pythonPackages = python3Packages; }; - vikunja = callPackage ../by-name/vi/vikunja/package.nix { pnpm = pnpm_9; }; - vimpager = callPackage ../tools/misc/vimpager { }; vimpager-latest = callPackage ../tools/misc/vimpager/latest.nix { }; @@ -12496,9 +12493,7 @@ with pkgs; youtube-dl-light = with python3Packages; toPythonApplication youtube-dl-light; - youtube-music = callPackage ../applications/audio/youtube-music { - pnpm = pnpm_10; - }; + youtube-music = callPackage ../applications/audio/youtube-music { }; yt-dlp-light = yt-dlp.override { atomicparsleySupport = false; From e7dd455b9ded56d7ad97f523a7acfe4c88dbf5da Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Wed, 10 Dec 2025 12:25:26 +0100 Subject: [PATCH 3/7] pnpm: add warning for deprecated fetcher and configHook attributes Deprecate package-level pnpm tooling in favor of top-level attributes. This doesn't cause any rebuilds. Signed-off-by: Sefa Eyeoglu --- pkgs/development/tools/pnpm/generic.nix | 29 ++++++++++++++++--------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/pkgs/development/tools/pnpm/generic.nix b/pkgs/development/tools/pnpm/generic.nix index 5d7c7be33574..35bf64af696e 100644 --- a/pkgs/development/tools/pnpm/generic.nix +++ b/pkgs/development/tools/pnpm/generic.nix @@ -76,16 +76,25 @@ stdenvNoCC.mkDerivation (finalAttrs: { in { fetchDeps = - { ... }@args: - fetchPnpmDeps args - // { - pnpm = pnpm'; - }; - configHook = pnpmConfigHook.overrideAttrs (prevAttrs: { - propagatedBuildInputs = prevAttrs.propagatedBuildInputs or [ ] ++ [ - pnpm' - ]; - }); + lib.warn + "pnpm.fetchDeps: The package attribute is deprecated. Use the top-level fetchPnpmDeps attribute instead" + ( + { ... }@args: + fetchPnpmDeps args + // { + pnpm = pnpm'; + } + ); + configHook = + lib.warn + "pnpm.configHook: The package attribue is deprecated. Use the top-level pnpmConfigHook attribute instead" + ( + pnpmConfigHook.overrideAttrs (prevAttrs: { + propagatedBuildInputs = prevAttrs.propagatedBuildInputs or [ ] ++ [ + pnpm' + ]; + }) + ); inherit majorVersion; tests.version = lib.optionalAttrs withNode ( From 63cdea53595d89771ea544783ef89dbeb414094b Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Mon, 15 Dec 2025 14:51:18 +0100 Subject: [PATCH 4/7] fetchPnpmDeps: allow passing existing derivation args Previously, users had to add hacks to add additional nativeBuildInputs entries to the fetcher. This way we allow users to append nativeBuildInputs, impureEnvVars and also merge potential passthru attributes. This might cause rebuilds. Signed-off-by: Sefa Eyeoglu --- pkgs/build-support/node/fetch-pnpm-deps/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/node/fetch-pnpm-deps/default.nix b/pkgs/build-support/node/fetch-pnpm-deps/default.nix index d3ce1787aac4..c55b9091b622 100644 --- a/pkgs/build-support/node/fetch-pnpm-deps/default.nix +++ b/pkgs/build-support/node/fetch-pnpm-deps/default.nix @@ -74,9 +74,11 @@ in pnpm # from args yq zstd - ]; + ] + ++ args.nativeBuildInputs or [ ]; - impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_REGISTRY" ]; + impureEnvVars = + lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_REGISTRY" ] ++ args.impureEnvVars or [ ]; installPhase = '' runHook preInstall @@ -172,7 +174,7 @@ in runHook postFixup ''; - passthru = { + passthru = args.passthru or { } // { inherit fetcherVersion; serve = callPackage ./serve.nix { inherit pnpm; # from args From 89153437081e68e880af10060dce996e570efd76 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Wed, 17 Dec 2025 23:39:54 +0100 Subject: [PATCH 5/7] treewide: override pnpm nodejs versions Some packages in nixpkgs were using different nodejs versions, but were not overriding pnpm to match. Apart from reducing the derivation size, this could prevent future issues due to version mismatches. Signed-off-by: Sefa Eyeoglu --- pkgs/by-name/cl/claude-code-router/package.nix | 9 +++++---- pkgs/by-name/e-/e-search/package.nix | 5 +++-- pkgs/by-name/mo/moonlight/package.nix | 9 +++++---- pkgs/by-name/pa/paperless-ngx/package.nix | 7 +++++-- pkgs/by-name/po/porn-vault/package.nix | 5 +++-- pkgs/by-name/sa/satisfactorymodmanager/package.nix | 5 +++-- pkgs/by-name/ta/taler-wallet-core/package.nix | 5 +++-- pkgs/by-name/ts/tsx/package.nix | 7 +++++-- pkgs/by-name/vt/vtsls/package.nix | 7 +++++-- pkgs/by-name/zi/zipline/package.nix | 6 ++++-- 10 files changed, 41 insertions(+), 24 deletions(-) diff --git a/pkgs/by-name/cl/claude-code-router/package.nix b/pkgs/by-name/cl/claude-code-router/package.nix index eb6ec4a4ac3b..736842ad94cd 100644 --- a/pkgs/by-name/cl/claude-code-router/package.nix +++ b/pkgs/by-name/cl/claude-code-router/package.nix @@ -12,6 +12,7 @@ }: let buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_24; }; + pnpm' = pnpm_9.override { nodejs = nodejs_24; }; in buildNpmPackage' (finalAttrs: { pname = "claude-code-router"; @@ -32,7 +33,7 @@ buildNpmPackage' (finalAttrs: { npmDeps = null; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src; - pnpm = pnpm_9; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-BLPGTbDvvI40kuXfE/p3+s9hkE0reXr7OJA6UGXN4ys="; }; @@ -40,7 +41,7 @@ buildNpmPackage' (finalAttrs: { nativeBuildInputs = [ esbuild makeBinaryWrapper - pnpm_9 + pnpm' ]; npmConfigHook = pnpmConfigHook; @@ -81,13 +82,13 @@ buildNpmPackage' (finalAttrs: { npmDeps = null; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs') pname src sourceRoot; - pnpm = pnpm_9; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-ZjYLUec9EADQmKfju8hMbq0y4f1TDVwjbe3yw8Gh4Ac="; }; nativeBuildInputs = [ - pnpm_9 + pnpm' ]; npmConfigHook = pnpmConfigHook; diff --git a/pkgs/by-name/e-/e-search/package.nix b/pkgs/by-name/e-/e-search/package.nix index aeddb8a6ffd5..13ce01bbf89e 100644 --- a/pkgs/by-name/e-/e-search/package.nix +++ b/pkgs/by-name/e-/e-search/package.nix @@ -33,6 +33,7 @@ }: let + pnpm' = pnpm_10.override { nodejs = nodejs_20; }; eSearch-OCR-ch = fetchzip { url = "https://github.com/xushengfeng/eSearch-OCR/releases/download/4.0.0/ch.zip"; hash = "sha256-0NCXuy8k9/AdpK4ie49S8032u37gNhX6Jc6bOGufrV4="; @@ -64,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_10; + pnpm = pnpm'; fetcherVersion = 2; prePnpmInstall = '' export PATH=$PATH:${gitMinimal}/bin @@ -76,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: { autoPatchelfHook gobject-introspection pnpmConfigHook - pnpm_10 + pnpm' makeWrapper nodejs_20 ]; diff --git a/pkgs/by-name/mo/moonlight/package.nix b/pkgs/by-name/mo/moonlight/package.nix index 7efaeffdd986..c7cfd0907951 100644 --- a/pkgs/by-name/mo/moonlight/package.nix +++ b/pkgs/by-name/mo/moonlight/package.nix @@ -12,6 +12,9 @@ discord-canary, discord-development, }: +let + pnpm' = pnpm_10.override { nodejs = nodejs_22; }; +in stdenv.mkDerivation (finalAttrs: { pname = "moonlight"; version = "1.3.33"; @@ -26,14 +29,12 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs_22 pnpmConfigHook - pnpm_10 + pnpm' ]; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_10; - - buildInputs = [ nodejs_22 ]; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-PRlgwyePFpFdQRcojGDEC4ESZEGTJf1Ad9EFgm8hmKY="; diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix index 07099e82ff24..e6aaf18bc678 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -19,7 +19,7 @@ unpaper, fetchPnpmDeps, pnpmConfigHook, - pnpm, + pnpm_10, poppler-utils, liberation_ttf, xcbuild, @@ -61,6 +61,8 @@ let }; }; + pnpm' = pnpm_10.override { nodejs = nodejs_20; }; + path = lib.makeBinPath [ ghostscript_headless (imagemagickBig.override { ghostscript = ghostscript_headless; }) @@ -81,6 +83,7 @@ let pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-pG7olcBq5P52CvZYLqUjb+RwxjbQbSotlS50pvgm7WQ="; }; @@ -90,7 +93,7 @@ let nodejs_20 pkg-config pnpmConfigHook - pnpm + pnpm' python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/by-name/po/porn-vault/package.nix b/pkgs/by-name/po/porn-vault/package.nix index a46669ed76ce..20e169fb3efb 100644 --- a/pkgs/by-name/po/porn-vault/package.nix +++ b/pkgs/by-name/po/porn-vault/package.nix @@ -38,6 +38,7 @@ let }; }; nodejs = nodejs_22; + pnpm' = pnpm_9.override { nodejs = nodejs_22; }; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "porn-vault"; @@ -52,7 +53,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_9; + pnpm = pnpm'; fetcherVersion = 1; hash = "sha256-Xr9tRiP1hW+aFs9FnPvPkeJ0/LtJI57cjWY5bZQaRTQ="; }; @@ -60,7 +61,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs pnpmConfigHook - pnpm_9 + pnpm' makeWrapper ]; diff --git a/pkgs/by-name/sa/satisfactorymodmanager/package.nix b/pkgs/by-name/sa/satisfactorymodmanager/package.nix index d3d5514a0f1c..2823dcd9011d 100644 --- a/pkgs/by-name/sa/satisfactorymodmanager/package.nix +++ b/pkgs/by-name/sa/satisfactorymodmanager/package.nix @@ -17,6 +17,7 @@ let # NodeJS 22.18.0 broke our build, not sure why wails' = wails.override { nodejs = nodejs_20; }; + pnpm' = pnpm_8.override { nodejs = nodejs_20; }; in buildGoModule rec { pname = "satisfactorymodmanager"; @@ -45,7 +46,7 @@ buildGoModule rec { nativeBuildInputs = [ pnpmConfigHook - pnpm_8 + pnpm' wails' wrapGAppsHook3 copyDesktopItems @@ -64,7 +65,7 @@ buildGoModule rec { version src ; - pnpm = pnpm_8; + pnpm = pnpm'; sourceRoot = "${src.name}/frontend"; fetcherVersion = 1; hash = "sha256-OP+3zsNlvqLFwvm2cnBd2bj2Kc3EghQZE3hpotoqqrQ="; diff --git a/pkgs/by-name/ta/taler-wallet-core/package.nix b/pkgs/by-name/ta/taler-wallet-core/package.nix index 4639706d1da3..68bcedf8f3c6 100644 --- a/pkgs/by-name/ta/taler-wallet-core/package.nix +++ b/pkgs/by-name/ta/taler-wallet-core/package.nix @@ -18,6 +18,7 @@ }: let nodeSources = srcOnly nodejs_20; + pnpm' = pnpm_9.override { nodejs = nodejs_20; }; esbuild' = esbuild.override { buildGoModule = args: @@ -51,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { customPython nodejs_20 pnpmConfigHook - pnpm_9 + pnpm' gitMinimal jq zip @@ -59,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_9; + pnpm = pnpm'; fetcherVersion = 1; hash = "sha256-pLe5smsXdzSBgz/OYNO5FVEI2L6y/p+jMxEkzqUaX34="; }; diff --git a/pkgs/by-name/ts/tsx/package.nix b/pkgs/by-name/ts/tsx/package.nix index 2101461f2154..7db0c2905888 100644 --- a/pkgs/by-name/ts/tsx/package.nix +++ b/pkgs/by-name/ts/tsx/package.nix @@ -8,6 +8,9 @@ nodejs_22, versionCheckHook, }: +let + pnpm' = pnpm_9.override { nodejs = nodejs_22; }; +in stdenv.mkDerivation rec { pname = "tsx"; version = "4.19.3"; @@ -25,7 +28,7 @@ stdenv.mkDerivation rec { version src ; - pnpm = pnpm_9; + pnpm = pnpm'; fetcherVersion = 1; hash = "sha256-57KDZ9cHb7uqnypC0auIltmYMmIhs4PWyf0HTRWEFiU="; }; @@ -33,7 +36,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ nodejs_22 pnpmConfigHook - pnpm_9 + pnpm' ]; buildInputs = [ diff --git a/pkgs/by-name/vt/vtsls/package.nix b/pkgs/by-name/vt/vtsls/package.nix index 440b76ccb985..a4739e8b5b43 100644 --- a/pkgs/by-name/vt/vtsls/package.nix +++ b/pkgs/by-name/vt/vtsls/package.nix @@ -10,6 +10,9 @@ pnpmConfigHook, nix-update-script, }: +let + pnpm' = pnpm_8.override { nodejs = nodejs_22; }; +in stdenv.mkDerivation (finalAttrs: { pname = "vtsls"; version = "0.2.9"; @@ -28,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { gitMinimal gitSetupHook pnpmConfigHook - pnpm_8 + pnpm' ]; buildInputs = [ nodejs_22 ]; @@ -42,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { src version ; - pnpm = pnpm_8; + pnpm = pnpm'; fetcherVersion = 1; hash = "sha256-SdqeTYRH60CyU522+nBo0uCDnzxDP48eWBAtGTL/pqg="; }; diff --git a/pkgs/by-name/zi/zipline/package.nix b/pkgs/by-name/zi/zipline/package.nix index e2925570451d..593d2366a58a 100644 --- a/pkgs/by-name/zi/zipline/package.nix +++ b/pkgs/by-name/zi/zipline/package.nix @@ -30,6 +30,8 @@ let PRISMA_INTROSPECTION_ENGINE_BINARY = lib.getExe' prisma-engines "introspection-engine"; PRISMA_FMT_BINARY = lib.getExe' prisma-engines "prisma-fmt"; }; + + pnpm' = pnpm_10.override { nodejs = nodejs_24; }; in stdenv.mkDerivation (finalAttrs: { @@ -50,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_10; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-i5unHz7Hs9zvnjgLwHJaoFdM2z/5ucXZG8eouko1Res="; }; @@ -62,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ pnpmConfigHook - pnpm_10 + pnpm' nodejs_24 makeWrapper # for sharp build: From 2e7e1615b412918ad76de6a96f9f6143d1507c0d Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Wed, 17 Dec 2025 23:40:46 +0100 Subject: [PATCH 6/7] e-search: add gitMinimal to fetchPnpmDeps using nativeBuildInputs fetchPnpmDeps now allows merging attributes like nativeBuildInputs making workarounds like these obsolete. Signed-off-by: Sefa Eyeoglu --- pkgs/by-name/e-/e-search/package.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/by-name/e-/e-search/package.nix b/pkgs/by-name/e-/e-search/package.nix index 13ce01bbf89e..5931508b137f 100644 --- a/pkgs/by-name/e-/e-search/package.nix +++ b/pkgs/by-name/e-/e-search/package.nix @@ -65,11 +65,9 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + nativeBuildInputs = [ gitMinimal ]; pnpm = pnpm'; fetcherVersion = 2; - prePnpmInstall = '' - export PATH=$PATH:${gitMinimal}/bin - ''; hash = "sha256-wPwsFY7wvbE1LW5PMwMZKejELtqmdsYO2RVrEuOzdcg="; }; From 53b2a63a25d5847f778fa95eeb820f6571e5445d Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Wed, 17 Dec 2025 23:42:50 +0100 Subject: [PATCH 7/7] vencord: combine overridden attributes for fetchPnpmDeps `fetchPnpmDeps` accepts all kinds of attributes, so overriding them is almost never necessary. Signed-off-by: Sefa Eyeoglu --- pkgs/by-name/ve/vencord/package.nix | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/ve/vencord/package.nix b/pkgs/by-name/ve/vencord/package.nix index 3fc05a8b92c4..dff8ccb349e8 100644 --- a/pkgs/by-name/ve/vencord/package.nix +++ b/pkgs/by-name/ve/vencord/package.nix @@ -35,14 +35,17 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail '"@types/react": "18.3.1"' '"@types/react": "19.0.12"' ''; - pnpmDeps = - (fetchPnpmDeps { - inherit (finalAttrs) pname src; - pnpm = pnpm_10; - fetcherVersion = 2; - hash = "sha256-M9yZxBtuZg5KwG2Sli+f6Ionwccq7F7tI8/FnP1iObA="; - }).overrideAttrs - { inherit (finalAttrs) patches postPatch; }; + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) + pname + src + patches + postPatch + ; + pnpm = pnpm_10; + fetcherVersion = 2; + hash = "sha256-M9yZxBtuZg5KwG2Sli+f6Ionwccq7F7tI8/FnP1iObA="; + }; nativeBuildInputs = [ git