fix(nixos): deploy Pi extensions globally #11

Merged
alexion merged 1 commits from fix/pi-global-extensions into main 2026-09-05 17:57:18 -04:00
5 changed files with 13 additions and 5 deletions

View File

@@ -32,6 +32,8 @@
- Use produced literals for Herdr key names that include shifted punctuation.
For example, use `prefix+<` instead of `prefix+shift+comma`.
- Put global Pi extension sources in `configs/nixos/modules/shell/pi/extensions/`.
Home Manager deploys them to `~/.pi/agent/extensions/`.
- Treat Home Manager-managed Pi extension, prompt, and skill directories as generated output.
Do not edit those directories except for throwaway development or local experiments.
Promote finished work into the NixOS configuration before treating it as deployed.

View File

@@ -18,8 +18,6 @@ in
home-manager.users.${user} = {
home.packages = [ pkgs.herdr ];
# Refresh the vendored project-local Pi extension from the monorepo root.
# Run `PI_CODING_AGENT_DIR=$PWD/.pi herdr integration install pi`.
xdg.configFile."herdr/config.toml".text = ''
[keys]
prefix = "ctrl+space"

View File

@@ -40,9 +40,17 @@ in
};
};
# The first declarative rollout replaces the interactive settings file.
# Login state stays in auth.json, which this module does not manage.
home.file."${piDir}/settings.json".force = true;
home.file = {
# The first declarative rollout replaces the interactive settings file.
# Login state stays in auth.json, which this module does not manage.
"${piDir}/settings.json".force = true;
"${piDir}/extensions" = {
source = ./extensions;
recursive = true;
force = true;
};
};
};
};
}