···444444 pnpmDeps = pnpm.fetchDeps {
445445 inherit (finalAttrs) pname version src;
446446 hash = "...";
447447+ fetcherVersion = 2;
447448 };
448449})
449450```
···558559559560In this example, `prePnpmInstall` will be run by both `pnpm.configHook` and by the `pnpm.fetchDeps` builder.
560561562562+#### PNPM `fetcherVersion` {#javascript-pnpm-fetcherVersion}
563563+564564+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:
565565+566566+```nix
567567+{
568568+ # ...
569569+ pnpmDeps = pnpm.fetchDeps {
570570+ # ...
571571+ hash = "..."; # you can use your already set hash here
572572+ fetcherVersion = 1;
573573+ };
574574+}
575575+```
576576+577577+After upgrading to a newer `fetcherVersion`, you need to regenerate the hash:
578578+579579+```nix
580580+{
581581+ # ...
582582+ pnpmDeps = pnpm.fetchDeps {
583583+ # ...
584584+ hash = "..."; # clear this hash and generate a new one
585585+ fetcherVersion = 2;
586586+ };
587587+}
588588+```
589589+590590+This variable ensures that we can make changes to the output of `pnpm.fetchDeps` without breaking existing hashes.
591591+Changes can include workarounds or bug fixes to existing PNPM issues.
592592+593593+##### Version history {#javascript-pnpm-fetcherVersion-versionHistory}
594594+595595+- 1: Initial version, nothing special
596596+- 2: [Ensure consistent permissions](https://github.com/NixOS/nixpkgs/pull/422975)
561597562598### Yarn {#javascript-yarn}
563599
···4545 "systemd-oomd.service"
4646 "systemd-oomd.socket"
4747 ];
4848+ # TODO: Added upstream in upcoming systemd release. Good to drop once we use v258 or later
4949+ systemd.services.systemd-oomd.after = [ "systemd-sysusers.service" ];
4850 systemd.services.systemd-oomd.wantedBy = [ "multi-user.target" ];
49515052 environment.etc."systemd/oomd.conf".text = lib.generators.toINI { } {