feat(shell): manage herdr agent integrations
This commit is contained in:
@@ -105,3 +105,8 @@
|
||||
Different game installs can contain compiled scripts with the same internal path.
|
||||
- Clew owns Ren'Py extraction, preparation, and compiled-script AST export. Ariadne owns analysis over Clew-produced data.
|
||||
- Bazel Python targets require `PYTHON_TOOLCHAIN_ROOT` to point at a Python installation root.
|
||||
- When checking whether a package exists in nixpkgs, check both this repository's pinned nixpkgs inputs
|
||||
and the relevant current upstream channel. A package can exist on current `nixos-unstable` while being
|
||||
absent from the pinned revision or from a different branch such as `nixpkgs-unstable`.
|
||||
- OMP does not discover project skills from `.pi/skills`.
|
||||
Put skills shared by Pi and OMP under `.agents/skills`, or configure OMP's `skills.customDirectories`.
|
||||
|
||||
@@ -10,12 +10,29 @@ let
|
||||
user = config.user.name;
|
||||
in
|
||||
{
|
||||
options.modules.shell.herdr.enable = lib.mkEnableOption "Herdr, a terminal multiplexer for coding agents";
|
||||
options.modules.shell.herdr = {
|
||||
enable = lib.mkEnableOption "Herdr, a terminal multiplexer for coding agents";
|
||||
|
||||
integrations = {
|
||||
pi.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = config.modules.shell.pi.enable;
|
||||
description = "Whether to install Herdr's Pi agent-state integration.";
|
||||
};
|
||||
|
||||
omp.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = config.modules.shell.omp.enable;
|
||||
description = "Whether to install Herdr's OMP agent-state integration.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
registry.shell-shortcut.${config.networking.hostName}.hs = "herdr --session";
|
||||
|
||||
home-manager.users.${user} = {
|
||||
home-manager.users.${user} = lib.mkMerge [
|
||||
{
|
||||
home.packages = [ pkgs.herdr ];
|
||||
|
||||
xdg.configFile."herdr/config.toml".text = ''
|
||||
@@ -42,6 +59,19 @@ in
|
||||
[experimental]
|
||||
kitty_graphics = true
|
||||
'';
|
||||
}
|
||||
(lib.mkIf cfg.integrations.pi.enable {
|
||||
home.file.".pi/agent/extensions/herdr-agent-state.ts" = {
|
||||
source = "${pkgs.herdr.src}/src/integration/assets/pi/herdr-agent-state.ts";
|
||||
force = true;
|
||||
};
|
||||
})
|
||||
(lib.mkIf cfg.integrations.omp.enable {
|
||||
home.file.".omp/agent/extensions/herdr-omp-agent-state.ts" = {
|
||||
source = "${pkgs.herdr.src}/src/integration/assets/omp/herdr-agent-state.ts";
|
||||
force = true;
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user