From 0e49235af09c9fd61466684e937469a5d2bf7767 Mon Sep 17 00:00:00 2001 From: George Zhang Date: Sun, 1 Feb 2026 08:52:44 -0800 Subject: [PATCH] feat(config): add PI_PACKAGE_DIR env var to override package path (#1153) --- packages/coding-agent/src/config.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/coding-agent/src/config.ts b/packages/coding-agent/src/config.ts index e9ece3bf..76e2429d 100644 --- a/packages/coding-agent/src/config.ts +++ b/packages/coding-agent/src/config.ts @@ -31,6 +31,14 @@ export const isBunRuntime = !!process.versions.bun; * - For tsx (src/): returns parent directory (the package root) */ export function getPackageDir(): string { + // Allow override via environment variable (useful for Nix/Guix where store paths tokenize poorly) + const envDir = process.env.PI_PACKAGE_DIR; + if (envDir) { + if (envDir === "~") return homedir(); + if (envDir.startsWith("~/")) return homedir() + envDir.slice(1); + return envDir; + } + if (isBunBinary) { // Bun binary: process.execPath points to the compiled executable return dirname(process.execPath);