Files
nix/modules/home/programs/terminal/pi/default.nix
Evan Reichard d685773604 refactor: update llm model configurations and add AI agent guidelines
- Update nvim to use qwen3-coder-next-80b-instruct model
- Add AGENTS.md with AI agent best practices for timeout and file writing
- Update pi config to include agent guidelines
- Refactor llama-swap: remove old models, update quantizations, add tensor splits,
  remove GGML_CUDA_ENABLE_UNIFIED_MEMORY flags, and simplify configuration
2026-02-06 21:28:31 -05:00

54 lines
1.2 KiB
Nix
Executable File

{ 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
home.file = {
".pi/agent/models.json" = {
text = builtins.toJSON {
providers = {
"llama-swap" = {
baseUrl = "https://llm-api.va.reichard.io/v1";
api = "openai-completions";
apiKey = "none";
models = helpers.toPiModels llamaSwapConfig;
};
};
};
};
".pi/agent/AGENTS.md" = {
source = ./config/AGENTS.md;
};
".pi/agent/skills" = {
source = ./config/skills;
recursive = true;
};
".pi/agent/prompts" = {
source = ./config/prompts;
recursive = true;
};
};
};
}