fix(nixos): deploy Pi extensions globally #11
@@ -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.
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user