fix(nixos): deploy Pi extensions globally

This commit was merged in pull request #11.
This commit is contained in:
2026-09-05 17:56:15 -04:00
parent 205db4b367
commit 1c8d38a807
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;
};
};
};
};
}