mirror of
https://github.com/harivansh-afk/nix.git
synced 2026-04-17 07:03:30 +00:00
replace pi with openclaw
This commit is contained in:
parent
be2370f406
commit
da8c45534c
12 changed files with 160 additions and 114 deletions
|
|
@ -21,7 +21,7 @@
|
|||
./mise.nix
|
||||
./migration.nix
|
||||
./nvim.nix
|
||||
./pi.nix
|
||||
./openclaw.nix
|
||||
./prompt.nix
|
||||
./skills.nix
|
||||
./scripts.nix
|
||||
|
|
|
|||
35
home/openclaw.nix
Normal file
35
home/openclaw.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
hostConfig,
|
||||
...
|
||||
}:
|
||||
let
|
||||
openClawStateDir = "${config.home.homeDirectory}/.openclaw";
|
||||
openClawWorkspaceDir = "${openClawStateDir}/workspace";
|
||||
npmDir = "${config.xdg.dataHome}/npm";
|
||||
in
|
||||
lib.mkIf hostConfig.isLinux {
|
||||
home.activation.installOpenClaw = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
export PATH="${
|
||||
lib.makeBinPath [
|
||||
pkgs.nodejs_22
|
||||
pkgs.coreutils
|
||||
]
|
||||
}:$PATH"
|
||||
export NPM_CONFIG_USERCONFIG="${config.xdg.configHome}/npm/npmrc"
|
||||
export XDG_DATA_HOME="${config.xdg.dataHome}"
|
||||
export XDG_CACHE_HOME="${config.xdg.cacheHome}"
|
||||
|
||||
if [ ! -d "${npmDir}/lib/node_modules/openclaw" ]; then
|
||||
npm install -g openclaw@latest 2>/dev/null || true
|
||||
fi
|
||||
'';
|
||||
|
||||
home.activation.syncOpenClawState = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
install -d -m 700 "${openClawStateDir}" "${openClawWorkspaceDir}"
|
||||
install -m 600 ${../config/openclaw/openclaw.json} "${openClawStateDir}/openclaw.json"
|
||||
install -m 644 ${../config/openclaw/SOUL.md} "${openClawWorkspaceDir}/SOUL.md"
|
||||
'';
|
||||
}
|
||||
53
home/pi.nix
53
home/pi.nix
|
|
@ -1,53 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
hostConfig,
|
||||
...
|
||||
}:
|
||||
let
|
||||
npmDir = "${config.xdg.dataHome}/npm";
|
||||
piBin = "${npmDir}/bin/pi";
|
||||
in
|
||||
lib.mkIf hostConfig.isLinux {
|
||||
home.file.".pi/agent/SYSTEM.md".source = ../config/pi/SYSTEM.md;
|
||||
# Install pi-coding-agent globally via npm at activation time.
|
||||
home.activation.installPiAgent = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
export PATH="${
|
||||
lib.makeBinPath [
|
||||
pkgs.nodejs_22
|
||||
pkgs.coreutils
|
||||
]
|
||||
}:$PATH"
|
||||
export NPM_CONFIG_USERCONFIG="${config.xdg.configHome}/npm/npmrc"
|
||||
export XDG_DATA_HOME="${config.xdg.dataHome}"
|
||||
export XDG_CACHE_HOME="${config.xdg.cacheHome}"
|
||||
|
||||
if [ ! -d "${npmDir}/lib/node_modules/@mariozechner/pi-coding-agent" ]; then
|
||||
npm install -g @mariozechner/pi-coding-agent 2>/dev/null || true
|
||||
fi
|
||||
'';
|
||||
|
||||
# Install Pi extensions at activation time:
|
||||
# - @e9n/pi-channels: Telegram/Slack bridge with RPC-based persistent sessions
|
||||
# - pi-schedule-prompt: cron/interval scheduled prompts
|
||||
# - pi-subagents: background task delegation with async execution
|
||||
home.activation.installPiExtensions = lib.hm.dag.entryAfter [ "installPiAgent" ] ''
|
||||
export PATH="${
|
||||
lib.makeBinPath [
|
||||
pkgs.nodejs_22
|
||||
pkgs.coreutils
|
||||
pkgs.git
|
||||
]
|
||||
}:$PATH"
|
||||
export NPM_CONFIG_USERCONFIG="${config.xdg.configHome}/npm/npmrc"
|
||||
export XDG_DATA_HOME="${config.xdg.dataHome}"
|
||||
export XDG_CACHE_HOME="${config.xdg.cacheHome}"
|
||||
|
||||
if [ -x "${piBin}" ]; then
|
||||
for pkg in "@e9n/pi-channels" "pi-schedule-prompt" "pi-subagents"; do
|
||||
"${piBin}" install "npm:$pkg" 2>/dev/null || true
|
||||
done
|
||||
fi
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue