fix(nixos): deploy Pi extensions globally
This commit was merged in pull request #11.
This commit is contained in:
@@ -32,6 +32,8 @@
|
|||||||
|
|
||||||
- Use produced literals for Herdr key names that include shifted punctuation.
|
- Use produced literals for Herdr key names that include shifted punctuation.
|
||||||
For example, use `prefix+<` instead of `prefix+shift+comma`.
|
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.
|
- 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.
|
Do not edit those directories except for throwaway development or local experiments.
|
||||||
Promote finished work into the NixOS configuration before treating it as deployed.
|
Promote finished work into the NixOS configuration before treating it as deployed.
|
||||||
|
|||||||
@@ -18,8 +18,6 @@ in
|
|||||||
home-manager.users.${user} = {
|
home-manager.users.${user} = {
|
||||||
home.packages = [ pkgs.herdr ];
|
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 = ''
|
xdg.configFile."herdr/config.toml".text = ''
|
||||||
[keys]
|
[keys]
|
||||||
prefix = "ctrl+space"
|
prefix = "ctrl+space"
|
||||||
|
|||||||
@@ -40,9 +40,17 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.file = {
|
||||||
# The first declarative rollout replaces the interactive settings file.
|
# The first declarative rollout replaces the interactive settings file.
|
||||||
# Login state stays in auth.json, which this module does not manage.
|
# Login state stays in auth.json, which this module does not manage.
|
||||||
home.file."${piDir}/settings.json".force = true;
|
"${piDir}/settings.json".force = true;
|
||||||
|
|
||||||
|
"${piDir}/extensions" = {
|
||||||
|
source = ./extensions;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user