programs.pi.enable
Whether to enable Pi coding agent.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.package
The base Pi coding agent package to use.
Type: package
Default:
pkgs.pi-coding-agent
Declared by:
programs.pi.packages
List of Pi packages (derivations or directory paths) to load.
Type: list of (package or absolute path or string)
Default:
[ ]
Declared by:
programs.pi.assertions
List of assertions to check during evaluation.
Type: list of unspecified value
Default:
[ ]
Declared by:
programs.pi.builtinProviders
List of built-in LLM providers.
Type: list of string (read only)
Default:
[
"antigravity"
"openai"
"anthropic"
"google"
"ollama"
"openrouter"
"groq"
"deepseek"
"mistral"
"bedrock"
"xai"
"github-models"
"copilot"
"azure-openai"
"cerebras"
"together"
"fireworks"
"cohere"
]
Declared by:
programs.pi.environment.optional
List of optional environment variable names supported by the configuration.
Type: list of string
Default:
[ ]
Declared by:
programs.pi.environment.required
List of environment variable names required by enabled extensions or providers. These are checked or documented as runtime requirements.
Type: list of string
Default:
[ ]
Declared by:
programs.pi.environment.variables
Non-secret environment variables to export for Pi. DO NOT put secret API keys here as they will be written into the Nix store.
Type: attribute set of (null or string or signed integer or boolean or absolute path)
Default:
{ }
Declared by:
programs.pi.extensions.echo.enable
Whether to enable Pi echo extension.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.extensions.echo.package
Package providing the echo extension.
Type: package
Default:
pkgs.piExtensions.echo
Declared by:
programs.pi.extensions.pi-gpt-search.enable
Whether to enable Pi GPT search extension (OpenAI Codex search engine).
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.extensions.pi-gpt-search.package
Package providing the pi-gpt-search extension.
Type: package
Default:
pkgs.piExtensions.pi-gpt-search
Declared by:
programs.pi.extensions.pi-gpt-search.debug
Enable debug logging for web search operations.
Type: boolean
Default:
false
Declared by:
programs.pi.extensions.plan-mode.enable
Whether to enable Pi plan-mode extension.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.extensions.plan-mode.package
Package providing the plan-mode extension.
Type: package
Default:
pkgs.piExtensions.plan-mode
Declared by:
programs.pi.extensions.plan-mode.autoApprove
Whether to automatically approve plan steps.
Type: boolean
Default:
false
Declared by:
programs.pi.extensions.plan-mode.maxSteps
Maximum number of steps in plan execution.
Type: signed integer
Default:
10
Declared by:
programs.pi.extensions.plan-mode.mode
Planning execution mode.
Type: one of “fast”, “balanced”, “thorough”
Default:
"balanced"
Declared by:
programs.pi.extensions.research-tools.enable
Whether to enable Pi legal tech research tools & MCP bridge extension.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.extensions.research-tools.enableGptResearcher
Enable GPT Researcher synthesis fallback tool (conditional, disabled by default).
Type: boolean
Default:
false
Declared by:
programs.pi.extensions.research-tools.enableWorldMonitor
Enable World Monitor macro context tool (conditional, disabled by default).
Type: boolean
Default:
false
Declared by:
programs.pi.extensions.research-tools.enableXhs
Enable XHS / RedNote Chinese market research tool (conditional, disabled by default).
Type: boolean
Default:
false
Declared by:
programs.pi.extensions.research-tools.package
Package providing the research-tools extension.
Type: package
Default:
pkgs.piExtensions.research-tools
Declared by:
programs.pi.extensions.ripgrep-search.enable
Whether to enable Pi ripgrep-search extension.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.extensions.ripgrep-search.package
Package providing the ripgrep-search extension.
Type: package
Default:
pkgs.piExtensions.ripgrep-search
Declared by:
programs.pi.extraExtensions
Extra standalone extension file paths or derivations to load.
Type: list of (package or absolute path or string)
Default:
[ ]
Declared by:
programs.pi.extraPackages
Extra CLI packages to make available in PATH for Pi (alias/escape hatch for runtimePackages).
Type: list of package
Default:
[ ]
Declared by:
programs.pi.extraSkills
Extra standalone skill directory paths or derivations to load.
Type: list of (package or absolute path or string)
Default:
[ ]
Declared by:
programs.pi.finalPackage
The fully configured and wrapped Pi coding agent package.
Type: package (read only)
Declared by:
programs.pi.finalRuntimePackages
Combined list of all runtime packages from core, extensions, and derivations.
Type: list of package (read only)
Default:
[ ]
Declared by:
programs.pi.generatedModelsFile
Generated immutable models.json derivation (null if no providers defined).
Type: null or package (read only)
Default:
null
Declared by:
programs.pi.generatedSettingsFile
Generated immutable settings.json derivation.
Type: package (read only)
Declared by:
programs.pi.prompts
List of prompt template files or derivations to load.
Type: list of (package or absolute path or string)
Default:
[ ]
Declared by:
programs.pi.providers
Declared LLM providers with options and model definitions.
Type: attribute set of (open submodule of attribute set of anything)
Default:
{ }
Declared by:
programs.pi.providers.<name>.enable
Whether this provider is enabled.
Type: boolean
Default:
true
Declared by:
programs.pi.providers.<name>.package
Optional package/extension derivation implementing this provider.
Type: null or package
Default:
null
Declared by:
programs.pi.providers.<name>.packages
Additional packages implementing this provider.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.providers.<name>.api
API protocol type (e.g. openai-completions, anthropic-messages).
Type: null or string
Default:
null
Declared by:
programs.pi.providers.<name>.apiKey
API key or placeholder.
Type: null or string
Default:
null
Declared by:
programs.pi.providers.<name>.baseUrl
Base URL for the provider API endpoint.
Type: null or string
Default:
null
Declared by:
programs.pi.providers.<name>.environment
Environment variables and secret requirements for this provider.
Type: submodule
Default:
{ }
Declared by:
programs.pi.providers.<name>.environment.optional
Optional environment variable names.
Type: list of string
Default:
[ ]
Declared by:
programs.pi.providers.<name>.environment.required
Required environment variable names.
Type: list of string
Default:
[ ]
Declared by:
programs.pi.providers.<name>.environment.variables
Environment variables exported for this provider.
Type: attribute set of anything
Default:
{ }
Declared by:
programs.pi.providers.<name>.models
Models offered by this provider.
Type: (attribute set of (open submodule of attribute set of anything)) or (list of anything) convertible to it
Default:
{ }
Declared by:
programs.pi.providers.<name>.models.<name>.contextWindow
Maximum context window size in tokens.
Type: null or signed integer
Default:
null
Declared by:
programs.pi.providers.<name>.models.<name>.id
Unique model identifier.
Type: string
Default:
"‹name›"
Declared by:
programs.pi.providers.<name>.models.<name>.maxTokens
Maximum output tokens.
Type: null or signed integer
Default:
null
Declared by:
programs.pi.providers.<name>.models.<name>.name
Human-readable display name for the model.
Type: null or string
Default:
null
Declared by:
programs.pi.providers.<name>.models.<name>.reasoning
Whether the model supports extended reasoning/thinking.
Type: null or boolean
Default:
null
Declared by:
programs.pi.providers.<name>.name
Provider identifier.
Type: string
Default:
"‹name›"
Declared by:
programs.pi.providers.<name>.runtimePackages
Runtime dependencies added to PATH for this provider.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.rawExtensions
List of standalone extension file paths or derivations to load.
Type: list of (package or absolute path or string)
Default:
[ ]
Declared by:
programs.pi.rawSkills
List of standalone skill directory paths or derivations to load.
Type: list of (package or absolute path or string)
Default:
[ ]
Declared by:
programs.pi.runtimePackages
List of CLI packages to make available in PATH for Pi and its extensions.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.settings
Pi settings configuration (generated as settings.json).
Type: open submodule of attribute set of anything
Default:
{ }
Declared by:
programs.pi.settings.enableSkillCommands
Register skills as /skill:name commands.
Type: boolean
Default:
true
Declared by:
programs.pi.settings.enabledModels
Model patterns for Ctrl+P cycling.
Type: list of string
Default:
[ ]
Declared by:
programs.pi.settings.compaction
Conversation compaction settings.
Type: null or (submodule)
Default:
null
Declared by:
programs.pi.settings.compaction.enabled
Enable auto-compaction.
Type: null or boolean
Default:
null
Declared by:
programs.pi.settings.compaction.keepRecentTokens
Recent tokens to keep without summarization.
Type: null or signed integer
Default:
null
Declared by:
programs.pi.settings.compaction.reserveTokens
Tokens reserved for LLM response.
Type: null or signed integer
Default:
null
Declared by:
programs.pi.settings.defaultModel
Default model ID to use (string ID or model object).
Type: (null or string) or (string or (attribute set)) convertible to it
Default:
null
Declared by:
programs.pi.settings.defaultProvider
Default LLM provider to use (string name or provider object).
Type: (null or string) or (string or (attribute set)) convertible to it
Default:
null
Declared by:
programs.pi.settings.defaultThinkingLevel
Default reasoning/thinking level.
Type: null or one of “off”, “minimal”, “low”, “medium”, “high”, “xhigh”, “max”
Default:
null
Declared by:
programs.pi.settings.npmCommand
Command argv used for npm package operations.
Type: null or (list of string)
Default:
null
Declared by:
programs.pi.settings.retry
Agent and provider retry settings.
Type: null or (submodule)
Default:
null
Declared by:
programs.pi.settings.retry.enabled
Enable automatic agent-level retry.
Type: null or boolean
Default:
null
Declared by:
programs.pi.settings.retry.baseDelayMs
Base delay for exponential backoff.
Type: null or signed integer
Default:
null
Declared by:
programs.pi.settings.retry.maxRetries
Maximum agent-level retry attempts.
Type: null or signed integer
Default:
null
Declared by:
programs.pi.settings.retry.provider
Provider-level retry configuration.
Type: null or (submodule)
Default:
null
Declared by:
programs.pi.settings.retry.provider.maxRetries
Provider/SDK retry attempts.
Type: null or signed integer
Default:
null
Declared by:
programs.pi.settings.retry.provider.maxRetryDelayMs
Max server-requested delay before failing.
Type: null or signed integer
Default:
null
Declared by:
programs.pi.settings.retry.provider.timeoutMs
Provider timeout in milliseconds.
Type: null or signed integer
Default:
null
Declared by:
programs.pi.settings.sessionDir
Directory for session storage and lookup.
Type: null or string
Default:
null
Declared by:
programs.pi.settings.theme
Name of the active theme.
Type: null or string
Default:
null
Declared by:
programs.pi.skills.brazil-localization-test.enable
Whether to enable Pi Brazil localization test skill.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.skills.brazil-localization-test.package
Package providing the brazil-localization-test skill.
Type: null or package
Default:
<derivation pi-skill-brazil-localization-test-0.1.0>
Declared by:
programs.pi.skills.brazil-localization-test.runtimePackages
Additional runtime packages required by the brazil-localization-test skill.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.skills.commit-style.enable
Whether to enable Pi commit-style skill (Conventional Commits v1.0.0).
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.skills.commit-style.package
Package providing the commit-style skill.
Type: package
Default:
pkgs.piSkills.commit-style
Declared by:
programs.pi.skills.commit-style.customGuidelines
Additional guidelines or rules for writing commit messages.
Type: list of string
Default:
[ ]
Declared by:
programs.pi.skills.commit-style.examples
Additional repository-specific commit examples.
Type: list of (string or (submodule))
Default:
[ ]
Declared by:
programs.pi.skills.commit-style.scopes
List of recommended or repository-specific scopes.
Type: list of string
Default:
[ ]
Declared by:
programs.pi.skills.commit-style.types
List of allowed commit types with descriptions.
Type: list of (string or (submodule))
Default:
[
{
description = "A new feature for the user or library (correlates with SemVer MINOR)";
name = "feat";
}
{
description = "A bug fix for the user or library (correlates with SemVer PATCH)";
name = "fix";
}
{
description = "Documentation changes only";
name = "docs";
}
{
description = "Code style/formatting changes that do not affect code logic or semantics";
name = "style";
}
{
description = "Refactoring production code (neither fixes a bug nor adds a feature)";
name = "refactor";
}
{
description = "A code change that improves performance";
name = "perf";
}
{
description = "Adding missing tests, refactoring tests, or correcting test fixtures";
name = "test";
}
{
description = "Changes that affect the build system or external dependencies (e.g. Nix, npm, Cargo)";
name = "build";
}
{
description = "Changes to CI/CD configuration files, scripts, and workflows (e.g. GitHub Actions)";
name = "ci";
}
{
description = "Routine maintenance tasks, tool configs, or auxiliary changes";
name = "chore";
}
{
description = "Reverts a previous commit";
name = "revert";
}
]
Declared by:
programs.pi.skills.competitor-gap-analysis.enable
Whether to enable Pi competitor gap analysis skill.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.skills.competitor-gap-analysis.package
Package providing the competitor-gap-analysis skill.
Type: null or package
Default:
<derivation pi-skill-competitor-gap-analysis-0.1.0>
Declared by:
programs.pi.skills.competitor-gap-analysis.runtimePackages
Additional runtime packages required by the competitor-gap-analysis skill.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.skills.evidence-deduplication.enable
Whether to enable Pi evidence deduplication skill.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.skills.evidence-deduplication.package
Package providing the evidence-deduplication skill.
Type: null or package
Default:
<derivation pi-skill-evidence-deduplication-0.1.0>
Declared by:
programs.pi.skills.evidence-deduplication.runtimePackages
Additional runtime packages required by the evidence-deduplication skill.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.skills.legal-market-segmentation.enable
Whether to enable Pi legal market segmentation skill.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.skills.legal-market-segmentation.package
Package providing the legal-market-segmentation skill.
Type: null or package
Default:
<derivation pi-skill-legal-market-segmentation-0.1.0>
Declared by:
programs.pi.skills.legal-market-segmentation.runtimePackages
Additional runtime packages required by the legal-market-segmentation skill.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.skills.legal-pain-discovery.enable
Whether to enable Pi legal pain discovery research skill.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.skills.legal-pain-discovery.package
Package providing the legal-pain-discovery skill.
Type: null or package
Default:
<derivation pi-skill-legal-pain-discovery-0.1.0>
Declared by:
programs.pi.skills.legal-pain-discovery.runtimePackages
Additional runtime packages required by the legal-pain-discovery skill.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.skills.opportunity-scoring.enable
Whether to enable Pi opportunity scoring skill.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.skills.opportunity-scoring.package
Package providing the opportunity-scoring skill.
Type: null or package
Default:
<derivation pi-skill-opportunity-scoring-0.1.0>
Declared by:
programs.pi.skills.opportunity-scoring.runtimePackages
Additional runtime packages required by the opportunity-scoring skill.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.skills.product-opportunity-report.enable
Whether to enable Pi product opportunity report skill.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.skills.product-opportunity-report.package
Package providing the product-opportunity-report skill.
Type: null or package
Default:
<derivation pi-skill-product-opportunity-report-0.1.0>
Declared by:
programs.pi.skills.product-opportunity-report.runtimePackages
Additional runtime packages required by the product-opportunity-report skill.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.skills.voice-of-customer-mining.enable
Whether to enable Pi voice of customer mining skill.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.pi.skills.voice-of-customer-mining.package
Package providing the voice-of-customer-mining skill.
Type: null or package
Default:
<derivation pi-skill-voice-of-customer-mining-0.1.0>
Declared by:
programs.pi.skills.voice-of-customer-mining.runtimePackages
Additional runtime packages required by the voice-of-customer-mining skill.
Type: list of package
Default:
[ ]
Declared by:
programs.pi.themes
List of theme JSON files or derivations to load.
Type: list of (package or absolute path or string)
Default:
[ ]
Declared by: