diff --git a/local/pkgs/default.nix b/local/pkgs/default.nix index f2b07481..8e715c00 100644 --- a/local/pkgs/default.nix +++ b/local/pkgs/default.nix @@ -3,7 +3,8 @@ inputs: rec typora = inputs.pkgs.callPackage ./typora {}; vesta = inputs.pkgs.callPackage ./vesta {}; rsshub = inputs.pkgs.callPackage ./rsshub.nix { inherit mkPnpmPackage; src = inputs.topInputs.rsshub; }; - misskey = inputs.pkgs.callPackage ./misskey.nix { inherit mkPnpmPackage; src = inputs.topInputs.misskey; }; + misskey = inputs.pkgs.callPackage ./misskey.nix + { inherit mkPnpmPackage; src = inputs.topInputs.misskey; nodejs = nodejs-with-pnpm9; }; mk-meili-mgn = inputs.pkgs.callPackage ./mk-meili-mgn {}; vaspkit = inputs.pkgs.callPackage ./vaspkit { inherit (inputs.localLib) attrsToList; }; v-sim = inputs.pkgs.callPackage ./v-sim { src = inputs.topInputs.v-sim; }; @@ -70,6 +71,7 @@ inputs: rec openxlsx = inputs.pkgs.callPackage ./openxlsx { src = inputs.topInputs.openxlsx; }; sqlite-orm = inputs.pkgs.callPackage ./sqlite-orm { src = inputs.topInputs.sqlite-orm; }; mkPnpmPackage = inputs.pkgs.callPackage ./mkPnpmPackage.nix {}; + nodejs-with-pnpm9 = inputs.pkgs.callPackage ./nodejs-with-pnpm9.nix {}; fromYaml = content: builtins.fromJSON (builtins.readFile (inputs.pkgs.runCommand "toJSON" {} diff --git a/local/pkgs/mkPnpmPackage.nix b/local/pkgs/mkPnpmPackage.nix index 0d5865da..80c49d00 100644 --- a/local/pkgs/mkPnpmPackage.nix +++ b/local/pkgs/mkPnpmPackage.nix @@ -63,6 +63,7 @@ export HOME=$NIX_BUILD_TOP # Some packages need a writable HOME export npm_config_nodedir=${nodejs} pnpm config set reporter append-only + pnpm config set package-manager-strict false cp -f ${patchedLockFile} pnpm-lock.yaml runHook postConfigure ''; diff --git a/local/pkgs/nodejs-with-pnpm9.nix b/local/pkgs/nodejs-with-pnpm9.nix new file mode 100644 index 00000000..76ac15ea --- /dev/null +++ b/local/pkgs/nodejs-with-pnpm9.nix @@ -0,0 +1,15 @@ +{ nodejs, fetchurl }: nodejs.overrideAttrs (prev: +{ + passthru.pkgs = prev.passthru.pkgs.extend (final: prev: + { + pnpm = prev.pnpm.override + { + version = "9.1.0"; + src = fetchurl + { + url = "https://registry.npmjs.org/pnpm/-/pnpm-9.1.0.tgz"; + sha512 = "Z/WHmRapKT5c8FnCOFPVcb6vT3U8cH9AyyK+1fsVeMaq07bEEHzLO6CzW+AD62IaFkcayDbIe+tT+dVLtGEnJA=="; + }; + }; + }); +})