28 lines
804 B
Nix
28 lines
804 B
Nix
{ config, lib, ... }:
|
|
|
|
let
|
|
cfg = config.dot.pi;
|
|
piPath = "${config.dot.dotfilesPath}/modules/pi/agent";
|
|
piWorkMode = config.dot.llm.pi.workMode or false;
|
|
in
|
|
{
|
|
options.dot.pi = {
|
|
enable = lib.mkEnableOption "managed pi coding agent configuration" // {
|
|
default = true;
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
home.file = {
|
|
".pi/agent/settings.json".source =
|
|
config.lib.file.mkOutOfStoreSymlink
|
|
"${piPath}/${if piWorkMode then "settings.work" else "settings.home"}.json";
|
|
".pi/agent/extensions".source =
|
|
config.lib.file.mkOutOfStoreSymlink "${piPath}/extensions-common";
|
|
} // lib.optionalAttrs piWorkMode {
|
|
".pi/agent/extensions-work".source =
|
|
config.lib.file.mkOutOfStoreSymlink "${piPath}/extensions-work";
|
|
};
|
|
};
|
|
}
|