{inputs, ...}: {
  coding.agents.pi = {
    enable = true;
    agentsInput = inputs.agents;

    modelOverrides = {
      chiron = "minimax/MiniMax-M2.7";
      chiron-forge = "minimax/MiniMax-M2.7";
    };

    # Coding rules for Pi agent
    # Rules sourced from AGENTS repo
    codingRules = {
      # Language-specific rules
      languages = [
        "nix" # Nix language conventions
      ];

      # Standard concerns from AGENTS repo
      concerns = [
        "coding-style" # General coding principles
        "naming" # Naming conventions (camelCase, snake_case, etc.)
        "documentation" # Documentation standards
        "testing" # Testing guidelines (Arrange-Act-Assert)
        "git-workflow" # Conventional commits, branch naming
        "git-identity" # Git identity configuration for agents
        "project-structure" # Project layout conventions
      ];

      # No framework-specific rules for NixOS config
      frameworks = [];
    };

    settings = {
      packages = [
        "npm:@dreadedzombie/pi-init"
        "npm:@plannotator/pi-extension"
        "npm:@thesethrose/pi-zai-provider"
        "npm:pi-agent-browser-native"
        "npm:pi-beads-extension"
        "npm:pi-lens"
        "npm:pi-markdown-preview"
        "npm:pi-mcp-adapter"
        "npm:pi-powerline-footer"
        "npm:pi-prompt-template-model"
        "npm:pi-subagents"
        "npm:pi-tool-display"
        "npm:pi-web-access"
        "git:github.com/hk-vk/pi-connect"
      ];

      defaultProvider = "minimax";
      defaultModel = "MiniMax-M2.7";
      defaultThinkingLevel = "high";
    };

    # MCP servers auto-inherited from programs.mcp in default.nix
  };
}
