feat(home): add pi coding agent configuration

- Add pi module for terminal configuration
- Include pi-coding-agent package in home.packages
- Configure pi with llama-swap provider via models.json
- Enable pi for mac-va-mbp-work profile
This commit is contained in:
2026-02-05 13:57:02 -05:00
parent 4aa1a9bc5f
commit f2b821b122
3 changed files with 107 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
{ lib
, pkgs
, config
, namespace
, ...
}:
let
inherit (lib) mkIf;
helpers = import ./lib.nix { inherit lib; };
llamaSwapConfig = import ./../../../../nixos/services/llama-swap/config.nix { inherit pkgs; };
cfg = config.${namespace}.programs.terminal.pi;
in
{
options.${namespace}.programs.terminal.pi = {
enable = lib.mkEnableOption "enable pi";
};
config = mkIf cfg.enable {
# Add Pi Coding Agent to Home Packages
home.packages = with pkgs; [
reichard.pi-coding-agent
];
# Define Pi Configuration
sops = {
secrets.context7_apikey = {
sopsFile = lib.snowfall.fs.get-file "secrets/common/evanreichard.yaml";
};
templates."pi.json" = {
path = "${config.home.homeDirectory}/.pi/agent/models.json";
content = builtins.toJSON {
providers = {
"llama-swap" = {
baseUrl = "https://llm-api.va.reichard.io/v1";
api = "openai-completions";
apiKey = "none";
models = helpers.toPiModels llamaSwapConfig;
};
};
};
};
};
};
}