{ pkgs, ... }:
let
slimSrc = pkgs.applyPatches {
name = "pi-math-slim";
src = pkgs.npinsed.ai.pi.pi-math;
nativeBuildInputs = [ pkgs.jq ];
postPatch = ''
jq 'del(.peerDependencies, .devDependencies, .scripts)' package.json > package.json.tmp
mv package.json.tmp package.json
cp ${./package-lock.json} package-lock.json
'';
};
in {
home.file.".pi/agent/extensions/pi-math".source = pkgs.buildNpmPackage {
name = "pi-math";
src = slimSrc;
npmDepsHash = "sha256-ehclK8Mt2uECoqFMgh0yqLswtCWqEeWcuWe6ws9RfnU=";
dontNpmBuild = true;
postInstall = ''
cd "$out/lib/node_modules/@monotykamary/pi-math"
sed -i 's|"./src/index.ts"|"./index.ts"|' package.json
echo 'export { default } from "./src/index.ts";' > index.ts
'';
} + "/lib/node_modules/@monotykamary/pi-math";
}