From 9feb01d2d6bc7dd0b4407e734a14d7ad85308332 Mon Sep 17 00:00:00 2001 From: Bryan Ramos Date: Thu, 30 Apr 2026 22:58:18 -0400 Subject: [PATCH] updated --- user/modules/neovim/default.nix | 6 ++++-- user/modules/pi/default.nix | 28 +++++++++++++++++++++++----- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/user/modules/neovim/default.nix b/user/modules/neovim/default.nix index 3f5b8cf..838065d 100644 --- a/user/modules/neovim/default.nix +++ b/user/modules/neovim/default.nix @@ -13,12 +13,14 @@ in vimAlias = true; vimdiffAlias = true; extraPackages = with pkgs; [ - lazygit + gcc cargo rustc - gcc + fzf + fd ripgrep + bat ]; }; diff --git a/user/modules/pi/default.nix b/user/modules/pi/default.nix index d9ab77d..7452bb4 100644 --- a/user/modules/pi/default.nix +++ b/user/modules/pi/default.nix @@ -18,21 +18,39 @@ in home.sessionPath = [ "${npmGlobal}/bin" ]; - home.file.".pi/agent" = { - source = ./agent; - recursive = true; - }; - programs.bash.initExtra = '' export LLAMACPP_API_KEY=$(cat /run/secrets/LLAMA_API_KEY) ''; home.activation.installPiCodingAgent = lib.hm.dag.entryAfter [ "writeBoundary" ] '' PATH="${pkgs.nodejs_20}/bin:$PATH" + agentDir="${config.home.homeDirectory}/.pi/agent" run mkdir -p ${npmGlobal} + run mkdir -p "${config.home.homeDirectory}/.pi" + run mkdir -p "$agentDir" + if [ -e "$agentDir" ]; then + run chmod -R u+w "$agentDir" + run find "$agentDir" -mindepth 1 -maxdepth 1 -exec rm -rf {} + + fi + run cp -R ${./agent}/. "$agentDir"/ + run chmod -R u+w "$agentDir" if ! run ${pkgs.nodejs_20}/bin/npm install -g --prefix ${npmGlobal} @mariozechner/pi-coding-agent@${piVersion}; then warnEcho "pi-coding-agent install failed (offline or registry error)" fi + + for ext in "$agentDir"/extensions/*; do + if [ -f "$ext/package.json" ]; then + if [ -f "$ext/package-lock.json" ]; then + if ! run ${pkgs.nodejs_20}/bin/npm ci --prefix "$ext"; then + warnEcho "pi extension dependency install failed for $ext" + fi + else + if ! run ${pkgs.nodejs_20}/bin/npm install --prefix "$ext"; then + warnEcho "pi extension dependency install failed for $ext" + fi + fi + fi + done ''; }; }