revert(nixos): undo bad system update
Restore the pre-update Pi packaging and Rofi option from PR 124 after the associated deployment exposed a performance regression.
Refs: 1b4dc7762
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
# home-manager, which ships the package and manages global settings.
|
||||
# The login credential is left unmanaged, so it survives rebuilds.
|
||||
let
|
||||
user = config.user.name; # NOLINT(let_order)
|
||||
user = config.user.name;
|
||||
piDir = "${config.users.users.${user}.home}/.pi/agent";
|
||||
in
|
||||
{
|
||||
@@ -20,78 +20,9 @@ in
|
||||
home-manager.users.${user} = {
|
||||
programs.pi-coding-agent = {
|
||||
enable = true;
|
||||
package = pkgs.buildNpmPackage {
|
||||
pname = "pi-coding-agent";
|
||||
version = "0.85.1";
|
||||
package = pkgs.pi-coding-agent.overrideAttrs {
|
||||
src = ../../../../../third_party/pi;
|
||||
npmDepsHash = "sha256-jzlsZIQzfl1FCZZ5//dHFWwMfBZQ4nRD6KB4HHifPqE=";
|
||||
npmWorkspace = "packages/coding-agent";
|
||||
npmRebuildFlags = [ "--ignore-scripts" ];
|
||||
dontNpmPrune = true;
|
||||
|
||||
preConfigure = ''
|
||||
mkdir -p packages/ai/src/providers/data
|
||||
tar --extract --gzip \
|
||||
--file=${
|
||||
pkgs.fetchurl {
|
||||
url = "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.85.1.tgz";
|
||||
hash = "sha256-r30RmGF5RFzm/oizfVfeIvgjwP/TplyuMcVVt/XpklM=";
|
||||
}
|
||||
} \
|
||||
--directory=packages/ai/src/providers/data \
|
||||
--strip-components=4 \
|
||||
package/dist/providers/data
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
npm run build:offline
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
npm prune --omit=dev --no-save
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
local nm="$out/lib/node_modules/pi-monorepo/node_modules"
|
||||
|
||||
for ws in @earendil-works/chord:packages/chord \
|
||||
@earendil-works/pi-ai:packages/ai \
|
||||
@earendil-works/pi-agent-core:packages/agent \
|
||||
@earendil-works/pi-client:packages/client \
|
||||
@earendil-works/pi-protocol:packages/protocol \
|
||||
@earendil-works/pi-telemetry:packages/telemetry \
|
||||
@earendil-works/pi-tui:packages/tui; do
|
||||
IFS=: read -r pkg src <<< "$ws"
|
||||
rm "$nm/$pkg"
|
||||
cp -r "$src" "$nm/$pkg"
|
||||
done
|
||||
|
||||
find "$nm" -type l -lname '*/packages/*' -delete
|
||||
find "$nm/.bin" -xtype l -delete
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgs.makeBinaryWrapper ];
|
||||
postFixup = ''
|
||||
wrapProgram "$out/bin/pi" --prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
pkgs.ripgrep
|
||||
pkgs.fd
|
||||
]
|
||||
} \
|
||||
--set-default PI_SKIP_VERSION_CHECK 1 \
|
||||
--set-default PI_TELEMETRY 0
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [
|
||||
pkgs.writableTmpDirAsHomeHook
|
||||
pkgs.versionCheckHook
|
||||
];
|
||||
versionCheckKeepEnvironment = [ "HOME" ];
|
||||
versionCheckProgram = "${placeholder "out"}/bin/pi";
|
||||
versionCheckProgramArg = "--version";
|
||||
patches = [ ];
|
||||
};
|
||||
|
||||
settings = {
|
||||
|
||||
Reference in New Issue
Block a user