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/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/development/tools/pnpm/fetch-deps/default.nix b/pkgs/build-support/node/fetch-pnpm-deps/default.nix similarity index 86% rename from pkgs/development/tools/pnpm/fetch-deps/default.nix rename to pkgs/build-support/node/fetch-pnpm-deps/default.nix index 4fb7c6d6d736..c55b9091b622 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,12 +71,14 @@ in cacert jq moreutils - args.pnpm or pnpm' + 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 @@ -123,7 +124,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 @@ -173,10 +174,10 @@ in runHook postFixup ''; - passthru = { + passthru = args.passthru or { } // { inherit fetcherVersion; serve = callPackage ./serve.nix { - pnpm = args.pnpm or pnpm'; + inherit pnpm; # from args pnpmDeps = finalAttrs.finalPackage; }; }; @@ -190,10 +191,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/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 7c4bffd238f9..1deeead2d880 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, @@ -32,7 +34,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoRoot = "./."; cargoHash = "sha256-T3cPvwph71lpqlGcugAO4Ua8Y5TNZSySbQatxcvoT4E="; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-XqKGAx2Q9cWO1oG4mP1cKM2Y9Pib5haFYEaq0PAfAdQ="; @@ -40,7 +42,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..736842ad94cd 100644 --- a/pkgs/by-name/cl/claude-code-router/package.nix +++ b/pkgs/by-name/cl/claude-code-router/package.nix @@ -6,10 +6,13 @@ makeBinaryWrapper, nodejs_24, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, versionCheckHook, }: let buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_24; }; + pnpm' = pnpm_9.override { nodejs = nodejs_24; }; in buildNpmPackage' (finalAttrs: { pname = "claude-code-router"; @@ -28,8 +31,9 @@ buildNpmPackage' (finalAttrs: { ''; npmDeps = null; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-BLPGTbDvvI40kuXfE/p3+s9hkE0reXr7OJA6UGXN4ys="; }; @@ -37,10 +41,10 @@ buildNpmPackage' (finalAttrs: { nativeBuildInputs = [ esbuild makeBinaryWrapper - pnpm_9.configHook + pnpm' ]; - npmConfigHook = pnpm_9.configHook; + npmConfigHook = pnpmConfigHook; buildPhase = '' runHook preBuild @@ -76,17 +80,18 @@ buildNpmPackage' (finalAttrs: { sourceRoot = "${finalAttrs'.src.name}/ui"; npmDeps = null; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs') pname src sourceRoot; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-ZjYLUec9EADQmKfju8hMbq0y4f1TDVwjbe3yw8Gh4Ac="; }; nativeBuildInputs = [ - pnpm_9.configHook + pnpm' ]; - 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..5931508b137f 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, @@ -31,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="; @@ -60,19 +63,19 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-K4GFLUeq/IbJC3FZBgvKnZq7JrXkqe6eVGsUxxlpWF0="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + nativeBuildInputs = [ gitMinimal ]; + pnpm = pnpm'; fetcherVersion = 2; - prePnpmInstall = '' - export PATH=$PATH:${gitMinimal}/bin - ''; hash = "sha256-wPwsFY7wvbE1LW5PMwMZKejELtqmdsYO2RVrEuOzdcg="; }; nativeBuildInputs = [ autoPatchelfHook gobject-introspection - pnpm_10.configHook + pnpmConfigHook + pnpm' 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..c7cfd0907951 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, @@ -10,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"; @@ -23,13 +28,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs_22 - pnpm_10.configHook + pnpmConfigHook + pnpm' ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - - buildInputs = [ nodejs_22 ]; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-PRlgwyePFpFdQRcojGDEC4ESZEGTJf1Ad9EFgm8hmKY="; diff --git a/pkgs/by-name/n8/n8n/package.nix b/pkgs/by-name/n8/n8n/package.nix index a036586494d7..f73c040b848f 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-3vXJnLqQz60Sq1A8lLW0x6xAoN3DneFYVsaHAD0nzng="; }; - 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..e6aaf18bc678 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -17,7 +17,9 @@ qpdf, tesseract5, unpaper, - pnpm, + fetchPnpmDeps, + pnpmConfigHook, + pnpm_10, poppler-utils, liberation_ttf, xcbuild, @@ -59,6 +61,8 @@ let }; }; + pnpm' = pnpm_10.override { nodejs = nodejs_20; }; + path = lib.makeBinPath [ ghostscript_headless (imagemagickBig.override { ghostscript = ghostscript_headless; }) @@ -77,8 +81,9 @@ let src = src + "/src-ui"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-pG7olcBq5P52CvZYLqUjb+RwxjbQbSotlS50pvgm7WQ="; }; @@ -87,7 +92,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..20e169fb3efb 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,8 +37,8 @@ let mainProgram = "izzy"; }; }; - pnpm = pnpm_9; nodejs = nodejs_22; + pnpm' = pnpm_9.override { nodejs = nodejs_22; }; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "porn-vault"; @@ -49,15 +51,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-wQ3dqLc0l2BmLGDYrbWxX2mPwO/Tqz0fY/fOQTEUv24="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm'; fetcherVersion = 1; hash = "sha256-Xr9tRiP1hW+aFs9FnPvPkeJ0/LtJI57cjWY5bZQaRTQ="; }; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm' 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..2823dcd9011d 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, @@ -15,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"; @@ -42,7 +45,8 @@ buildGoModule rec { ''; nativeBuildInputs = [ - pnpm_8.configHook + pnpmConfigHook + pnpm' wails' wrapGAppsHook3 copyDesktopItems @@ -55,8 +59,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'; 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..68bcedf8f3c6 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, @@ -16,6 +18,7 @@ }: let nodeSources = srcOnly nodejs_20; + pnpm' = pnpm_9.override { nodejs = nodejs_20; }; esbuild' = esbuild.override { buildGoModule = args: @@ -48,14 +51,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ customPython nodejs_20 - pnpm_9.configHook + pnpmConfigHook + pnpm' gitMinimal jq zip ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm'; 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..7db0c2905888 100644 --- a/pkgs/by-name/ts/tsx/package.nix +++ b/pkgs/by-name/ts/tsx/package.nix @@ -3,9 +3,14 @@ stdenv, fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs_22, versionCheckHook, }: +let + pnpm' = pnpm_9.override { nodejs = nodejs_22; }; +in stdenv.mkDerivation rec { pname = "tsx"; version = "4.19.3"; @@ -17,15 +22,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'; fetcherVersion = 1; hash = "sha256-57KDZ9cHb7uqnypC0auIltmYMmIhs4PWyf0HTRWEFiU="; }; nativeBuildInputs = [ nodejs_22 - pnpm_9.configHook + pnpmConfigHook + pnpm' ]; 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..dff8ccb349e8 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"; @@ -34,18 +35,23 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail '"@types/react": "18.3.1"' '"@types/react": "19.0.12"' ''; - pnpmDeps = - (pnpm_10.fetchDeps { - inherit (finalAttrs) pname src; - 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 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..a4739e8b5b43 100644 --- a/pkgs/by-name/vt/vtsls/package.nix +++ b/pkgs/by-name/vt/vtsls/package.nix @@ -6,9 +6,13 @@ gitMinimal, gitSetupHook, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: - +let + pnpm' = pnpm_8.override { nodejs = nodejs_22; }; +in stdenv.mkDerivation (finalAttrs: { pname = "vtsls"; version = "0.2.9"; @@ -26,20 +30,22 @@ stdenv.mkDerivation (finalAttrs: { # patches are applied with git during build gitMinimal gitSetupHook - pnpm_8.configHook + pnpmConfigHook + pnpm' ]; buildInputs = [ nodejs_22 ]; pnpmWorkspaces = [ "@vtsls/language-server" ]; - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pnpmWorkspaces pname src version ; + pnpm = pnpm'; 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 f600060bb613..83889d627c27 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, @@ -28,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: { @@ -46,8 +50,9 @@ stdenv.mkDerivation (finalAttrs: { ''; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-JphaLunhwPdeKxlHdpMNGAl8um7wsOkNCCWYxQhLuBM="; }; @@ -58,7 +63,8 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ - pnpm_10.configHook + pnpmConfigHook + pnpm' 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 626849d7b680..35bf64af696e 100644 --- a/pkgs/development/tools/pnpm/generic.nix +++ b/pkgs/development/tools/pnpm/generic.nix @@ -2,7 +2,8 @@ lib, stdenvNoCC, writeScript, - callPackages, + fetchPnpmDeps, + pnpmConfigHook, fetchurl, installShellFiles, nodejs, @@ -71,12 +72,29 @@ 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 = + 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 ( 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 5d751f8a13b1..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 { }); @@ -3606,6 +3605,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 { }; @@ -3930,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 { }; @@ -12491,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;