Options reference
Reference for every configurable option in devenv.nix. Generated from
the devenv module tree.
android
android.abis#
The Android ABIs to install. By default, the arm64-v8a and x86_64 ABIs are installed.
Typelist of string
Default
[
"arm64-v8a"
"x86_64"
]
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.android-studio.enable#
Whether to enable the installation of Android Studio.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.android-studio.package#
The Android Studio package to use. By default, the Android Studio package from nixpkgs is used.
Typepackage
Defaultpkgs.android-studio
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.buildTools.version#
The version of the Android build tools to install. By default, version 30.0.3 is installed or [ “35.0.0” “33.0.2” “30.0.3” ] if flutter is enabled.
Typelist of string
Default
[
"34.0.0"
]
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.cmake.version#
The CMake versions to install for Android. By default, version 3.22.1 is installed.
Typelist of string
Default
[
"3.22.1"
]
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.cmdLineTools.version#
The version of the Android command line tools to install. By default, version 11.0 is installed or 8.0 if flutter is enabled.
Typestring
Default"11.0"
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.emulator.enable#
Whether to include the Android Emulator. By default, the emulator is included.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.emulator.version#
The version of the Android Emulator to install. Available versions depend on the nixpkgs version. To see available versions, try building with an invalid version; the error message will list all available options.
Typestring
DefaultLatest version in nixpkgs
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.enable#
Whether to enable tools for Android Development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.extraLicenses#
The additional Android licenses to accept. By default, several standard licenses are accepted.
Typelist of string
Default
[
"android-sdk-preview-license"
"android-googletv-license"
"android-sdk-arm-dbt-license"
"google-gdk-license"
"intel-android-extra-license"
"intel-android-sysimage-license"
"mips-android-sysimage-license"
]
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.extras#
The Android extras to install. By default, the Google Cloud Messaging (GCM) extra is installed.
Typelist of string
Default
[
"extras;google;gcm"
]
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.flutter.enable#
Whether to include the Flutter tools.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.flutter.package#
The Flutter package to use. By default, the Flutter package from nixpkgs is used.
Typepackage
Defaultpkgs.flutter
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.googleAPIs.enable#
Whether to use the Google APIs. By default, the Google APIs are used.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.googleTVAddOns.enable#
Whether to use the Google TV Add-Ons. By default, the Google TV Add-Ons are used.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.ndk.enable#
Whether to include the Android NDK (Native Development Kit). By default, the NDK is included.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.ndk.version#
The version of the Android NDK (Native Development Kit) to install. By default, version 26.1.10909125 is installed or for flutter version 28.2.13676358.
Typelist of string
Default
[
"26.1.10909125"
]
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.platformTools.version#
The version of the Android platform tools to install. Available versions depend on the nixpkgs version. To see available versions, try building with an invalid version; the error message will list all available options.
Typestring
DefaultLatest version in nixpkgs
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.platforms.version#
The Android platform versions to install. By default, versions 32, 34 and 36 are installed.
Typelist of string
Default
[
"32"
"34"
"36"
]
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.reactNative.enable#
Whether to include the React Native tools.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.sources.enable#
Whether to include the Android sources. By default, the sources are not included.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.systemImageTypes#
The Android system image types to install. By default, the google_apis_playstore system image is installed.
Typelist of string
Default
[
"google_apis_playstore"
]
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.systemImages.enable#
Whether to include the Android system images. By default, the system images are included.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/integrations/android.nix
android.tools.version#
The version of the Android SDK tools to install. By default, version 26.1.1 is installed.
Typestring
Default"26.1.1"
Declared indevenv/blob/main/src/modules/integrations/android.nix
apple
apple.sdk#
The Apple SDK to add to the developer environment on macOS.
If set to null, the system SDK can be used if the shell allows access
to external environment variables.
Typenull or package
Defaultif pkgs.stdenv.hostPlatform.isDarwin then pkgs.apple-sdk else null
Examplepkgs.apple-sdk_15
Declared indevenv/blob/main/src/modules/top-level.nix
aws-vault
aws-vault.awscliWrapper#
Attribute set of packages including awscli2
Typesubmodule
Defaultpkgs
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.awscliWrapper.enable#
Whether to enable Wraps awscli2 binary as
aws-vault exec \<profile\> -- aws <args>. .
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.awscliWrapper.package#
The awscli2 package to use.
Typepackage
Defaultpkgs.awscli2
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.enable#
Whether to enable aws-vault integration.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.opentofuWrapper#
Attribute set of packages including opentofu
Typesubmodule
Defaultpkgs
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.opentofuWrapper.enable#
Whether to enable Wraps opentofu binary as
aws-vault exec \<profile\> -- opentofu <args>. .
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.opentofuWrapper.package#
The opentofu package to use.
Typepackage
Defaultpkgs.opentofu
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.package#
The aws-vault package to use.
Typepackage
Defaultpkgs.aws-vault
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.profile#
The profile name passed to aws-vault exec.
Typestring
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.terraformWrapper#
Attribute set of packages including terraform
Typesubmodule
Defaultpkgs
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.terraformWrapper.enable#
Whether to enable Wraps terraform binary as
aws-vault exec \<profile\> -- terraform <args>. .
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
aws-vault.terraformWrapper.package#
The terraform package to use.
Typepackage
Defaultpkgs.terraform
Declared indevenv/blob/main/src/modules/integrations/aws-vault.nix
cachix
cachix.enable#
Whether to enable Cachix integration.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/cachix.nix
cachix.package#
The cachix package to use.
Typepackage
Defaultpkgs.cachix
Declared indevenv/blob/main/src/modules/cachix.nix
cachix.pull#
Which Cachix caches to pull from.
Typelist of string
Default[ "devenv" ]
Declared indevenv/blob/main/src/modules/cachix.nix
cachix.push#
Which Cachix cache to push to. This cache is also added to
cachix.pull.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/cachix.nix
certFile
certFile#
Custom certificate file name, uses mkcert default if unset
Typenull or string
Defaultnull
Example"mycert.pem"
Declared indevenv/blob/main/src/modules/integrations/mkcert.nix
certificates
certificates#
List of domains to generate certificates for.
Typelist of string
Default[ ]
Example
[
"example.com"
"*.example.com"
]
Declared indevenv/blob/main/src/modules/integrations/mkcert.nix
changelogs
changelogs#
List of changelog entries for this module.
Typelist of (submodule)
Default[ ]
Declared indevenv/blob/main/src/modules/changelogs.nix
changelogs.*.date#
Date of the changelog entry in YYYY-MM-DD format.
Typestring matching the pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
Example"2025-01-15"
Declared indevenv/blob/main/src/modules/changelogs.nix
changelogs.*.description#
Markdown description of the change.
Typestring
Declared indevenv/blob/main/src/modules/changelogs.nix
changelogs.*.title#
Title of the changelog entry.
Typestring
Example"git-hooks.package is now pkgs.prek"
Declared indevenv/blob/main/src/modules/changelogs.nix
changelogs.*.when#
Whether to include this changelog entry (useful for conditional changelogs).
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/changelogs.nix
claude
claude.code.agent#
The agent to use as Claude Code’s primary agent.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.agents#
Custom Claude Code sub-agents to create in the project. Sub-agents are specialized AI assistants that handle specific tasks with their own context window and can be invoked automatically or explicitly.
For more details, see: https://docs.anthropic.com/en/docs/claude-code/sub-agents
Typeattribute set of (submodule)
Default{ }
Example
{
code-reviewer = {
description = "Expert code review specialist that checks for quality, security, and best practices. Use proactively after code changes.";
model = "opus";
tools = [ "Read" "Grep" "TodoWrite" ];
permissionMode = "plan";
prompt = ''
You are an expert code reviewer. When reviewing code, check for:
- Code readability and maintainability
- Proper error handling
- Security vulnerabilities
- Performance issues
- Adherence to project conventions
Provide constructive feedback with specific suggestions for improvement.
'';
};
test-writer = {
description = "Specialized in writing comprehensive test suites";
tools = [ "Read" "Write" "Edit" "Bash" ];
prompt = ''
You are a test writing specialist. Create comprehensive test suites that:
- Cover edge cases and error conditions
- Follow the project's testing conventions
- Include unit, integration, and property-based tests where appropriate
- Have clear test names that describe what is being tested
'';
};
}
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.agents.\<name\>.description#
What the sub-agent does
Typestring
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.agents.\<name\>.effort#
Override the effort level for this agent.
Typenull or one of "low", "medium", "high", "xhigh", "max"
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.agents.\<name\>.model#
Override the model for this agent. Accepts an alias (sonnet, opus,
haiku, fable), a full model ID (e.g. claude-opus-5), or inherit.
Typenull or string
Defaultnull
Example"opus"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.agents.\<name\>.permissionMode#
Permission mode for this specific sub-agent. manual is an alias for
default.
Typenull or one of "default", "manual", "acceptEdits", "plan", "auto", "dontAsk", "bypassPermissions"
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.agents.\<name\>.prompt#
The system prompt for the sub-agent
Typestrings concatenated with "\n"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.agents.\<name\>.tools#
List of allowed tools for this sub-agent
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.apiKeyHelper#
Custom script for generating authentication tokens. The script should output the API key to stdout.
Typenull or string
Defaultnull
Example"aws secretsmanager get-secret-value --secret-id claude-api-key | jq -r .SecretString"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.cleanupPeriodDays#
Retention period for chat transcripts in days.
Typenull or signed integer
Defaultnull
Example30
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.commands#
Custom Claude Code slash commands to create in the project. Commands are
invoked with /command-name in Claude Code.
Typeattribute set of string
Default{ }
Example
{
test = ''
Run all tests in the project
```bash
cargo test
```
'';
fmt = ''
Format all code in the project
```bash
cargo fmt
nixfmt **/*.nix
```
'';
}
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.enable#
Whether to enable Claude Code integration with automatic hooks and commands setup.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.env#
Custom environment variables for Claude Code sessions.
Typeattribute set of string
Default{ }
Example
{
NODE_ENV = "development";
PYTHONPATH = "/custom/python/path";
}
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.forceLoginMethod#
Restrict the login method.
- claudeai: only claude.ai accounts
- console: only Claude Console (API key) accounts
- gateway: only a cloud gateway
Typenull or one of "claudeai", "console", "gateway"
Defaultnull
Example"claudeai"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.hooks#
Hooks that run at different points in Claude Code’s workflow.
Typeopen submodule of attribute set of (submodule)
Default{ }
Example
{
protect-secrets = {
enable = true;
name = "Protect sensitive files";
hookType = "PreToolUse";
matcher = "^(Edit|MultiEdit|Write)$";
command = ''
json=$(cat);
file_path = $(echo "$json" | jq - r '.file_path // empty');
grep -q 'SECRET\\|PASSWORD\\|API_KEY' "$file_path" && echo 'Blocked: sensitive data detected' && exit 1 || exit 0
'';
};
run-tests = {
enable = true;
name = "Run tests after edit";
hookType = "PostToolUse";
matcher = "^(Edit|MultiEdit|Write)$";
command = "cargo test";
};
log-completion = {
enable = true;
name = "Log when Claude finishes";
hookType = "Stop";
command = "echo 'Claude finished responding' >> claude.log";
};
}
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.hooks.\<name\>.command#
The command to execute.
Typestring
claude.code.hooks.\<name\>.enable#
Whether to enable this hook.
Typeboolean
Defaulttrue
claude.code.hooks.\<name\>.hookType#
The type of hook:
- PreToolUse: Runs before tool calls (can block them)
- PostToolUse: Runs after tool calls complete
- PostToolUseFailure: Runs after a tool call fails
- Notification: Runs when Claude Code sends notifications
- UserPromptSubmit: Runs when user submits a prompt
- SessionStart: Runs when a Claude Code session starts
- SessionEnd: Runs when a Claude Code session ends
- Stop: Runs when Claude Code finishes responding
- SubagentStart: Runs when a subagent task starts
- SubagentStop: Runs when subagent tasks complete
- PreCompact: Runs before message compaction
- PermissionRequest: Runs when a permission is requested
- WorktreeCreate: Runs when a new worktree is created
- WorktreeRemove: Runs when a worktree is removed
- TeammateIdle: Runs when a teammate agent becomes idle
- TaskCompleted: Runs when a task is completed
- ConfigChange: Runs when configuration changes
Typeone of "PreToolUse", "PostToolUse", "PostToolUseFailure", "Notification", "UserPromptSubmit", "SessionStart", "SessionEnd", "Stop", "SubagentStart", "SubagentStop", "PreCompact", "PermissionRequest", "WorktreeCreate", "WorktreeRemove", "TeammateIdle", "TaskCompleted", "ConfigChange"
Default"PostToolUse"
claude.code.hooks.\<name\>.matcher#
Regex pattern to match against tool names (for PreToolUse/PostToolUse hooks).
Typestring
Default""
claude.code.hooks.\<name\>.name#
The name of the hook (appears in logs).
Typestring
Default""
claude.code.hooks.git-hooks-run#
Automatically runs git-hooks after Claude edits files. Enabled by
default when git-hooks.enable is true.
Typesubmodule
Default
{
enable = config.git-hooks.enable;
name = "Run git-hooks";
hookType = "PostToolUse";
matcher = "^(Edit|MultiEdit|Write)$";
command = "cd \"$DEVENV_ROOT\" && \${config.git-hooks.package.meta.mainProgram} run";
}
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.hooks.git-hooks-run.command#
The command to execute.
Typestring
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.hooks.git-hooks-run.enable#
Whether to enable this hook.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.hooks.git-hooks-run.hookType#
The type of hook:
- PreToolUse: Runs before tool calls (can block them)
- PostToolUse: Runs after tool calls complete
- PostToolUseFailure: Runs after a tool call fails
- Notification: Runs when Claude Code sends notifications
- UserPromptSubmit: Runs when user submits a prompt
- SessionStart: Runs when a Claude Code session starts
- SessionEnd: Runs when a Claude Code session ends
- Stop: Runs when Claude Code finishes responding
- SubagentStart: Runs when a subagent task starts
- SubagentStop: Runs when subagent tasks complete
- PreCompact: Runs before message compaction
- PermissionRequest: Runs when a permission is requested
- WorktreeCreate: Runs when a new worktree is created
- WorktreeRemove: Runs when a worktree is removed
- TeammateIdle: Runs when a teammate agent becomes idle
- TaskCompleted: Runs when a task is completed
- ConfigChange: Runs when configuration changes
Typeone of "PreToolUse", "PostToolUse", "PostToolUseFailure", "Notification", "UserPromptSubmit", "SessionStart", "SessionEnd", "Stop", "SubagentStart", "SubagentStop", "PreCompact", "PermissionRequest", "WorktreeCreate", "WorktreeRemove", "TeammateIdle", "TaskCompleted", "ConfigChange"
Default"PostToolUse"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.hooks.git-hooks-run.matcher#
Regex pattern to match against tool names (for PreToolUse/PostToolUse hooks).
Typestring
Default""
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.hooks.git-hooks-run.name#
The name of the hook (appears in logs).
Typestring
Default""
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.mcpServers#
MCP (Model Context Protocol) servers to configure. These servers provide additional capabilities and context to Claude Code.
Typeattribute set of (submodule)
Default
{
"mcp.devenv.sh" = {
type = "http";
url = "https://mcp.devenv.sh";
};
}
Example
{
awslabs-iam-mcp-server = {
type = "stdio";
command = lib.getExe pkgs.awslabs-iam-mcp-server;
args = [ ];
env = { };
};
github = {
type = "http";
url = "https://api.githubcopilot.com/mcp/";
headers = {
Authorization = "Bearer GITHUB_PAT";
};
};
linear = {
type = "http";
url = "https://mcp.linear.app/mcp";
};
devenv = {
type = "stdio";
command = "devenv";
args = [ "mcp" ];
env = {
DEVENV_ROOT = config.devenv.root;
};
};
}
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.mcpServers.\<name\>.args#
Arguments to pass to the command for stdio MCP servers.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.mcpServers.\<name\>.command#
Command to execute for stdio MCP servers.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.mcpServers.\<name\>.env#
Environment variables for stdio MCP servers.
Typeattribute set of string
Default{ }
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.mcpServers.\<name\>.headers#
HTTP headers for HTTP MCP servers (e.g., for authentication).
Typeattribute set of string
Default{ }
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.mcpServers.\<name\>.type#
Type of MCP server connection.
Typeone of "stdio", "http"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.mcpServers.\<name\>.url#
URL for HTTP MCP servers.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.model#
Override the default Claude model.
Typenull or string
Defaultnull
Example"claude-3-opus-20240229"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.permissions#
Fine-grained permissions for tool usage. Supports global settings and
per-tool allow/ask/deny rules. Tool rules can be placed under rules or
directly (backward compatible).
Typeopen submodule of attribute set of (submodule)
Default{ }
Example
{
defaultMode = "acceptEdits";
disableBypassPermissionsMode = true;
additionalDirectories = [ "/shared/libs" ];
rules = {
Edit = {
deny = [ "*.secret" "*.env" ];
};
Bash = {
allow = [ "ls:*" "cat:*" ];
ask = [ "git:*" "npm:*" ];
deny = [ "rm -rf:*" "sudo:*" ];
};
# Use an empty string to emit a bare tool entry for tools
# without a matcher format (e.g. WebSearch, AskUserQuestion).
WebSearch.allow = [ "" ];
AskUserQuestion.deny = [ "" ];
};
}
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.permissions.\<name\>.allow#
List of allowed patterns. An empty string emits a bare tool entry (e.g.
WebSearch rather than WebSearch(pattern)), matching the tool
regardless of input. Use this for tools without a matcher format such as
WebSearch or AskUserQuestion.
Typelist of string
Default[ ]
claude.code.permissions.\<name\>.ask#
List of patterns that require user approval. An empty string emits a
bare tool entry (e.g. WebSearch rather than WebSearch(pattern)).
Typelist of string
Default[ ]
claude.code.permissions.\<name\>.deny#
List of denied patterns. An empty string emits a bare tool entry (e.g.
AskUserQuestion rather than AskUserQuestion(pattern)), which is
required to deny tools without a matcher format outright.
Typelist of string
Default[ ]
claude.code.permissions.additionalDirectories#
Allow Claude Code to access directories outside the project root.
Typelist of string
Default[ ]
Example
[
"/shared/libs"
"/common/configs"
]
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.permissions.defaultMode#
Global permission mode for Claude Code.
- default: Prompts on first use of each tool (
manualis an alias) - acceptEdits: Auto-accepts file edits
- plan: Read-only mode
- auto: Auto-approves tool calls with background safety checks
- dontAsk: Auto-denies unless pre-approved via permissions
- bypassPermissions: Skips all permission prompts
Typenull or one of "default", "manual", "acceptEdits", "plan", "auto", "dontAsk", "bypassPermissions"
Defaultnull
Example"acceptEdits"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.permissions.disableBypassPermissionsMode#
Security option to prevent the dangerous bypassPermissions mode. Written
to settings.json as "disableBypassPermissionsMode": "disable".
Typenull or boolean
Defaultnull
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.permissions.rules#
Per-tool permission rules. Preferred location for tool permissions.
Typeattribute set of (submodule)
Default{ }
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.permissions.rules.\<name\>.allow#
List of allowed patterns. An empty string emits a bare tool entry (e.g.
WebSearch rather than WebSearch(pattern)), matching the tool
regardless of input. Use this for tools without a matcher format such as
WebSearch or AskUserQuestion.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.permissions.rules.\<name\>.ask#
List of patterns that require user approval. An empty string emits a
bare tool entry (e.g. WebSearch rather than WebSearch(pattern)).
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.permissions.rules.\<name\>.deny#
List of denied patterns. An empty string emits a bare tool entry (e.g.
AskUserQuestion rather than AskUserQuestion(pattern)), which is
required to deny tools without a matcher format outright.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills#
Custom Claude Code skills to create in the project. A skill is a folder of instructions Claude loads on demand when its description matches the task, keeping specialised knowledge out of the always-on context.
For more details, see: https://docs.anthropic.com/en/docs/claude-code/skills
Typeattribute set of (submodule)
Default{ }
Example
{
database-migrations = {
description = "How to write and run migrations in this project. Use when adding, editing or rolling back a migration.";
content = ''
Migrations live in `migrations/` and are applied with `diesel migration run`.
- One logical change per migration; never edit an applied migration.
- Always write the matching `down.sql`.
- Run `devenv tasks run db:reset` before opening a pull request.
'';
};
api-conventions = {
description = "REST conventions for this codebase. Use when adding or changing an HTTP endpoint.";
allowedTools = [ "Read" "Grep" ];
resources = {
"references/error-codes.md" = ./docs/error-codes.md;
};
content = ''
Endpoints are versioned under `/v1`.
Read references/error-codes.md before inventing a new error code.
'';
};
}
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.agent#
Which subagent type to use when context = "fork" is set, such as one
of claude.code.agents.
Typenull or string
Defaultnull
Example"code-reviewer"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.allowedTools#
Tools Claude can use without asking permission during the turn that invokes this skill. The grant clears when you send your next message.
This pre-approves tools rather than restricting them; use
disallowedTools to take tools away.
Typelist of string
Default[ ]
Example
[
"Read"
"Grep"
"Bash(git status:*)"
]
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.argumentHint#
Hint shown during autocomplete to indicate the expected arguments.
Typenull or string
Defaultnull
Example"[issue-number]"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.arguments#
Named positional arguments, substituted into content as $name. Names
map to argument positions in order.
Typelist of string
Default[ ]
Example
[
"issue"
"branch"
]
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.background#
Only applies with context = "fork". Set to false to wait for the
forked subagent’s result in the turn that invoked the skill, instead of
letting it run in the background.
Typenull or boolean
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.content#
The body of SKILL.md, loaded when the skill triggers.
Typestrings concatenated with "\n"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.context#
Set to fork to run the skill in a forked subagent context.
Typenull or value "fork" (singular enum)
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.copyMode#
How to materialise the skill’s files, as in files.\<name\>.copyMode. Use
seed to hand-edit a skill after devenv writes it once.
Typeone of "symlink", "seed", "copy"
Default"symlink"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.description#
What the skill covers and when Claude should load it. Descriptions are the only part of a skill kept in context at all times, so this is what decides whether the skill ever triggers.
Typestring
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.disableModelInvocation#
Prevent Claude from automatically loading this skill. Use for workflows
you want to trigger manually with /‹name›.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.disallowedTools#
Tools removed from Claude’s available pool while this skill is active; the restriction clears when you send your next message. Use it for a skill that should never call a given tool, such as an autonomous loop that must not stop to ask a question.
Typelist of string
Default[ ]
Example
[
"AskUserQuestion"
]
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.effort#
Override the effort level while this skill is active. Which levels are available depends on the model.
Typenull or one of "low", "medium", "high", "xhigh", "max"
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.model#
Model to use while this skill is active, for the rest of the current
turn. Accepts an alias (sonnet, opus, haiku, fable), a full
model ID (e.g. claude-opus-5), or inherit. With context = "fork"
it sets the forked subagent’s model instead.
Typenull or string
Defaultnull
Example"opus"
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.resources#
Files placed alongside SKILL.md, keyed by path relative to the skill
directory. Claude reads these on demand, so bulky reference material
belongs here rather than in content.
Typeattribute set of ((submodule) or absolute path convertible to it)
Default{ }
Example
{
"references/api.md" = ./api.md;
"scripts/check.sh" = { source = ./check.sh; executable = true; };
}
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.resources.\<name\>.executable#
Make the file executable
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.resources.\<name\>.ini#
ini contents
Typenull or (attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)))
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.resources.\<name\>.json#
json contents
Typenull or JSON value
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.resources.\<name\>.source#
source contents
Typenull or absolute path
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.resources.\<name\>.text#
text contents
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.resources.\<name\>.toml#
toml contents
Typenull or TOML value
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.resources.\<name\>.yaml#
yaml contents
Typenull or YAML 1.1 value
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.userInvocable#
Whether you can invoke the skill yourself with /‹name›. Set to false
when only Claude should invoke it, for background knowledge rather than
a command.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/integrations/claude.nix
claude.code.skills.\<name\>.whenToUse#
Additional context for when Claude should invoke the skill, such as
trigger phrases or example requests. Appended to description in the
skill listing and counts toward the 1536-character cap.
Typenull or string
Defaultnull
Example"Use when the user mentions migrations, schema changes or rollbacks."
Declared indevenv/blob/main/src/modules/integrations/claude.nix
container
container.isBuilding#
Devenv set it to true when the environment is a container.
Example:
{ pkgs, config, lib, ... }:
{
packages = [ pkgs.openssl ]
++ lib.optionals (!config.container.isBuilding) [ pkgs.git ];
}
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/containers.nix
containers
containers#
Container specifications that can be built, copied and ran using
devenv container.
Typeattribute set of (submodule)
Default{ }
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.copyToRoot#
Add a path to the container. Defaults to the whole git repo.
Typeabsolute path or list of absolute path
Defaultself
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.defaultCopyArgs#
Default arguments to pass to skopeo copy. You can override them by
passing arguments to the script.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.enableLayerDeduplication#
Whether to enable layer deduplication using the approach described at https://blog.eigenvalue.net/2023-nix2container-everything-once/ .
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.entrypoint#
Entrypoint of the container.
Typelist of anything
Default[ entrypoint ]
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.fromImage#
An existing OCI base image to build on top of, built with nix2container’s pullImage.
Typenull or package
Defaultnull
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.isBuilding#
Set to true when the environment is building this container.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers#
The layers to create.
Typelist of (submodule)
Default[ ]
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.copyToRoot#
A list of derivations copied to the image root directory.
Store path prefixes /nix/store/hash-path are removed in order to
relocate them to the image /.
Typelist of package
Default[ ]
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.deps#
A list of store paths to include in the layer.
Typelist of package
Default[ ]
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.ignore#
A store path to ignore when building the layer. This is mainly useful to ignore the configuration file from the container layer.
Typenull or path in the Nix store
Defaultnull
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.maxLayers#
The maximum number of layers to create.
Typesigned integer
Default1
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.perms#
A list of file permissions which are set when the tar layer is created.
These permissions are not written to the Nix store.
Typelist of (submodule)
Default[ ]
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.perms.*.gid#
The group ID to apply to all of the files matched by the regex.
Typenull or signed integer
Defaultnull
Example"1000"
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.perms.*.gname#
The group name to apply to all of the files matched by the regex.
Typenull or string
Defaultnull
Example"root"
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.perms.*.mode#
The numeric permissions mode to apply to all of the files matched by the
regex.
Typenull or string
Defaultnull
Example"644"
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.perms.*.path#
A store path.
Typepath in the Nix store
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.perms.*.regex#
A regex pattern to select files or directories to apply the mode to.
Typenull or string
Defaultnull
Example".*"
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.perms.*.uid#
The user ID to apply to all of the files matched by the regex.
Typenull or signed integer
Defaultnull
Example"1000"
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.perms.*.uname#
The user name to apply to all of the files matched by the regex.
Typenull or string
Defaultnull
Example"root"
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.layers.*.reproducible#
Whether the layer should be reproducible.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.maxLayers#
Maximum number of container layers created.
Typenull or signed integer
Default1
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.name#
Name of the container.
Typenull or string
Default"top-level name or containers.mycontainer.name"
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.registry#
Registry to push the container to.
Typenull or string
Default"docker-daemon:"
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.startupCommand#
Command to run in the container.
Can be a string, a package, or a list of strings for individual
arguments. Use a list when your entrypoint expects separate arguments,
e.g.: startupCommand = [ "-f" "/var/lib/haproxy/haproxy.cfg" ];
Typenull or string or package or list of string
Defaultnull
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.version#
Version/tag of the container.
Typenull or string
Default"latest"
Declared indevenv/blob/main/src/modules/containers.nix
containers.\<name\>.workingDir#
Working directory of the container.
Typestring
Default"/env"
Declared indevenv/blob/main/src/modules/containers.nix
delta
delta.enable#
Integrate delta into git: https://dandavison.github.io/delta/.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/delta.nix
devcontainer
devcontainer.enable#
Whether to enable generation .devcontainer.json for devenv integration.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings#
Devcontainer settings.
Typeopen submodule of (JSON value)
Default{ }
Declared indevenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings.customizations.vscode.extensions#
A list of pre-installed VS Code extensions.
Typelist of string
Default
[
"mkhl.direnv"
]
Declared indevenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings.customizations.zed.extensions#
A list of pre-installed Zed extensions.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings.image#
The name of an image in a container registry.
Typestring
Default"ghcr.io/cachix/devenv/devcontainer:latest"
Declared indevenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings.overrideCommand#
Override the default command.
Typeanything
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings.updateContentCommand#
A command to run after the container is created.
Typeanything
Default"devenv test"
Declared indevenv/blob/main/src/modules/integrations/devcontainer.nix
devenv
devenv.cliVersion#
Alias of {option}devenv.cli.version.
Typenull or string
Declared indevenv/blob/main/src/modules/update-check.nix
devenv.debug#
Whether to enable debug mode of devenv enterShell script.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/debug.nix
devenv.flakesIntegration#
Tells if devenv is being imported by a flake.nix file
Typeboolean
Default`true` when devenv is invoked via the flake integration; `false` otherwise.
Declared indevenv/blob/main/src/modules/update-check.nix
devenv.isTesting#
Whether the environment is being used for testing.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/tests.nix
devenv.latestVersion#
The latest version of devenv.
Typestring
Default"2.2.2"
Declared indevenv/blob/main/src/modules/update-check.nix
devenv.warnOnNewVersion#
Whether to warn when a new version of either devenv or the direnv integration is available.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/update-check.nix
difftastic
difftastic.enable#
Integrate difftastic into git: https://difftastic.wilfred.me.uk/.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/difftastic.nix
dotenv
dotenv.disableHint#
Disable the hint printed when a dotenv file is present but the integration is not enabled.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/dotenv.nix
dotenv.enable#
Whether to enable .env integration.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/dotenv.nix
dotenv.filename#
The path of the dotenv file to load, or a list of dotenv files to load in order of precedence.
Typestring or list of string
Default".env"
Declared indevenv/blob/main/src/modules/integrations/dotenv.nix
dotenv.substitution#
Whether to expand variable references such as $NAME, ${NAME}, and
${NAME:-default} in dotenv values. Disabled by default so dollar signs
in passwords, hashes, and tokens remain literal.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/dotenv.nix
enterShell
enterShell#
Bash code to execute when entering the shell.
Typestrings concatenated with "\n"
Default""
Declared indevenv/blob/main/src/modules/top-level.nix
enterTest
enterTest#
Bash code to execute to run the test.
Typestrings concatenated with "\n"
Declared indevenv/blob/main/src/modules/tests.nix
env
env#
Environment variables to be exposed inside the developer environment.
Typeopen submodule of lazy attribute set of anything
Default{ }
Declared indevenv/blob/main/src/modules/top-level.nix
files
files#
A set of files that will be linked into devenv root.
Typeattribute set of (submodule)
Default{ }
Declared indevenv/blob/main/src/modules/files.nix
files.\<name\>.copyMode#
How to materialize the file in the project root:
symlink(default): symlink to the read-only file in the Nix store. Edits are not possible; devenv keeps the link pointed at the current contents.seed: copy the file into place once, only if it does not already exist, and make it writable. Existing files are left untouched, so your edits are preserved. Useful for seeding configuration from templates the user then edits.copy: copy the file into place as a writable file, overwriting it with fresh contents on every shell entry. Useful when a tool must write to the file in place but devenv should remain the source of truth.
Typeone of "symlink", "seed", "copy"
Default"symlink"
Declared indevenv/blob/main/src/modules/files.nix
files.\<name\>.executable#
Make the file executable
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/files.nix
files.\<name\>.ini#
ini contents
Typenull or (attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)))
Defaultnull
Declared indevenv/blob/main/src/modules/files.nix
files.\<name\>.json#
json contents
Typenull or JSON value
Defaultnull
Declared indevenv/blob/main/src/modules/files.nix
files.\<name\>.source#
source contents
Typenull or absolute path
Defaultnull
Declared indevenv/blob/main/src/modules/files.nix
files.\<name\>.text#
text contents
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/files.nix
files.\<name\>.toml#
toml contents
Typenull or TOML value
Defaultnull
Declared indevenv/blob/main/src/modules/files.nix
files.\<name\>.yaml#
yaml contents
Typenull or YAML 1.1 value
Defaultnull
Declared indevenv/blob/main/src/modules/files.nix
git
git.root#
Git repository root path. This field is populated automatically in devenv 1.10 and newer.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/git.nix
git-hooks
git-hooks#
Integration with https://github.com/cachix/git-hooks.nix
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/integrations/git-hooks.nix
git-hooks.addGcRoot#
Whether to add the generated pre-commit config to the garbage collector roots. This prevents Nix from garbage-collecting the tools used by hooks.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.configFile#
The pre-commit configuration file.
Typepackage
Default"\<derivation\>"
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.configPath#
The path where to generate the pre-commit configuration file.
This path is relative to the root of the project. By default, this is set to “.pre-commit-config.yaml”, which is the standard location expected by pre-commit.
Typestring
Default".pre-commit-config.yaml"
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.default_stages#
A configuration wide option for the stages property. Installs hooks to the defined stages. See https://pre-commit.com/#confining-hooks-to-run-at-certain-stages.
Typelist of (one of "commit-msg", "post-checkout", "post-commit", "post-merge", "post-rewrite", "pre-commit", "pre-merge-commit", "pre-push", "pre-rebase", "prepare-commit-msg", "manual", "commit", "push", "merge-commit")
Default
[
"pre-commit"
]
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.enable#
Whether to enable the pre-commit hooks module.
When set to false, this disables the entire module.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.enabledPackages#
All packages provided by hooks that are enabled.
Useful for including into the developer environment.
Typelist of unspecified value
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.excludes#
Exclude files that were matched by these patterns.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.gitPackage#
The git package to use.
Typepackage
Defaultpkgs.gitMinimal
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.hooks#
The hook definitions.
You can both specify your own hooks here and you can enable predefined hooks.
Example of enabling a predefined hook:
hooks.nixpkgs-fmt.enable = true;
Example of a custom hook:
hooks.my-tool = {
enable = true;
name = "my-tool";
description = "Run MyTool on all files in the project";
files = "\\.mtl$";
entry = "${pkgs.my-tool}/bin/mytoolctl";
};
The predefined hooks are:
action-validator
Tool to validate GitHub Action and Workflow YAML files
actionlint
Static checker for GitHub Actions workflow files
alejandra
The Uncompromising Nix Code Formatter
annex
Runs the git-annex hook for large file support
ansible-lint
Ansible linter
autoflake
Remove unused imports and variables from Python code
bats
Run bash unit tests
beautysh
Format shell files
biome
A toolchain for web projects, aimed to provide functionalities to maintain them
black
The uncompromising Python code formatter
cabal-fmt
Format Cabal files
cabal-gild
Format Cabal files
cabal2nix
Run cabal2nix on all *.cabal files to generate corresponding .nix
files
cargo-check
Check the cargo package for errors
chart-testing
CLI tool for linting and testing Helm charts
check-added-large-files
Prevent very large files to be committed (e.g. binaries).
check-builtin-literals
Require literal syntax when initializing empty or zero builtin types in Python.
check-case-conflicts
Check for files that would conflict in case-insensitive filesystems.
check-docstring-first
Check that all docstrings appear above the code.
check-executables-have-shebangs
Ensure that all non-binary executables have shebangs.
check-json
Check syntax of JSON files.
check-merge-conflicts
Check for files that contain merge conflict strings.
check-python
Check syntax of Python file by parsing Python abstract syntax tree.
check-shebang-scripts-are-executable
Ensure that all (non-binary) files with a shebang are executable.
check-symlinks
Find broken symlinks.
check-toml
Check syntax of TOML files.
check-vcs-permalinks
Ensure that links to VCS websites are permalinks.
check-xml
Check syntax of XML files.
check-yaml
Check syntax of YAML files.
checkmake
Experimental linter/analyzer for Makefiles
chktex
LaTeX semantic checker
circleci
Validate CircleCI config files.
clang-format
Format your code using clang-format.
clang-tidy
Static analyzer for C++ code.
clippy
Lint Rust code.
cljfmt
A tool for formatting Clojure code.
cmake-format
A tool for formatting CMake-files.
commitizen
Check whether the current commit message follows committing rules.
comrak
A 100% CommonMark-compatible GitHub Flavored Markdown formatter
conform
Policy enforcement for commits.
convco
credo
Runs a static code analysis using Credo
crystal
A tool that automatically formats Crystal source code
cspell
A Spell Checker for Code
cue-fmt
Format CUE files
dart-analyze
Dart analyzer
dart-format
Dart formatter
deadnix
Scan Nix files for dead code (unused variable bindings).
denofmt
Auto-format JavaScript, TypeScript, Markdown, and JSON files.
denolint
Lint JavaScript/TypeScript source code.
detect-aws-credentials
Detect AWS credentials from the AWS cli credentials file.
detect-private-keys
Detect the presence of private keys.
dhall-format
Dhall code formatter.
dialyzer
Runs a static code analysis using Dialyzer
dune-fmt
Runs Dune’s formatters on the code tree.
dune-opam-sync
Check that Dune-generated OPAM files are in sync.
eclint
EditorConfig linter written in Go.
editorconfig-checker
Verify that the files are in harmony with the .editorconfig.
elm-format
Format Elm files.
elm-review
Analyzes Elm projects, to help find mistakes before your users find them.
elm-test
Run unit tests and fuzz tests for Elm code.
end-of-file-fixer
Ensures that a file is either empty, or ends with a single newline.
eslint
Find and fix problems in your JavaScript code.
fix-byte-order-marker
Remove UTF-8 byte order marker.
fix-encoding-pragma
Adds # -- coding: utf-8 -- to the top of Python files.’
flake-checker
Run health checks on your flake-powered Nix projects.
flake8
Check the style and quality of Python files.
flynt
CLI tool to convert a python project’s %-formatted strings to f-strings.
forbid-new-submodules
Prevent addition of new Git submodules.
fourmolu
Haskell code prettifier.
fprettify
Auto-formatter for modern Fortran code.
gitlint
Linting for your git commit messages
gofmt
A tool that automatically formats Go source code
golangci-lint
Fast linters runner for Go.
golines
A golang formatter that fixes long lines
gotest
Run go tests
govet
Checks correctness of Go programs.
gptcommit
Generate a commit message using GPT3.
hadolint
Dockerfile linter, validate inline bash.
headache
Lightweight tool for managing headers in source code files.
hindent
Haskell code prettifier.
hledger-fmt
Opinionated hledger’s journal files formatter.
hlint
HLint gives suggestions on how to improve your source code.
hpack
hpack converts package definitions in the hpack format
(package.yaml) to Cabal files.
html-tidy
HTML linter.
hunspell
Spell checker and morphological analyzer.
isort
A Python utility / library to sort imports.
juliaformatter
Run JuliaFormatter.jl against Julia source files
keep-sorted
Language-agnostic formatter that sorts lines between two markers in a larger file.
lacheck
A consistency checker for LaTeX documents.
latexindent
Perl script to add indentation to LaTeX files.
lua-ls
Uses the lua-language-server CLI to statically type-check and lint Lua code.
luacheck
A tool for linting and static analysis of Lua code.
lychee
A fast, async, stream-based link checker that finds broken hyperlinks and mail addresses inside Markdown, HTML, reStructuredText, or any other text file or website.
markdownlint
Style checker and linter for markdown files.
mdformat
CommonMark compliant Markdown formatter
mdl
A tool to check markdown files and flag style issues.
mdsh
Markdown shell pre-processor.
mix-format
Runs the built-in Elixir syntax formatter
mix-test
Runs the built-in Elixir test framework
mixed-line-endings
Resolve mixed line endings.
mkdocs-linkcheck
Validate links associated with markdown-based, statically generated websites.
mypy
Static type checker for Python
name-tests-test
Verify that Python test files are named correctly.
nbstripout
Strip output from Jupyter notebooks
nil
Incremental analysis assistant for writing in Nix.
nixf-diagnose
wrapper for nixf-tidy.
nixfmt
Official Nix code formatter.
nixfmt-classic
Nix code prettifier (classic).
nixfmt-rfc-style
Nix code prettifier (RFC 166 style).
nixpkgs-fmt
Nix code prettifier.
no-commit-to-branch
Disallow committing to certain branch/branches.
ocp-indent
A tool to indent OCaml code.
opam-lint
OCaml package manager configuration checker.
openapi-spec-validator
A tool to validate OpenAPI spec files
ormolu
Haskell code prettifier.
php-cs-fixer
Lint PHP files.
phpcbf
Lint PHP files.
phpcs
Lint PHP files.
phpstan
Static Analysis of PHP files.
poetry-check
Check the Poetry config for errors
poetry-lock
Update the Poetry lock file
pre-commit-hook-ensure-sops
prettier
Opinionated multi-language code formatter.
pretty-format-json
Formats JSON files.
proselint
A linter for prose.
psalm
Static Analysis of PHP files.
purs-tidy
Format purescript files.
pylint
Lint Python files.
pyright
Static type checker for Python
python-debug-statements
Check for debugger imports and py37+ breakpoint() calls in python
source.
pyupgrade
Automatically upgrade syntax for newer versions.
regal
A linter for Rego policies
reuse
reuse is a tool for compliance with the REUSE recommendations.
revive
A linter for Go source code.
ripsecrets
Prevent committing secret keys into your source code
rome
ruff
An extremely fast Python linter, written in Rust.
ruff-format
An extremely fast Python code formatter, written in Rust.
rumdl
Style checker and linter for rumdl files.
rustfmt
Format Rust code.
selene
A blazing-fast modern Lua linter written in Rust.
shellcheck
Format shell files.
shfmt
Format shell files.
single-quoted-strings
Replace double quoted strings with single quoted strings.
sort-file-contents
Sort the lines in specified files (defaults to alphabetical).
sort-requirements-txt
Sort requirements in requirements.txt and constraints.txt files.
sort-simple-yaml
Sort simple YAML files which consist only of top-level keys, preserving comments and blocks.
staticcheck
State of the art linter for the Go programming language
statix
Lints and suggestions for the Nix programming language.
stylish-haskell
A simple Haskell code prettifier
stylua
An Opinionated Lua Code Formatter.
tagref
Have tagref check all references and tags.
taplo
Format TOML files with taplo fmt
terraform-format
Format Terraform (.tf) files.
terraform-validate
Validates terraform configuration files (.tf).
tflint
A Pluggable Terraform Linter.
topiary
A universal formatter engine within the Tree-sitter ecosystem, with support for many languages.
treefmt
One CLI to format the code tree.
trim-trailing-whitespace
Trim trailing whitespace.
trufflehog
Secrets scanner
typos
Source code spell checker
typstyle
Beautiful and reliable typst code formatter
uv-check
Check if uv’s lockfile is up-to-date.
uv-export
Export uv’s lockfile.
uv-lock
Update uv’s lockfile.
vale
A markup-aware linter for prose built with speed and extensibility in mind.
woodpecker-cli-lint
Command line client for the Woodpecker Continuous Integration server (lint only).
yamlfmt
Formatter for YAML files.
yamllint
Linter for YAML files.
zizmor
Static analysis for GitHub Actions
zprint
Beautifully format Clojure and Clojurescript source code and s-expressions.
Typeopen submodule of attribute set of (submodule)
Default{ }
Declared ingit-hooks.nix/blob/master/modules/hooks.nix, git-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.hooks.\<name\>.after#
List of hooks that should run before this hook.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.always_run#
if true this hook will run even if there are no matching files.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.args#
List of additional parameters to pass to the hook.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.before#
List of hooks that should run after this hook.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.description#
Description of the hook. Used for metadata purposes only.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.entry#
The entry point - the executable to run. {option}entry can also
contain arguments that will not be overridden, such as
entry = "autopep8 -i";.
Typestring
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.exclude_types#
List of file types to exclude. See Filtering files with types.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.excludes#
Exclude files that were matched by these patterns.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.extraPackages#
Additional packages required to run the hook.
These are propagated to enabledPackages for constructing developer
environments.
Typelist of package
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.fail_fast#
if true pre-commit will stop running hooks if this hook fails.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.files#
The pattern of files to run on.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.id#
The unique identifier for the hook.
You do not need to set or modify this value.
The id is used to reference a hook when using pre-commit run <id>.
It can also be used to reference the hook in other hooks’ before and
after fields to define the order in which hooks run.
The id is set to the attribute name the hook submodule is bound to in
the parent module. For example, the id of following hook would be
my-hook.
{
hooks = {
my-hook = {
enable = true;
entry = "my-hook";
};
}
}
Typestring
Default"the attribute name the hook submodule is bound to"
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.language#
The language of the hook - tells pre-commit how to install the hook.
Defaults to "system", or "unsupported" when using pre-commit >=
4.4.0.
Note: "unsupported" does not mean deprecated. Pre-commit >= 4.4.0
renamed "system" to "unsupported" because when using this language
pre-commit does not provision the tools, and using externally managed
tools (e.g. via Nix) is not an officially supported workflow. Both
values are functionally equivalent.
Typestring
Default"system" or "unsupported" depending on pre-commit version
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.name#
The name of the hook. Shown during hook execution.
Typestring
Defaultthe attribute name the hook submodule is bound to, same as `id`
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.package#
An optional package that provides the hook.
Typenull or package
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.pass_filenames#
Whether to pass filenames as arguments to the entry point.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.priority#
Defines the order in which the hooks are executed. Default priority is set by the order in the list of hooks. Evaluation goes from 0 and up. If two hooks have the same priority, they’ll run in parallel. This works only if cfg.package is set to prek.
Typenull or 32 bit unsigned integer; between 0 and 4294967295 (both inclusive)
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.raw#
Raw fields of a pre-commit hook. This is mostly for internal use but exposed in case you need to work around something.
Default: taken from the other hook options.
Typeattribute set of unspecified value
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.require_serial#
if true this hook will execute using a single process instead of in parallel.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.stages#
Confines the hook to run at a particular stage.
Typelist of (one of "commit-msg", "post-checkout", "post-commit", "post-merge", "post-rewrite", "pre-commit", "pre-merge-commit", "pre-push", "pre-rebase", "prepare-commit-msg", "manual", "commit", "push", "merge-commit")
Defaultdefault_stages
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.types#
List of file types to run on. See Filtering files with types.
Typelist of string
Default
[
"file"
]
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.types_or#
List of file types to run on, where only a single type needs to match.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.\<name\>.verbose#
forces the output of the hook to be printed even when the hook passes.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.alejandra#
alejandra hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.alejandra.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.alejandra.settings.check#
Check if the input is already formatted and disable writing in-place the modified content
Typeboolean
Defaultfalse
Exampletrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.alejandra.settings.configPath#
(experimental) Path to the alejandra.toml configuration file.
Typenull or string or absolute path
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.alejandra.settings.exclude#
Files or directories to exclude from formatting.
Typelist of string
Default[ ]
Example
[
"flake.nix"
"./templates"
]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.alejandra.settings.threads#
Number of formatting threads to spawn.
Typenull or signed integer
Defaultnull
Example8
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.alejandra.settings.verbosity#
Whether informational messages or all messages should be hidden or not.
Typeone of "normal", "quiet", "silent"
Default"normal"
Example"quiet"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.ansible-lint#
ansible-lint hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.ansible-lint.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.ansible-lint.settings.configPath#
Path to the YAML configuration file.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.ansible-lint.settings.subdir#
Path to the Ansible subdirectory.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.autoflake#
autoflake hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.autoflake.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.autoflake.settings.binPath#
Path to autoflake binary.
Typenull or string
Default
"${tools.autoflake}/bin/autoflake"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.autoflake.settings.flags#
Flags passed to autoflake.
Typestring
Default"--in-place --expand-star-imports --remove-duplicate-keys --remove-unused-variables"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.biome#
biome hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.biome.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.biome.settings.binPath#
biome binary path. For example, if you want to use the biome binary
from node_modules, use "./node_modules/.bin/biome". Use a string
instead of a path to avoid having to Git track the file in projects that
use Nix flakes.
Typenull or string or absolute path
Default
"${tools.biome}/bin/biome"
Example
"./node_modules/.bin/biome"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.biome.settings.configPath#
Path to the configuration JSON file
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.biome.settings.write#
Whether to edit files inplace.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.black#
black hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.black.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.black.settings.flags#
Flags passed to black. See all available here.
Typestring
Default""
Example"--skip-magic-trailing-comma"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.cabal2nix#
cabal2nix hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.cabal2nix.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.cabal2nix.settings.outputFilename#
The name of the output file generated after running cabal2nix.
Typestring
Default"default.nix"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.clippy#
clippy hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.clippy.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.clippy.packageOverrides.cargo#
The cargo package to use
Typepackage
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.clippy.packageOverrides.clippy#
The clippy package to use
Typepackage
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.clippy.settings.allFeatures#
Run clippy with –all-features
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.clippy.settings.denyWarnings#
Fail when warnings are present
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.clippy.settings.extraArgs#
Additional arguments to pass to clippy
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.clippy.settings.offline#
Run clippy offline
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.cmake-format#
cmake-format hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.cmake-format.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.cmake-format.settings.configPath#
Path to the configuration file (.json,.python,.yaml)
Typestring
Default""
Example".cmake-format.json"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.convco#
convco hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.convco.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.convco.settings.configPath#
Path to the configuration file (YAML or JSON)
Typenull or string or absolute path
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.credo#
credo hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.credo.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.credo.settings.strict#
Whether to auto-promote the changes.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.deadnix#
deadnix hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.deadnix.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.deadnix.settings.edit#
Remove unused code and write to source file.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.deadnix.settings.exclude#
Files to exclude from analysis.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.deadnix.settings.hidden#
Recurse into hidden subdirectories and process hidden .*.nix files.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.deadnix.settings.noLambdaArg#
Don’t check lambda parameter arguments.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.deadnix.settings.noLambdaPatternNames#
Don’t check lambda pattern names (don’t break nixpkgs callPackage).
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.deadnix.settings.noUnderscore#
Don’t check any bindings that start with a _.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.deadnix.settings.quiet#
Don’t print a dead code report.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.denofmt#
denofmt hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.denofmt.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.denofmt.settings.configPath#
Path to the configuration JSON file
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.denofmt.settings.write#
Whether to edit files inplace.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.denolint#
denolint hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.denolint.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.denolint.settings.configPath#
Path to the configuration JSON file
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.denolint.settings.format#
Output format.
Typeone of "default", "compact", "json"
Default"default"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.dune-fmt#
dune-fmt hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.dune-fmt.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.dune-fmt.settings.auto-promote#
Whether to auto-promote the changes.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.dune-fmt.settings.extraRuntimeInputs#
Extra runtimeInputs to add to the environment, eg. ocamlformat.
Typelist of package
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.eclint#
eclint hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.eclint.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.eclint.settings.color#
When to generate colored output.
Typeone of "auto", "always", "never"
Default"auto"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.eclint.settings.exclude#
Filter to exclude files.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.eclint.settings.fix#
Modify files in place rather than showing the errors.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.eclint.settings.summary#
Only show number of errors per file.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.eclint.settings.verbosity#
Log level verbosity
Typeone of 0, 1, 2, 3, 4
Default0
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.eslint#
eslint hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.eslint.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.eslint.settings.binPath#
eslint binary path. For example, if you want to use the eslint
binary from node_modules, use "./node_modules/.bin/eslint". Use a
string instead of a path to avoid having to Git track the file in
projects that use Nix flakes.
Typenull or string or absolute path
Default
"${tools.eslint}/bin/eslint"
Example
"./node_modules/.bin/eslint"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.eslint.settings.extensions#
The pattern of files to run on, see https://pre-commit.com/#hooks-files.
Typestring
Default"\\.js$"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flake8#
flake8 hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flake8.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.flake8.settings.binPath#
flake8 binary path. Should be used to specify flake8 binary from your Python environment.
Typenull or string
Default
"${tools.flake8}/bin/flake8"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flake8.settings.extendIgnore#
List of additional ignore codes
Typelist of string
Default[ ]
Example
[
"E501"
]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flake8.settings.format#
Output format.
Typestring
Default"default"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt#
flynt hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.flynt.settings.aggressive#
Include conversions with potentially changed behavior.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.settings.binPath#
flynt binary path. Can be used to specify the flynt binary from an existing Python environment.
Typenull or string
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.settings.dry-run#
Do not change files in-place and print diff instead.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.settings.exclude#
Ignore files with given strings in their absolute path.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.settings.fail-on-change#
Fail when diff is not empty (for linting purposes).
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.settings.line-length#
Convert expressions spanning multiple lines, only if the resulting single line will fit into this line length limit.
Typenull or signed integer
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.settings.no-multiline#
Convert only single line expressions.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.settings.quiet#
Run without output.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.settings.string#
Interpret the input as a Python code snippet and print the converted version.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.settings.transform-concats#
Replace string concatenations with f-strings.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.flynt.settings.verbose#
Run with verbose output.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.fourmolu#
fourmolu hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.fourmolu.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.fourmolu.settings.defaultExtensions#
Haskell language extensions to enable.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.golines#
golines hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.golines.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.golines.settings.flags#
Flags passed to golines. See all available here
Typestring
Default""
Example"-m 120"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.gotest#
gotest hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.gotest.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.gotest.settings.flags#
Flags passed to gotest. See all available here.
Typestring
Default""
Example"-tags integration"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.headache#
headache hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.headache.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.headache.settings.header-file#
Path to the header file.
Typestring
Default".header"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.hledger-fmt#
hledger-fmt hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.hledger-fmt.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.hledger-fmt.settings.fix#
Fix the files in place.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.hlint#
hlint hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.hlint.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.hlint.settings.hintFile#
Path to hlint.yaml. By default, hlint searches for .hlint.yaml in the project root.
Typenull or string or absolute path
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.hpack#
hpack hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.hpack.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.hpack.settings.silent#
Whether generation should be silent.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.isort#
isort hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.isort.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.isort.settings.flags#
Flags passed to isort. See all available here.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.isort.settings.profile#
Built-in profiles to allow easy interoperability with common projects and code styles.
Typeone of "", "black", "django", "pycharm", "google", "open_stack", "plone", "attrs", "hug", "wemake", "appnexus"
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.lacheck#
lacheck hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.lacheck.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.latexindent#
latexindent hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.latexindent.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.latexindent.settings.flags#
Flags passed to latexindent. See available flags here
Typestring
Default"--local --silent --overwriteIfDifferent"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.lua-ls#
lua-ls hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.lua-ls.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.lua-ls.settings.checklevel#
The diagnostic check level
Typeone of "Error", "Warning", "Information", "Hint"
Default"Warning"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.lua-ls.settings.configuration#
See https://github.com/LuaLS/lua-language-server/wiki/Configuration-File#luarcjson
Typeattribute set
Default{ }
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.lychee#
lychee hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.lychee.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.lychee.settings.configPath#
Path to the config file.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.lychee.settings.flags#
Flags passed to lychee. See all available here.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.markdownlint#
markdownlint hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.markdownlint.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.markdownlint.settings.configuration#
See https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.jsonc
Typeattribute set
Default{ }
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl#
mdl hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.mdl.settings.configPath#
The configuration file to use.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.git-recurse#
Only process files known to git when given a directory.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.ignore-front-matter#
Ignore YAML front matter.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.json#
Format output as JSON.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.rules#
Markdown rules to use for linting. Per default all rules are processed.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.rulesets#
Specify additional ruleset files to load.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.show-aliases#
Show rule alias instead of rule ID when viewing rules.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.skip-default-ruleset#
Do not load the default markdownlint ruleset. Use this option if you only want to load custom rulesets.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.style#
Select which style mdl uses.
Typestring
Default"default"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.tags#
Markdown rules to use for linting containing the given tags. Per default all rules are processed.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.verbose#
Increase verbosity.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mdl.settings.warnings#
Show Kramdown warnings.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mkdocs-linkcheck#
mkdocs-linkcheck hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mkdocs-linkcheck.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.mkdocs-linkcheck.settings.binPath#
mkdocs-linkcheck binary path. Should be used to specify the mkdocs-linkcheck binary from your Python environment.
Typenull or string or absolute path
Default
"${tools.mkdocs-linkcheck}/bin/mkdocs-linkcheck"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mkdocs-linkcheck.settings.extension#
File extension to scan for.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mkdocs-linkcheck.settings.local-only#
Whether to only check local links.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mkdocs-linkcheck.settings.method#
HTTP method to use when checking external links.
Typeone of "get", "head"
Default"get"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mkdocs-linkcheck.settings.path#
Path to check
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mkdocs-linkcheck.settings.recurse#
Whether to recurse directories under path.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mypy#
mypy hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.mypy.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.mypy.settings.binPath#
Mypy binary path. Should be used to specify the mypy executable in an environment containing your typing stubs.
Typenull or string
Default
"${tools.mypy}/bin/mypy"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nbstripout#
nbstripout hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nbstripout.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.nil#
nil hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nil.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.nil.settings.denyWarnings#
Treat warnings like errors and exit with non-zero code
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nixf-diagnose#
nixf-diagnose hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nixf-diagnose.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.nixfmt#
nixfmt hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nixfmt-classic#
nixfmt (classic) hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nixfmt-classic.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.nixfmt-classic.settings.width#
Line width.
Typenull or signed integer
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nixfmt-rfc-style#
nixfmt (RFC 166 style) hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nixfmt-rfc-style.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.nixfmt-rfc-style.settings.indent#
Number of spaces to use for indentation.
Typenull or signed integer
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nixfmt-rfc-style.settings.width#
Maximum width in characters.
Typenull or signed integer
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nixfmt.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.nixfmt.settings.indent#
Number of spaces to use for indentation.
Typenull or signed integer
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.nixfmt.settings.width#
Maximum width in characters.
Typenull or signed integer
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.no-commit-to-branch#
no-commit-to-branch-hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.no-commit-to-branch.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.no-commit-to-branch.settings.branch#
Branches to disallow commits to.
Typelist of string
Default
[
"main"
]
Example
[
"main"
"master"
]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.no-commit-to-branch.settings.pattern#
RegEx patterns for branch names to disallow commits to.
Typelist of string
Default[ ]
Example
[
"ma.*"
]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.ormolu#
ormolu hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.ormolu.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.ormolu.settings.cabalDefaultExtensions#
Use default-extensions from .cabal files.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.ormolu.settings.defaultExtensions#
Haskell language extensions to enable.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.php-cs-fixer#
php-cs-fixer hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.php-cs-fixer.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.php-cs-fixer.settings.binPath#
PHP-CS-Fixer binary path.
Typenull or string
Default
"${tools.php-cs-fixer}/bin/php-cs-fixer"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.phpcbf#
phpcbf hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.phpcbf.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.phpcbf.settings.binPath#
PHP_CodeSniffer binary path.
Typenull or string
Default
"${tools.phpcbf}/bin/phpcbf"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.phpcs#
phpcs hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.phpcs.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.phpcs.settings.binPath#
PHP_CodeSniffer binary path.
Typenull or string
Default
"${tools.phpcs}/bin/phpcs"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.phpstan#
phpstan hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.phpstan.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.phpstan.settings.binPath#
PHPStan binary path.
Typenull or string
Default
"${tools.phpstan}/bin/phpstan"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier#
prettier hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.prettier.settings.allow-parens#
Include parentheses around a sole arrow function parameter.
Typeone of "always", "avoid"
Default"always"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.binPath#
prettier binary path. For example, if you want to use the prettier
binary from node_modules, use "./node_modules/.bin/prettier". Use a
string instead of a path to avoid having to Git track the file in
projects that use Nix flakes.
Typenull or string or absolute path
Default
"${tools.prettier}/bin/prettier"
Example
"./node_modules/.bin/prettier"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.bracket-same-line#
Put > of opening tags on the last line instead of on a new line.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.cache#
Only format changed files.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.cache-location#
Path to the cache file location used by --cache flag.
Typestring
Default"./node_modules/.cache/prettier/.prettier-cache"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.cache-strategy#
Strategy for the cache to use for detecting changed files.
Typenull or one of "metadata", "content"
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.check#
Output a human-friendly message and a list of unformatted files, if any.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.color#
Colorize error messages.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.config-precedence#
Defines how config file should be evaluated in combination of CLI options.
Typeone of "cli-override", "file-override", "prefer-file"
Default"cli-override"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.configPath#
Path to a Prettier configuration file (.prettierrc, package.json, prettier.config.js).
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.embedded-language-formatting#
Control how Prettier formats quoted code embedded in the file.
Typeone of "auto", "off"
Default"auto"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.end-of-line#
Which end of line characters to apply.
Typeone of "lf", "crlf", "cr", "auto"
Default"lf"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.html-whitespace-sensitivity#
How to handle whitespaces in HTML.
Typeone of "css", "strict", "ignore"
Default"css"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.ignore-path#
Path to a file containing patterns that describe files to ignore. By
default, prettier looks for ./.gitignore and ./.prettierignore.
Multiple values are accepted.
Typelist of (string or absolute path)
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.ignore-unknown#
Ignore unknown files.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.insert-pragma#
Insert @format pragma into file’s first docblock comment.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.jsx-single-quote#
Use single quotes in JSX.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.list-different#
Print the filenames of files that are different from Prettier formatting.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.log-level#
What level of logs to report.
Typeone of "silent", "error", "warn", "log", "debug"
Default"log"
Example"debug"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.no-bracket-spacing#
Do not print spaces between brackets.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.no-config#
Do not look for a configuration file.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.no-editorconfig#
Don’t take .editorconfig into account when parsing configuration.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.no-error-on-unmatched-pattern#
Prevent errors when pattern is unmatched.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.no-semi#
Do not print semicolons, except at the beginning of lines which may need them.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.parser#
Which parser to use.
Typeone of "", "flow", "babel", "babel-flow", "babel-ts", "typescript", "acorn", "espree", "meriyah", "css", "less", "scss", "json", "json5", "json-stringify", "graphql", "markdown", "mdx", "vue", "yaml", "glimmer", "html", "angular", "lwc"
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.plugins#
Add plugins from paths.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.print-width#
Line length that the printer will wrap on.
Typesigned integer
Default80
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.prose-wrap#
When to or if at all hard wrap prose to print width.
Typeone of "always", "never", "preserve"
Default"preserve"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.quote-props#
Change when properties in objects are quoted.
Typeone of "as-needed", "consistent", "preserve"
Default"as-needed"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.require-pragma#
Require either ‘@prettier’ or ‘@format’ to be present in the file’s first docblock comment.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.single-attribute-per-line#
Enforce single attribute per line in HTML, Vue andJSX.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.single-quote#
Number of spaces per indentation-level.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.tab-width#
Line length that the printer will wrap on.
Typesigned integer
Default2
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.trailing-comma#
Print trailing commas wherever possible in multi-line comma-separated syntactic structures.
Typeone of "all", "es5", "none"
Default"all"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.use-tabs#
Indent with tabs instead of spaces.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.vue-indent-script-and-style#
Indent script and style tags in Vue files.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.with-node-modules#
Process files inside ‘node_modules’ directory.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.prettier.settings.write#
Edit files in-place.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pretty-format-json#
pretty-format-json hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pretty-format-json.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.pretty-format-json.settings.autofix#
Automatically format JSON files.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pretty-format-json.settings.indent#
Control the indentation (either a number for a number of spaces or a string of whitespace). Defaults to 2 spaces.
Typenull or signed integer or string
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pretty-format-json.settings.no-ensure-ascii#
Preserve unicode characters instead of converting to escape sequences.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pretty-format-json.settings.no-sort-keys#
When autofixing, retain the original key ordering (instead of sorting the keys).
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pretty-format-json.settings.top-keys#
Keys to keep at the top of mappings.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.proselint#
proselint hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.proselint.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.proselint.settings.config#
Multiline-string configuration passed as config file.
Typestring
Default""
Example
''
{
"checks": {
"typography.diacritical_marks": false
}
}
''
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.proselint.settings.configPath#
Path to the config file.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.proselint.settings.flags#
Flags passed to proselint.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.psalm#
psalm hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.psalm.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.psalm.settings.binPath#
Psalm binary path.
Typenull or string
Default
"${tools.psalm}/bin/psalm"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pylint#
pylint hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pylint.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.pylint.settings.binPath#
Pylint binary path. Should be used to specify Pylint binary from your Python environment.
Typenull or string
Default
"${tools.pylint}/bin/pylint"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pylint.settings.reports#
Whether to display a full report.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pylint.settings.score#
Whether to activate the evaluation score.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pyright#
pyright hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pyright.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.pyright.settings.binPath#
Pyright binary path. Should be used to specify the pyright executable in an environment containing your typing stubs.
Typenull or string
Default
"${tools.pyright}/bin/pyright"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pyupgrade#
pyupgrade hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.pyupgrade.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.pyupgrade.settings.binPath#
pyupgrade binary path. Should be used to specify the pyupgrade binary from your Python environment.
Typenull or string
Default
"${tools.pyupgrade}/bin/pyupgrade"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.regal#
regal hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.regal.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.regal.settings.flags#
Flags passed to regal. For available options run ‘regal lint –help’
Typestring
Default""
Example"--disable-category style"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.reuse#
reuse hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.reuse.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.reuse.settings.flags#
Flags passed to reuse. For available options run ‘reuse lint –help’
Typestring
Default""
Example"--json"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.revive#
revive hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.revive.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.revive.settings.configPath#
Path to the configuration TOML file.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.ripsecrets#
ripsecrets hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.ripsecrets.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.ripsecrets.settings.additionalPatterns#
Additional regex patterns used to find secrets. If there is a matching group in the regex the matched group will be tested for randomness before being reported as a secret.
Typelist of string
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rumdl#
rumdl hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rumdl.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.rumdl.settings.configuration#
See https://github.com/rvben/rumdl?tab=readme-ov-file#configuration
Typeattribute set
Default{ }
Example
{
configuration = {
MD013 = {
line-length = 100;
};
};
}
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt#
Additional rustfmt settings
Override the rustfmt and cargo packages by setting
hooks.rustfmt.packageOverrides.
hooks.rustfmt.packageOverrides.cargo = pkgs.cargo;
hooks.rustfmt.packageOverrides.rustfmt = pkgs.rustfmt;
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.rustfmt.packageOverrides.cargo#
The cargo package to use.
Typepackage
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.packageOverrides.rustfmt#
The rustfmt package to use.
Typepackage
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.all#
Format all packages, and also their local path-based dependencies
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.check#
Run rustfmt in check mode
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.color#
Coloring the output
Typeone of "auto", "always", "never"
Default"always"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.config#
Override configuration values
Typeattribute set
Default{ }
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.config-path#
Path to rustfmt.toml config file
Typenull or string
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.emit#
What data to emit and how
Typenull or one of "files", "stdout"
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.files-with-diff#
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.manifest-path#
Path to Cargo.toml
Typenull or string
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.message-format#
The output format of diagnostic messages
Typenull or one of "human", "short"
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.package#
Package(s) to check
Typelist of string matching the pattern [][*?!0-9A-Za-z_-]+
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.rustfmt.settings.verbose#
Use verbose output
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.shfmt#
shfmt hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.shfmt.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.shfmt.settings.binary-next-line#
Binary ops like && and | may start a line.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.shfmt.settings.case-indent#
Switch cases will be indented.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.shfmt.settings.func-next-line#
Function opening braces are placed on a separate line.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.shfmt.settings.indent#
0 for tabs, >0 for number of spaces.
Typenull or signed integer or string
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.shfmt.settings.keep-padding#
Keep column alignment paddings.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.shfmt.settings.language-dialect#
Shell language dialect.
Typenull or one of "auto", "bash", "posix", "mksh", "bats"
Default"auto"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.shfmt.settings.simplify#
Simplify the code.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.shfmt.settings.space-redirects#
Redirect operators will be followed by a space.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.sort-file-contents#
sort-file-contents-hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.sort-file-contents.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.sort-file-contents.settings.ignore-case#
Fold lower case to upper case characters.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.sort-file-contents.settings.unique#
Ensure each line is unique.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.statix#
statix hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.statix.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.statix.settings.config#
Path to statix.toml or its parent directory.
Typenull or string
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.statix.settings.format#
Error Output format.
Typeone of "stderr", "errfmt", "json"
Default"errfmt"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.statix.settings.ignore#
Globs of file patterns to skip.
Typenull or (list of string)
Defaultnull
Example
[
"flake.nix"
"_*"
]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.statix.settings.unrestricted#
Don’t respect .gitignore files.
Typeboolean
Defaultfalse
Exampletrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.treefmt#
Treefmt hook.
Include any additional formatters configured by treefmt as
hooks.treefmt.settings.formatters.
hooks.treefmt.settings.formatters = [
pkgs.nixpkgs-fmt
pkgs.black
];
Override treefmt itself by setting
hooks.treefmt.packageOverrides.treefmt.
hooks.treefmt.packageOverrides.treefmt = pkgs.treefmt;
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.treefmt.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.treefmt.packageOverrides.treefmt#
The treefmt package to use
Typepackage
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.treefmt.settings.fail-on-change#
Fail if some files require re-formatting.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.treefmt.settings.formatters#
The formatter packages configured by treefmt
Typelist of package
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.treefmt.settings.no-cache#
Ignore the evaluation cache entirely.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos#
typos hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.typos.settings.binary#
Whether to search binary files.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.color#
When to use generate output.
Typeone of "auto", "always", "never"
Default"auto"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.config#
Configuration as in https://github.com/crate-ci/typos/blob/master/docs/reference.md.
TypeTOML value
Default{ }
Example
{
default = {
binary = false;
};
files = {
ignore-dot = true;
};
type = {
py = {
extend-glob = [ ];
};
};
}
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.configPath#
Path to a custom config file. Ignored if typos.settings.config is set.
Typestring
Default""
Example".typos.toml"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.diff#
Print a diff of what would change.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.exclude#
Ignore files and directories matching one of the globs.
Type(list of string) or string convertible to it
Default[ ]
Example
[
"*.nix"
]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.force-exclude#
Respect excluded files even for paths passed explicitly.
Typeboolean
Defaulttrue
Examplefalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.format#
Output format to use.
Typeone of "silent", "brief", "long", "json"
Default"long"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.hidden#
Search hidden files and directories.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.ignored-words#
Spellings and words to ignore.
Typelist of string
Default[ ]
Example
[
"MQTT"
"mosquitto"
]
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.locale#
Which language to use for spell checking.
Typeone of "en", "en-us", "en-gb", "en-ca", "en-au"
Default"en"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.no-check-filenames#
Skip verifying spelling in file names.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.no-check-files#
Skip verifying spelling in files.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.no-unicode#
Only allow ASCII characters in identifiers.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.quiet#
Less output per occurrence.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.verbose#
More output per occurrence.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.typos.settings.write#
Fix spelling in files by writing them. Cannot be used with
typos.settings.diff.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.uv-export#
uv export hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.uv-export.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.uv-export.settings.flags#
Flags passed to uv export
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.uv-export.settings.format#
Output format of the project’s lockfile.
Typeone of "requirements.txt", "pylock.toml"
Default"pylock.toml"
Example"requirements.txt"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.uv-export.settings.locked#
Assert that the uv.lock will remain unchanged. Requires that the
lockfile is up-to-date. If the lockfile is missing or needs to be
updated, uv will exit with an error.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.vale#
vale hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.vale.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.vale.settings.configPath#
Path to the config file.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.vale.settings.configuration#
Multiline-string configuration passed as config file.
Typestring
Default""
Example
''
MinAlertLevel = suggestion
[*]
BasedOnStyles = Vale
''
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.vale.settings.flags#
Flags passed to vale.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.woodpecker-cli-lint#
woodpecker-cli lint hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.woodpecker-cli-lint.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.woodpecker-cli-lint.settings.pluginsPrivileged#
List of plugins, allowed to run in privileged mode
Typestrings concatenated with ","
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.woodpecker-cli-lint.settings.pluginsTrustedClone#
List of plugins, that are trusted to handle Git credentials in cloning steps. If not set, the program defaults to “docker.io/woodpeckerci/plugin-git:2.6.3,docker.io/woodpeckerci/plugin-git,quay.io/woodpeckerci/plugin-git”.
Typestrings concatenated with ","
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.woodpecker-cli-lint.settings.strict#
Whether to treat warnings as errors.
Typeboolean
Defaultfalse
Exampletrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.woodpecker-cli-lint.settings.workflowPath#
Path to the workflow config file/directory. If not set, the program
looks for .woodpecker.ya?ml file or .woodpecker directory.
Typestring
Default""
Example".woodpecker.yml"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.yamlfmt#
yamlfmt hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.yamlfmt.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.yamlfmt.settings.configPath#
Path to a custom configuration file.
Typestring
Default""
Example".yamlfmt"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.yamlfmt.settings.lint-only#
Only lint the files, do not format them in place.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.yamllint#
yamllint hook
Typesubmodule
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.yamllint.enable#
Whether to enable this pre-commit hook.
Typeboolean
Defaultfalse
Declared ingit-hooks.nix/blob/master/modules/hook.nix
git-hooks.hooks.yamllint.settings.configData#
Serialized YAML object describing the configuration.
Typestring
Default""
Example"{extends: relaxed, rules: {line-length: {max: 120}}}"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.yamllint.settings.configPath#
Path to a custom configuration file.
Typestring
Default""
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.yamllint.settings.configuration#
Multiline-string configuration passed as config file. If set,
configuration file set in yamllint.settings.configPath gets ignored.
Typestring
Default""
Example
''
---
extends: relaxed
rules:
indentation: enable
''
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.yamllint.settings.format#
Format for parsing output.
Typeone of "parsable", "standard", "colored", "github", "auto"
Default"auto"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.yamllint.settings.preset#
The configuration preset to use.
Typeone of "default", "relaxed"
Default"default"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.hooks.yamllint.settings.strict#
Return non-zero exit code on warnings as well as errors.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.install.enable#
Whether to enable automatic installation of pre-commit hooks.
When set to false, hooks will not be installed into the git repository, but all other module functionality (like configuration generation) will still work.
Typeboolean
Defaulttrue
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.installStages#
The stages to install the hooks to.
Typelist of (string or anything)
Default[ ]
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.installationScript#
A bash snippet that installs the git hooks in the current repository.
Typestring
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.package#
The pre-commit package to use.
Typepackage
Defaultpkgs.pre-commit
Examplepkgs.prek
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.rootSrc#
The source of the project to be checked.
This is used in the derivation that performs the check.
If you use the flakeModule, the default is self.outPath; the whole
flake sources.
Typeabsolute path
DefaultgitignoreSource config.src
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.run#
A derivation that tests whether the pre-commit hooks run cleanly on the entire project.
Typepackage
Default<derivation>
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.settings.rust.cargoManifestPath#
Path to Cargo.toml
Typenull or string
Defaultnull
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.settings.rust.check.cargoDeps#
Cargo dependencies needed to run the checks.
Typenull or (attribute set)
Defaultnull
Example"pkgs.rustPlatform.importCargoLock { lockFile = ./Cargo.lock; }"
Declared ingit-hooks.nix/blob/master/modules/hooks.nix
git-hooks.shellHook#
A shell hook that sets up the git hooks in a development shell.
Pass to mkShell as shellHook to use.
Typestring
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.src#
Root of the project. By default this will be filtered with the
gitignoreSource function later, unless rootSrc is specified.
If you use the flakeModule, the default is self.outPath; the whole
flake sources.
Typeabsolute path
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
git-hooks.tools#
Tool set from which nix-pre-commit-hooks will pick binaries.
nix-pre-commit-hooks comes with its own set of packages for this
purpose.
Typelazy attribute set of (null or package)
Default
git-hooks.nix-pkgs.callPackage tools-dot-nix { inherit (pkgs) system; }
Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix
hosts
hosts#
List of hosts entries.
Typeattribute set of (string or list of string)
Default{ }
Example
{
"another-example.com" = [
"::1"
"127.0.0.1"
];
"example.com" = "127.0.0.1";
}
Declared indevenv/blob/main/src/modules/integrations/hostctl.nix
hostsProfileName
hostsProfileName#
Profile name to use.
Typestring
Default"devenv-\<hash\>"
Declared indevenv/blob/main/src/modules/integrations/hostctl.nix
infoSections
infoSections#
Information about the environment
Typeattribute set of list of string
Default{ }
Declared indevenv/blob/main/src/modules/info.nix
inputsFrom
inputsFrom#
A list of derivations whose build inputs will be merged into the shell environment.
Typelist of package
Default[ ]
Example
[
pkgs.hello
(pkgs.python3.withPackages (ps: [ ps.numpy ps.pandas ]))
]
Declared indevenv/blob/main/src/modules/top-level.nix
integrations
integrations.gitnr#
Declarative generation of ignore files using gitnr templates.
Typeattribute set of (submodule)
Default{ }
Example
{
".gitignore" = {
enableDefaultTemplates = true;
templates = [ "tt:go" "tt:node" ];
content = [
"*.env"
];
};
}
Declared indevenv/blob/main/src/modules/integrations/gitnr.nix
integrations.gitnr.\<name\>.content#
Additional patterns to append to the generated ignore file. These patterns will be added after the templates are processed.
Typelist of string
Default[ ]
Example
[
"*.log"
"dist/"
]
Declared indevenv/blob/main/src/modules/integrations/gitnr.nix
integrations.gitnr.\<name\>.enableDefaultTemplates#
Prepend a sensible default set of TopTal templates.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/gitnr.nix
integrations.gitnr.\<name\>.package#
The gitnr package to use for generating templates.
Typepackage
Defaultpkgs.gitnr
Declared indevenv/blob/main/src/modules/integrations/gitnr.nix
integrations.gitnr.\<name\>.templates#
List of templates to include in the ignore file.
Template strings are passed directly to gitnr create.
Typelist of string
Default[ ]
Example
[
"tt:linux"
"tt:macos"
"tt:windows"
]
Declared indevenv/blob/main/src/modules/integrations/gitnr.nix
keyFile
keyFile#
Custom key file name, uses mkcert default if unset
Typenull or string
Defaultnull
Example"mykey.pem"
Declared indevenv/blob/main/src/modules/integrations/mkcert.nix
languages
languages.ansible.enable#
Whether to enable tools for Ansible development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/ansible.nix
languages.ansible.lsp.enable#
Whether to enable Ansible Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/ansible.nix
languages.ansible.lsp.package#
The Ansible language server package to use.
Typenull or package
Defaultpkgs.ansible-language-server
Declared indevenv/blob/main/src/modules/languages/ansible.nix
languages.ansible.package#
The Ansible package to use.
Typepackage
Defaultpkgs.ansible
Declared indevenv/blob/main/src/modules/languages/ansible.nix
languages.c.debugger#
An optional debugger package to use with c. The default is lldb on
macOS, gdb on Linux (if supported), or null otherwise.
Typenull or package
Defaultpkgs.gdb
Declared indevenv/blob/main/src/modules/languages/c.nix
languages.c.enable#
Whether to enable tools for C development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/c.nix
languages.c.lsp.enable#
Whether to enable C Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/c.nix
languages.c.lsp.package#
The C language server package to use.
Typepackage
Defaultpkgs.ccls
Declared indevenv/blob/main/src/modules/languages/c.nix
languages.clojure.enable#
Whether to enable tools for Clojure development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/clojure.nix
languages.clojure.lsp.enable#
Whether to enable Clojure Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/clojure.nix
languages.clojure.lsp.package#
The Clojure language server package to use.
Typepackage
Defaultpkgs.clojure-lsp
Declared indevenv/blob/main/src/modules/languages/clojure.nix
languages.cplusplus.enable#
Whether to enable tools for C++ development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/cplusplus.nix
languages.cplusplus.lsp.enable#
Whether to enable C++ Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/cplusplus.nix
languages.cplusplus.lsp.package#
The C++ language server package to use.
Typepackage
Defaultpkgs.ccls
Declared indevenv/blob/main/src/modules/languages/cplusplus.nix
languages.crystal.enable#
Whether to enable Enable tools for Crystal development..
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/crystal.nix
languages.crystal.lsp.enable#
Whether to enable Crystal Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/crystal.nix
languages.crystal.lsp.package#
The Crystal language server package to use.
Typepackage
Defaultpkgs.crystalline
Declared indevenv/blob/main/src/modules/languages/crystal.nix
languages.crystal.package#
The Crystal package to use.
Typepackage
Defaultpkgs.crystal
Declared indevenv/blob/main/src/modules/languages/crystal.nix
languages.crystal.shards#
Configuration for shards
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/languages/crystal.nix
languages.crystal.shards.package#
The Shards package to use.
Typepackage
Defaultpkgs.shards
Declared indevenv/blob/main/src/modules/languages/crystal.nix
languages.cue.enable#
Whether to enable tools for Cue development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/cue.nix
languages.cue.lsp.enable#
Whether to enable CUE Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/cue.nix
languages.cue.lsp.package#
The CUE language server package to use.
Typepackage
Defaultpkgs.cuelsp
Declared indevenv/blob/main/src/modules/languages/cue.nix
languages.cue.package#
The CUE package to use.
Typepackage
Defaultpkgs.cue
Declared indevenv/blob/main/src/modules/languages/cue.nix
languages.dart.enable#
Whether to enable tools for Dart development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/dart.nix
languages.dart.package#
The Dart package to use.
Typepackage
Defaultpkgs.dart
Declared indevenv/blob/main/src/modules/languages/dart.nix
languages.deno.enable#
Whether to enable tools for Deno development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/deno.nix
languages.deno.package#
Which package of Deno to use.
Typepackage
Defaultpkgs.deno
Declared indevenv/blob/main/src/modules/languages/deno.nix
languages.dotnet.enable#
Whether to enable tools for .NET development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/dotnet.nix
languages.dotnet.lsp.enable#
Whether to enable .NET Language Server.
Typeboolean
Default`true` if csharp-ls is available on the host platform, `false` otherwise
Exampletrue
Declared indevenv/blob/main/src/modules/languages/dotnet.nix
languages.dotnet.lsp.package#
The .NET language server package to use.
Typepackage
Defaultpkgs.csharp-ls
Declared indevenv/blob/main/src/modules/languages/dotnet.nix
languages.dotnet.package#
The .NET SDK package to use.
Typepackage
Defaultpkgs.dotnet-sdk
Declared indevenv/blob/main/src/modules/languages/dotnet.nix
languages.elixir.enable#
Whether to enable tools for Elixir development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/elixir.nix
languages.elixir.lsp.enable#
Whether to enable Elixir Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/elixir.nix
languages.elixir.lsp.package#
The Elixir language server package to use.
Typepackage
Defaultpkgs.beamPackages.elixir-ls
Declared indevenv/blob/main/src/modules/languages/elixir.nix
languages.elixir.package#
Which Elixir package to use.
Typepackage
Defaultpkgs.beamPackages.elixir
Declared indevenv/blob/main/src/modules/languages/elixir.nix
languages.elm.enable#
Whether to enable tools for Elm development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/elm.nix
languages.elm.lsp.enable#
Whether to enable Elm Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/elm.nix
languages.elm.lsp.package#
The Elm language server package to use.
Typepackage
Defaultpkgs.elmPackages.elm-language-server
Declared indevenv/blob/main/src/modules/languages/elm.nix
languages.erlang.enable#
Whether to enable tools for Erlang development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/erlang.nix
languages.erlang.lsp.enable#
Whether to enable Erlang Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/erlang.nix
languages.erlang.lsp.package#
The Erlang language server package to use.
Typepackage
Defaultpkgs.erlang-language-platform
Declared indevenv/blob/main/src/modules/languages/erlang.nix
languages.erlang.package#
Which Erlang package to use.
Typepackage
Defaultpkgs.beamPackages.erlang
Declared indevenv/blob/main/src/modules/languages/erlang.nix
languages.fortran.enable#
Whether to enable tools for Fortran Development..
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/fortran.nix
languages.fortran.lsp.enable#
Whether to enable Fortran Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/fortran.nix
languages.fortran.lsp.package#
The Fortran language server package to use.
Typepackage
Defaultpkgs.fortls
Declared indevenv/blob/main/src/modules/languages/fortran.nix
languages.fortran.package#
The Fortran package to use.
Typepackage
Defaultpkgs.gfortran
Declared indevenv/blob/main/src/modules/languages/fortran.nix
languages.gawk.enable#
Whether to enable tools for GNU Awk development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/gawk.nix
languages.gleam.enable#
Whether to enable tools for Gleam development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/gleam.nix
languages.gleam.package#
The Gleam package to use.
Typepackage
Defaultpkgs.gleam
Declared indevenv/blob/main/src/modules/languages/gleam.nix
languages.go.delve.enable#
Whether to enable Delve debugger.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/go.nix
languages.go.delve.package#
The Delve package to use. Override this to customize the build, e.g. to disable tests.
Typepackage
Defaultpkgs.delve
Declared indevenv/blob/main/src/modules/languages/go.nix
languages.go.enable#
Whether to enable tools for Go development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/go.nix
languages.go.enableHardeningWorkaround#
Enable hardening workaround required for Delve debugger (https://github.com/go-delve/delve/issues/3085)
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/go.nix
languages.go.lsp.enable#
Whether to enable Go Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/go.nix
languages.go.lsp.package#
The Go language server package to use.
Typepackage
Defaultpkgs.gopls
Declared indevenv/blob/main/src/modules/languages/go.nix
languages.go.package#
The Go package to use.
Typepackage
Defaultpkgs.go
Declared indevenv/blob/main/src/modules/languages/go.nix
languages.go.version#
The Go version to use. This automatically sets the
languages.go.package using
go-overlay.
Typenull or string
Defaultnull
Example"1.22.0"
Declared indevenv/blob/main/src/modules/languages/go.nix
languages.hare.enable#
Whether to enable tools for Hare development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/hare.nix
languages.haskell.cabal.enable#
Whether to enable Cabal.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.cabal.package#
Cabal package to use.
Typepackage
Defaultpkgs.cabal-install
Declared indevenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.enable#
Whether to enable tools for Haskell development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.lsp.enable#
Whether to enable Haskell Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.lsp.package#
The Haskell language server package to use.
Typepackage
Defaultpkgs.haskell-language-server
Declared indevenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.package#
Haskell compiler to use.
Typepackage
Defaultpkgs.ghc
Declared indevenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.stack.args#
Additional arguments to pass to stack. By default, stack is configured to use devenv’s GHC installation.
Typelist of string
Default[ "--no-nix" "--system-ghc" "--no-install-ghc" ]
Declared indevenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.stack.enable#
Whether to enable Stack.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.stack.package#
Haskell stack package to use.
Typepackage
Defaultpkgs.stack
Declared indevenv/blob/main/src/modules/languages/haskell.nix
languages.helm.enable#
Whether to enable tools for Helm development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/helm.nix
languages.helm.lsp.enable#
Whether to enable Helm Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/helm.nix
languages.helm.lsp.package#
The Helm language server package to use.
Typepackage
Defaultpkgs.helm-ls
Declared indevenv/blob/main/src/modules/languages/helm.nix
languages.helm.package#
The Helm package to use.
Typepackage
Defaultpkgs.kubernetes-helm
Declared indevenv/blob/main/src/modules/languages/helm.nix
languages.helm.plugins#
List of Helm plugin names to include from pkgs.kubernetes-helmPlugins.
They will be symlinked into one directory and exposed via HELM_PLUGINS.
Typelist of string
Default[ ]
Example
[
"helm-secrets"
"helm-diff"
"helm-unittest"
]
Declared indevenv/blob/main/src/modules/languages/helm.nix
languages.idris.enable#
Whether to enable tools for Idris development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/idris.nix
languages.idris.lsp.enable#
Whether to enable Idris Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/idris.nix
languages.idris.lsp.package#
The Idris language server package to use.
Typepackage
Defaultpkgs.idris2Packages.idris2Lsp
Declared indevenv/blob/main/src/modules/languages/idris.nix
languages.idris.package#
The Idris package to use.
Typepackage
Defaultpkgs.idris2
Examplepkgs.idris
Declared indevenv/blob/main/src/modules/languages/idris.nix
languages.java.enable#
Whether to enable tools for Java development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/java.nix
languages.java.gradle.enable#
Whether to enable gradle.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/java.nix
languages.java.gradle.package#
The Gradle package to use. The Gradle package by default inherits the
JDK from languages.java.jdk.package.
Typepackage
Defaultpkgs.gradle.override { java = cfg.jdk.package; }
Declared indevenv/blob/main/src/modules/languages/java.nix
languages.java.jdk.package#
The JDK package to use. This will also become available as JAVA_HOME.
Typepackage
Defaultpkgs.jdk
Examplepkgs.jdk8
Declared indevenv/blob/main/src/modules/languages/java.nix
languages.java.lsp.enable#
Whether to enable Java Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/java.nix
languages.java.lsp.package#
The Java language server package to use. The Java language server
package by default inherits the JDK from languages.java.jdk.package.
Typepackage
Defaultpkgs.jdt-language-server.override { jdk = cfg.jdk.package; }
Declared indevenv/blob/main/src/modules/languages/java.nix
languages.java.maven.enable#
Whether to enable maven.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/java.nix
languages.java.maven.package#
The Maven package to use. The Maven package by default inherits the JDK
from languages.java.jdk.package.
Typepackage
Defaultpkgs.maven.override { jdk_headless = cfg.jdk.package; }
Declared indevenv/blob/main/src/modules/languages/java.nix
languages.javascript.bun.enable#
Whether to enable install bun.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.bun.install.enable#
Whether to enable bun install during devenv initialisation.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.bun.package#
The bun package to use.
Typepackage
Defaultpkgs.bun
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.corepack.enable#
Whether to enable wrappers for npm, pnpm and Yarn via Node.js Corepack.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.directory#
The JavaScript project’s root directory. Defaults to the root of the devenv project. Can be an absolute path or one relative to the root of the devenv project.
Typestring
Defaultconfig.devenv.root
Example"./directory"
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.enable#
Whether to enable tools for JavaScript development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.lsp.enable#
Whether to enable TypeScript Language Server for JavaScript.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.lsp.package#
The TypeScript/JavaScript language server package to use.
Typepackage
Defaultpkgs.typescript-language-server
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.nodejs.enable#
Whether to enable Node.js runtime.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.npm.enable#
Whether to enable install npm.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.npm.install.enable#
Whether to enable npm install during devenv initialisation.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.npm.package#
The npm package to use. Defaults to the npm output of the javascript package.
Typepackage
Defaultlanguages.javascript.package
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.package#
The Node.js package to use.
Typepackage
Defaultpkgs.nodejs-slim
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.pnpm.enable#
Whether to enable install pnpm.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.pnpm.install.enable#
Whether to enable pnpm install during devenv initialisation.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.pnpm.package#
The pnpm package to use.
Typepackage
Defaultpkgs.pnpm
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.yarn.enable#
Whether to enable install yarn.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.yarn.install.enable#
Whether to enable yarn install during devenv initialisation.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.yarn.package#
The yarn package to use.
Typepackage
Defaultpkgs.yarn
Declared indevenv/blob/main/src/modules/languages/javascript.nix
languages.jsonnet.enable#
Whether to enable tools for jsonnet development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/jsonnet.nix
languages.jsonnet.lsp.enable#
Whether to enable Jsonnet Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/jsonnet.nix
languages.jsonnet.lsp.package#
The Jsonnet language server package to use.
Typepackage
Defaultpkgs.jsonnet-language-server
Declared indevenv/blob/main/src/modules/languages/jsonnet.nix
languages.julia.enable#
Whether to enable tools for Julia development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/julia.nix
languages.julia.package#
The Julia package to use.
Typepackage
Defaultpkgs.julia-bin
Declared indevenv/blob/main/src/modules/languages/julia.nix
languages.kotlin.enable#
Whether to enable tools for Kotlin development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/kotlin.nix
languages.kotlin.lsp.enable#
Whether to enable Kotlin Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/kotlin.nix
languages.kotlin.lsp.package#
The Kotlin language server package to use.
Typepackage
Defaultpkgs.kotlin-language-server
Declared indevenv/blob/main/src/modules/languages/kotlin.nix
languages.lean4.enable#
Whether to enable tools for lean4 development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/lean4.nix
languages.lean4.package#
The lean4 package to use.
Typepackage
Defaultpkgs.lean4
Declared indevenv/blob/main/src/modules/languages/lean4.nix
languages.lobster.enable#
Whether to enable tools for Lobster development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/lobster.nix
languages.lobster.package#
Which Lobster package to use.
Typepackage
Defaultpkgs.lobster
Declared indevenv/blob/main/src/modules/languages/lobster.nix
languages.lua.enable#
Whether to enable tools for Lua development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/lua.nix
languages.lua.lsp.enable#
Whether to enable Lua Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/lua.nix
languages.lua.lsp.package#
The Lua language server package to use.
Typepackage
Defaultpkgs.lua-language-server
Declared indevenv/blob/main/src/modules/languages/lua.nix
languages.lua.package#
The Lua package to use.
Typepackage
Defaultpkgs.lua
Declared indevenv/blob/main/src/modules/languages/lua.nix
languages.nim.enable#
Whether to enable tools for Nim development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/nim.nix
languages.nim.lsp.enable#
Whether to enable Nim Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/nim.nix
languages.nim.lsp.package#
The Nim language server package to use.
Typepackage
Defaultpkgs.nimlangserver
Declared indevenv/blob/main/src/modules/languages/nim.nix
languages.nim.package#
The Nim package to use.
Typepackage
Defaultpkgs.nim
Declared indevenv/blob/main/src/modules/languages/nim.nix
languages.nix.enable#
Whether to enable tools for Nix development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/nix.nix
languages.nix.lsp.enable#
Whether to enable Nix Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/nix.nix
languages.nix.lsp.package#
The Nix language server package to use.
Typepackage
Defaultpkgs.nixd
Declared indevenv/blob/main/src/modules/languages/nix.nix
languages.ocaml.enable#
Whether to enable tools for OCaml development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/ocaml.nix
languages.ocaml.lsp.enable#
Whether to enable OCaml Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/ocaml.nix
languages.ocaml.lsp.package#
The OCaml language server package to use.
Typepackage
Defaultpkgs.ocamlPackages.ocaml-lsp
Declared indevenv/blob/main/src/modules/languages/ocaml.nix
languages.ocaml.packages#
The package set of OCaml to use
Typeattribute set
Defaultpkgs.ocaml-ng.ocamlPackages_4_12
Declared indevenv/blob/main/src/modules/languages/ocaml.nix
languages.odin.debugger#
An optional debugger package to use with odin. The default is gdb, if
supported on the current system.
Typenull or package
Defaultpkgs.gdb
Declared indevenv/blob/main/src/modules/languages/odin.nix
languages.odin.enable#
Whether to enable tools for Odin Language.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/odin.nix
languages.odin.lsp.enable#
Whether to enable Odin Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/odin.nix
languages.odin.lsp.package#
The Odin language server package to use.
Typepackage
Defaultpkgs.ols
Declared indevenv/blob/main/src/modules/languages/odin.nix
languages.odin.package#
The odin package to use.
Typepackage
Defaultpkgs.odin
Declared indevenv/blob/main/src/modules/languages/odin.nix
languages.opentofu.enable#
Whether to enable tools for OpenTofu development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/opentofu.nix
languages.opentofu.lsp.enable#
Whether to enable OpenTofu Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/opentofu.nix
languages.opentofu.lsp.package#
The OpenTofu language server package to use.
Typepackage
Defaultpkgs.terraform-ls
Declared indevenv/blob/main/src/modules/languages/opentofu.nix
languages.opentofu.package#
The OpenTofu package to use.
Typepackage
Defaultpkgs.opentofu
Declared indevenv/blob/main/src/modules/languages/opentofu.nix
languages.pascal.enable#
Whether to enable tools for Pascal development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/pascal.nix
languages.pascal.lazarus.enable#
Whether to enable lazarus graphical IDE for the FreePascal language.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/pascal.nix
languages.perl.enable#
Whether to enable tools for Perl development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/perl.nix
languages.perl.lsp.enable#
Whether to enable Perl Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/perl.nix
languages.perl.lsp.package#
The Perl language server package to use.
Typepackage
Defaultpkgs.perlnavigator
Declared indevenv/blob/main/src/modules/languages/perl.nix
languages.perl.packages#
Perl packages to include
Typelist of string
Default[ ]
Example
[
"Mojolicious"
]
Declared indevenv/blob/main/src/modules/languages/perl.nix
languages.php.disableExtensions#
PHP extensions to disable.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.enable#
Whether to enable tools for PHP development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.extensions#
PHP extensions to enable.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.extraConfig#
Extra configuration that should be put in the global section of the
PHP-FPM configuration file. Do not specify the options error_log or
daemonize here, since they are generated by NixOS.
Typenull or strings concatenated with "\n"
Defaultnull
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.phpOptions#
Options appended to the PHP configuration file php.ini.
Typestrings concatenated with "\n"
Default""
Example
''
date.timezone = "CET"
''
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools#
PHP-FPM pools. If no pools are defined, the PHP-FPM service is disabled.
Typeattribute set of (submodule)
Default{ }
Example
{
mypool = {
user = "php";
group = "php";
phpPackage = pkgs.php;
settings = {
"pm" = "dynamic";
"pm.max_children" = 75;
"pm.start_servers" = 10;
"pm.min_spare_servers" = 5;
"pm.max_spare_servers" = 20;
"pm.max_requests" = 500;
};
}
}
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.\<name\>.extraConfig#
Extra lines that go into the pool configuration. See the documentation
on php-fpm.conf for details on configuration directives.
Typenull or strings concatenated with "\n"
Defaultnull
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.\<name\>.listen#
The address on which to accept FastCGI requests.
Typestring
Default""
Example"/path/to/unix/socket"
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.\<name\>.phpEnv#
Environment variables used for this PHP-FPM pool.
Typeattribute set of string
Default{ }
Example
{
HOSTNAME = "$HOSTNAME";
TMP = "/tmp";
TMPDIR = "/tmp";
TEMP = "/tmp";
}
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.\<name\>.phpOptions#
Options appended to the PHP configuration file php.ini used for this
PHP-FPM pool.
Typestrings concatenated with "\n"
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.\<name\>.phpPackage#
The PHP package to use for running this PHP-FPM pool.
Typepackage
Defaultphpfpm.phpPackage
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.\<name\>.settings#
PHP-FPM pool directives. Refer to the “List of pool directives” section
of https://www.php.net/manual/en/install.fpm.configuration.php%22 the
manual for details. Note that settings names must be enclosed in quotes
(e.g. "pm.max_children" instead of pm.max_children).
Typeattribute set of (string or signed integer or boolean)
Default{ }
Example
{
"pm" = "dynamic";
"pm.max_children" = 75;
"pm.start_servers" = 10;
"pm.min_spare_servers" = 5;
"pm.max_spare_servers" = 20;
"pm.max_requests" = 500;
}
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.\<name\>.socket#
Path to the Unix socket file on which to accept FastCGI requests.
This option is read-only and managed by NixOS.
Typestring
Exampleconfig.env.DEVENV_STATE + "/php-fpm/\<name\>.sock"
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.settings#
PHP-FPM global directives.
Refer to the “List of global php-fpm.conf directives” section of https://www.php.net/manual/en/install.fpm.configuration.php for details.
Note that settings names must be enclosed in quotes (e.g.
"pm.max_children" instead of pm.max_children).
You need not specify the options error_log or daemonize here, since
they are already set.
Typeattribute set of (string or signed integer or boolean)
Default
{
error_log = config.env.DEVENV_STATE + "/php-fpm/php-fpm.log";
}
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.ini#
PHP.ini directives. Refer to the “List of php.ini directives” of PHP’s
Typenull or strings concatenated with "\n"
Default""
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.lsp.enable#
Whether to enable PHP Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.lsp.package#
The PHP language server package to use.
Typepackage
Defaultpkgs.phpactor
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.package#
Allows you to override the default used
package
to adjust the settings or add more extensions. You can find the
extensions using devenv search 'php extensions'
Typepackage
Defaultpkgs.php
Example
pkgs.php.buildEnv {
extensions = { all, enabled }: with all; enabled ++ [ xdebug ];
extraConfig = ''
memory_limit=1G
'';
};
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.packages#
Attribute set of packages including composer
Typesubmodule
Defaultpkgs
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.packages.composer#
composer package
Typenull or package
Defaultpkgs.phpPackages.composer
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.php.version#
The PHP version to use.
Typestring
Default""
Declared indevenv/blob/main/src/modules/languages/php.nix
languages.pkl.enable#
Whether to enable tools for Pkl development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/pkl.nix
languages.pkl.lsp.enable#
Whether to enable Pkl Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/pkl.nix
languages.pkl.lsp.package#
The Pkl language server package to use.
Typepackage
Defaultpkgs.pkl-lsp
Declared indevenv/blob/main/src/modules/languages/pkl.nix
languages.pkl.package#
The Pkl package to use.
Typepackage
Defaultpkgs.pkl
Declared indevenv/blob/main/src/modules/languages/pkl.nix
languages.purescript.enable#
Whether to enable tools for PureScript development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/purescript.nix
languages.purescript.lsp.enable#
Whether to enable PureScript Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/purescript.nix
languages.purescript.lsp.package#
The PureScript language server package to use. Uses purescript-overlay by default.
Typepackage
Defaultpurescript-overlay.packages.${pkgs.stdenv.system}.purescript-language-server
Declared indevenv/blob/main/src/modules/languages/purescript.nix
languages.purescript.package#
The PureScript compiler package to use. Uses purescript-overlay by default.
Typepackage
Defaultpurescript-overlay.packages.${pkgs.stdenv.system}.purs
Declared indevenv/blob/main/src/modules/languages/purescript.nix
languages.purescript.spago.enable#
Whether to enable Spago package manager.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/purescript.nix
languages.purescript.spago.package#
The Spago package manager to use. Uses purescript-overlay by default.
Typepackage
Defaultpurescript-overlay.packages.${pkgs.stdenv.system}.spago
Declared indevenv/blob/main/src/modules/languages/purescript.nix
languages.python.directory#
The Python project’s root directory. Defaults to the root of the devenv project. Can be an absolute path or one relative to the root of the devenv project.
Typestring
Defaultconfig.devenv.root
Example"./directory"
Declared indevenv/blob/main/src/modules/languages/python
languages.python.enable#
Whether to enable tools for Python development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/python
languages.python.import#
Import a Python project using uv2nix.
This function takes a path to a directory containing a pyproject.toml file and returns a derivation that builds the Python project using uv2nix.
Example usage:
let
mypackage = config.languages.python.import ./path/to/python/project {};
in {
languages.python.enable = true;
packages = [ mypackage ];
}
Typefunction that evaluates to a(n) function that evaluates to a(n) package
Declared indevenv/blob/main/src/modules/languages/python
languages.python.libraries#
Additional libraries to make available to the Python interpreter.
This is useful when you want to use Python wheels that depend on native libraries.
Typelist of absolute path
Default
[ "${config.devenv.dotfile}/profile" ]
Declared indevenv/blob/main/src/modules/languages/python
languages.python.lsp.enable#
Whether to enable Python Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/python
languages.python.lsp.package#
The Python language server package to use.
Typepackage
Defaultpkgs.pyright
Declared indevenv/blob/main/src/modules/languages/python
languages.python.manylinux.enable#
Whether to install manylinux2014 libraries.
Enabled by default on linux;
This is useful when you want to use Python wheels that depend on manylinux2014 libraries.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.package#
The Python package to use.
Typepackage
Defaultpkgs.python3
Declared indevenv/blob/main/src/modules/languages/python
languages.python.patches.buildEnv.enable#
Whether to apply fixes to Python’s buildEnv for correct runtime
initialization:
- Executables use
--inherit-argv0and--resolve-argv0to ensure Python initializes with correctsys.prefixandsys.base_prefix - Python package scripts are unwrapped to invoke the environment’s interpreter directly
Without these fixes, Python may not initialize with the correct prefix paths.
Enabled by default. Newer nixpkgs releases may include upstream fixes that make this patch obsolete.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.activate.enable#
Whether to activate the poetry virtual environment automatically.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.enable#
Whether to enable poetry.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.allExtras#
Whether to install all extras. See --all-extras.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.allGroups#
Whether to install all groups. See --all-groups.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.compile#
Whether poetry install should compile Python source files to bytecode.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.enable#
Whether to enable poetry install during devenv initialisation.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.extras#
Which extras to install. See --extras.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.groups#
Which dependency groups to install. See --with.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.ignoredGroups#
Which dependency groups to ignore. See --without.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.installRootPackage#
Whether the root package (your project) should be installed. See
--no-root
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.onlyGroups#
Which dependency groups to exclusively install. See --only.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.onlyInstallRootPackage#
Whether to only install the root package (your project) should be
installed, but no dependencies. See --only-root
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.quiet#
Whether poetry install should avoid outputting messages during devenv
initialisation.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.install.verbosity#
What level of verbosity the output of poetry install should have.
Typeone of "no", "little", "more", "debug"
Default"no"
Declared indevenv/blob/main/src/modules/languages/python
languages.python.poetry.package#
The Poetry package to use.
Typepackage
Defaultpkgs.poetry
Declared indevenv/blob/main/src/modules/languages/python
languages.python.uv.enable#
Whether to enable uv.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/python
languages.python.uv.package#
The uv package to use.
Typepackage
Defaultpkgs.uv
Declared indevenv/blob/main/src/modules/languages/python
languages.python.uv.sync.allExtras#
Whether to install all extras. See --all-extras.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.uv.sync.allGroups#
Whether to install all groups. See --all-groups.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.uv.sync.allPackages#
Sync all packages in the workspace. See --all-packages.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.uv.sync.arguments#
Command line arguments pass to uv sync during devenv initialisation.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/python
languages.python.uv.sync.enable#
Whether to enable uv sync during devenv initialisation.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/python
languages.python.uv.sync.extras#
Which extras to install. See --extra.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/python
languages.python.uv.sync.groups#
Which dependency groups to install. See --group.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/python
languages.python.uv.sync.packages#
Sync for specific packages in the workspace. See --package.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/python
languages.python.venv.enable#
Whether to enable Python virtual environment.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/python
languages.python.venv.quiet#
Whether pip install should avoid outputting messages during devenv
initialisation.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/python
languages.python.venv.requirements#
Contents of pip requirements.txt file. This is passed to
pip install -r during devenv shell initialisation.
Typenull or strings concatenated with "\n" or absolute path
Defaultnull
Declared indevenv/blob/main/src/modules/languages/python
languages.python.version#
The Python version to use. This automatically sets the
languages.python.package using
nixpkgs-python.
Typenull or string
Defaultnull
Example"3.11 or 3.11.2"
Declared indevenv/blob/main/src/modules/languages/python
languages.r.enable#
Whether to enable tools for R development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/r.nix
languages.r.lsp.enable#
Whether to enable R Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/r.nix
languages.r.lsp.package#
The R language server package to use.
Typepackage
Defaultpkgs.rPackages.languageserver
Declared indevenv/blob/main/src/modules/languages/r.nix
languages.r.package#
The R package to use.
Typepackage
Defaultpkgs.R
Declared indevenv/blob/main/src/modules/languages/r.nix
languages.r.radian.enable#
Whether to enable a 21 century R console.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/r.nix
languages.r.radian.package#
The radian package to use.
Typepackage
Defaultpkgs.radianWrapper
Declared indevenv/blob/main/src/modules/languages/r.nix
languages.racket.enable#
Whether to enable tools for Racket development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/racket.nix
languages.racket.package#
The Racket package to use.
Typepackage
Defaultpkgs.racket-minimal
Declared indevenv/blob/main/src/modules/languages/racket.nix
languages.raku.enable#
Whether to enable tools for Raku development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/raku.nix
languages.robotframework.enable#
Whether to enable tools for Robot Framework development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/robotframework.nix
languages.robotframework.python#
The Python package to use.
Typepackage
Defaultpkgs.python3
Declared indevenv/blob/main/src/modules/languages/robotframework.nix
languages.ruby.bundler.enable#
Whether to enable bundler.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.bundler.package#
The bundler package to use.
Typepackage
Defaultpkgs.bundler.override { ruby = cfg.package; }
Declared indevenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.documentation.enable#
Whether to enable documentation support for Ruby packages.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.enable#
Whether to enable tools for Ruby development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.lsp.enable#
Whether to enable Ruby Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.lsp.package#
The Ruby language server package to use.
Typepackage
Defaultpkgs.solargraph.override { ruby = cfg.package; }
Declared indevenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.package#
The Ruby package to use.
Typepackage
Defaultpkgs.ruby
Declared indevenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.version#
The Ruby version to use. This automatically sets the
languages.ruby.package using
nixpkgs-ruby.
Typenull or string
Defaultnull
Example"3.2.1"
Declared indevenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.versionFile#
The .ruby-version file path to extract the Ruby version from. This
automatically sets the languages.ruby.package using
nixpkgs-ruby. When
the .ruby-version file exists in the same directory as the devenv
configuration, you can use:
languages.ruby.versionFile = ./.ruby-version;
Typenull or absolute path
Defaultnull
Example
./.ruby-version
Declared indevenv/blob/main/src/modules/languages/ruby.nix
languages.rust.channel#
The rustup toolchain to install.
Typeone of "nixpkgs", "stable", "beta", "nightly"
Default"nixpkgs"
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.clangLinker.enable#
Use Clang as the Rust linker driver on Linux.
This avoids GCC’s collect2 wrapper, which can hit
Argument list too long in large Nix development environments before
the final linker receives Rust’s response file.
On x86_64 Linux (glibc), Clang uses LLD unless another linker is enabled.
Typeboolean
Defaultpkgs.stdenv.hostPlatform.isLinux
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.components#
List of Rustup
components
to install. Defaults to those available in nixpkgs.
Typelist of string
Default[ "rustc" "cargo" "clippy" "rustfmt" "rust-analyzer" ]
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.cranelift.enable#
Use Cranelift as the codegen backend for dev builds.
Cranelift compiles significantly faster than LLVM at the cost of less optimized output. Requires the nightly channel.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.cranelift.excludePackages#
List of crate names that should use the LLVM backend instead of Cranelift.
Generates per-package overrides in .cargo/config.toml.
Typelist of string
Default[ ]
Example
[
"aws-lc-sys"
"aws-lc-rs"
"rustls"
]
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.cranelift.forceBuildScriptsLlvm#
Force build scripts and proc macros to use the LLVM backend.
Some build scripts may not work with Cranelift. Enable this to fall back to LLVM for build scripts while keeping Cranelift for regular code.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.enable#
Whether to enable tools for Rust development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.import#
Import a Cargo project using crate2nix.
This function takes a path to a directory containing a Cargo.toml file and returns a derivation that builds the Rust project using crate2nix.
Example usage:
let
mypackage = config.languages.rust.import ./path/to/cargo/project {};
in {
languages.rust.enable = true;
packages = [ mypackage ];
}
Typefunction that evaluates to a(n) function that evaluates to a(n) package
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.lld.enable#
Use lld as the linker.
lld is LLVM’s linker and is the recommended fast linker for Darwin. Works on both Linux and macOS.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.lsp.enable#
Whether to enable Rust Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.lsp.package#
The Rust language server package to use.
Typepackage
Default
Depends on the configured toolchain:
- `nixpkgs` channel: `pkgs.rust-analyzer`.
- non-nixpkgs channel: the `rust-analyzer` component from the rust-overlay toolchain, with a fallback to `pkgs.rust-analyzer` if not present in the manifest.
- `toolchainFile`: the aggregated toolchain package derived from the file.
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.mold.enable#
Use mold as the linker.
mold is a faster drop-in replacement for existing Unix linkers. It is several times quicker than the LLVM lld linker.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.rustflags#
Extra flags to pass to the Rust compiler.
Typestring
Default""
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.targets#
List of extra targets to install. Defaults to only the native target.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.toolchain#
Rust component packages. May optionally define additional components,
for example miri.
Typeopen submodule of attribute set of package
Defaultnixpkgs
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.toolchain.cargo#
cargo package
Typenull or package
Defaultpkgs.cargo
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.toolchain.clippy#
clippy package
Typenull or package
Defaultpkgs.clippy
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.toolchain.rust-analyzer#
rust-analyzer package
Typenull or package
Defaultpkgs.rust-analyzer
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.toolchain.rustc#
rustc package
Typenull or package
Defaultpkgs.rustc
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.toolchain.rustfmt#
rustfmt package
Typenull or package
Defaultpkgs.rustfmt
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.toolchainFile#
Path to a rust-toolchain or rust-toolchain.toml file for automatic
toolchain configuration.
When set, devenv will use rust-overlay’s fromRustupToolchainFile to
automatically configure the toolchain based on the file contents
(channel, components, targets, profile).
This follows the standard Rust toolchain file format documented at: https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file
Cannot be used together with manual channel or version
configuration.
Example:
languages.rust.toolchainFile = ./rust-toolchain.toml;
Typenull or absolute path
Defaultnull
Example./rust-toolchain.toml
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.toolchainPackage#
The aggregated toolchain package, which includes the configured components and targets. This is automatically set based on the channel and components configuration.
Typepackage
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.version#
Which version of rust to use, this value could be latest,1.81.0,
2021-01-01. Only works when languages.rust.channel is NOT nixpkgs.
Typestring
Default"latest"
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.rust.wild.enable#
Use wild as the linker.
wild is a very fast linker for Linux.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/languages/rust.nix
languages.scala.enable#
Whether to enable tools for Scala development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/scala.nix
languages.scala.lsp.enable#
Whether to enable Scala Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/scala.nix
languages.scala.lsp.package#
The Scala language server package to use.
Typepackage
Defaultpkgs.metals
Declared indevenv/blob/main/src/modules/languages/scala.nix
languages.scala.mill.enable#
Whether to enable mill, a simplified, fast build tool for Scala.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/scala.nix
languages.scala.mill.package#
The mill package to use.
Typepackage
Defaultpkgs.mill
Declared indevenv/blob/main/src/modules/languages/scala.nix
languages.scala.package#
The Scala package to use.
Typepackage
Defaultpkgs.scala_3
Declared indevenv/blob/main/src/modules/languages/scala.nix
languages.scala.sbt.enable#
Whether to enable sbt, the standard build tool for Scala.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/scala.nix
languages.scala.sbt.package#
The sbt package to use.
Typepackage
Defaultpkgs.sbt
Examplesbt-with-scala-native
Declared indevenv/blob/main/src/modules/languages/scala.nix
languages.shell.enable#
Whether to enable tools for shell development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/shell.nix
languages.shell.lsp.enable#
Whether to enable Shell Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/shell.nix
languages.shell.lsp.package#
The Shell language server package to use.
Typepackage
Defaultpkgs.bash-language-server
Declared indevenv/blob/main/src/modules/languages/shell.nix
languages.solidity.enable#
Whether to enable tools for Solidity development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/solidity.nix
languages.solidity.foundry.enable#
Whether to enable install Foundry.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/solidity.nix
languages.solidity.foundry.package#
Which Foundry package to use.
Typepackage
Defaultfoundry.defaultPackage.$${pkgs.stdenv.system}
Declared indevenv/blob/main/src/modules/languages/solidity.nix
languages.solidity.package#
Which compiler of Solidity to use.
Typepackage
Defaultpkgs.solc
Declared indevenv/blob/main/src/modules/languages/solidity.nix
languages.standardml.enable#
Whether to enable tools for Standard ML development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/standardml.nix
languages.standardml.lsp.enable#
Whether to enable Standard ML Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/standardml.nix
languages.standardml.lsp.package#
The Standard ML language server package to use.
Typepackage
Defaultpkgs.millet
Declared indevenv/blob/main/src/modules/languages/standardml.nix
languages.standardml.package#
The Standard ML package to use.
Typepackage
Defaultpkgs.mlton
Declared indevenv/blob/main/src/modules/languages/standardml.nix
languages.swift.enable#
Whether to enable tools for Swift development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/swift.nix
languages.swift.lsp.enable#
Whether to enable Swift Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/swift.nix
languages.swift.lsp.package#
The Swift language server package to use.
Typepackage
Defaultpkgs.sourcekit-lsp
Declared indevenv/blob/main/src/modules/languages/swift.nix
languages.swift.package#
The Swift package to use.
Typepackage
Defaultpkgs.swift
Declared indevenv/blob/main/src/modules/languages/swift.nix
languages.terraform.enable#
Whether to enable tools for Terraform development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/terraform.nix
languages.terraform.lsp.enable#
Whether to enable Terraform Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/terraform.nix
languages.terraform.lsp.package#
The Terraform language server package to use.
Typepackage
Defaultpkgs.terraform-ls
Declared indevenv/blob/main/src/modules/languages/terraform.nix
languages.terraform.package#
The Terraform package to use.
Typepackage
Defaultpkgs.terraform
Declared indevenv/blob/main/src/modules/languages/terraform.nix
languages.terraform.version#
The Terraform version to use. This automatically sets the
languages.terraform.package using
nixpkgs-terraform.
Typenull or string
Defaultnull
Example"1.5.0 or 1.6.2"
Declared indevenv/blob/main/src/modules/languages/terraform.nix
languages.texlive.base#
TeX Live package set to use
Typeunspecified value
Defaultpkgs.texliveSmall
Examplepkgs.texliveBasic
Declared indevenv/blob/main/src/modules/languages/texlive.nix
languages.texlive.enable#
Whether to enable TeX Live.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/texlive.nix
languages.texlive.lsp.enable#
Whether to enable TeX Live Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/texlive.nix
languages.texlive.lsp.package#
The TeX Live language server package to use.
Typepackage
Defaultpkgs.texlab
Declared indevenv/blob/main/src/modules/languages/texlive.nix
languages.texlive.packages#
Extra packages to add to the base TeX Live set
Typelist of string
Default[ ]
Example
[
"algorithms"
"latexmk"
]
Declared indevenv/blob/main/src/modules/languages/texlive.nix
languages.typescript.enable#
Whether to enable tools for TypeScript development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/typescript.nix
languages.typescript.lsp.enable#
Whether to enable TypeScript Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/typescript.nix
languages.typescript.lsp.package#
The TypeScript language server package to use.
Typepackage
Defaultpkgs.typescript-language-server
Declared indevenv/blob/main/src/modules/languages/typescript.nix
languages.typst.enable#
Whether to enable tools for Typst development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/typst.nix
languages.typst.fontPaths#
Directories to be searched for fonts.
Typelist of string
Default[]
Example[ "${pkgs.roboto}/share/fonts/truetype" ]
Declared indevenv/blob/main/src/modules/languages/typst.nix
languages.typst.lsp.enable#
Whether to enable Typst Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/typst.nix
languages.typst.lsp.package#
The Typst language server package to use.
Typepackage
Defaultpkgs.tinymist
Declared indevenv/blob/main/src/modules/languages/typst.nix
languages.typst.package#
Which package of Typst to use.
Typepackage
Defaultpkgs.typst
Declared indevenv/blob/main/src/modules/languages/typst.nix
languages.unison.enable#
Whether to enable tools for Unison development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/unison.nix
languages.unison.package#
Which package of Unison to use
Typepackage
Defaultpkgs.unison-ucm
Declared indevenv/blob/main/src/modules/languages/unison.nix
languages.v.enable#
Whether to enable tools for V development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/v.nix
languages.v.package#
The V package to use.
Typepackage
Defaultpkgs.vlang
Declared indevenv/blob/main/src/modules/languages/v.nix
languages.vala.enable#
Whether to enable tools for Vala development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/vala.nix
languages.vala.lsp.enable#
Whether to enable Vala Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/vala.nix
languages.vala.lsp.package#
The Vala language server package to use.
Typepackage
Defaultpkgs.vala-language-server
Declared indevenv/blob/main/src/modules/languages/vala.nix
languages.vala.package#
The Vala package to use.
Typepackage
Defaultpkgs.vala
Examplepkgs.vala_0_54
Declared indevenv/blob/main/src/modules/languages/vala.nix
languages.zig.enable#
Whether to enable tools for Zig development.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/languages/zig.nix
languages.zig.lsp.enable#
Whether to enable Zig Language Server.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/languages/zig.nix
languages.zig.lsp.package#
The Zig language server package to use.
Typepackage
Defaultpkgs.zls
Declared indevenv/blob/main/src/modules/languages/zig.nix
languages.zig.package#
Which package of Zig to use.
Typepackage
Defaultpkgs.zig
Declared indevenv/blob/main/src/modules/languages/zig.nix
languages.zig.version#
The Zig version to use. This automatically sets the
languages.zig.package and languages.zig.lsp.package using
zig-overlay.
Typenull or string
Defaultnull
Example"0.15.1"
Declared indevenv/blob/main/src/modules/languages/zig.nix
machines
machines#
Machines for NixOS, home-manager, and nix-darwin.
Typeattribute set of (submodule)
Default{ }
Declared indevenv/blob/main/src/modules/machines.nix
machines.\<name\>.home-manager#
Home Manager configuration for the machine.
Typenull or unspecified value
Defaultnull
Example
{
home.username = "jdoe";
home.homeDirectory = "/home/jdoe";
programs.git.enable = true;
}
Declared indevenv/blob/main/src/modules/machines.nix
machines.\<name\>.nix-darwin#
nix-darwin configuration for the machine.
Typenull or unspecified value
Defaultnull
Example
{ pkgs, ... }: {
environment.systemPackages = [
pkgs.vim
];
services.nix-daemon.enable = true;
}
Declared indevenv/blob/main/src/modules/machines.nix
machines.\<name\>.nixos#
NixOS configuration for the machine.
Typenull or unspecified value
Defaultnull
Example
{
fileSystems."/".device = "/dev/sda1";
boot.loader.systemd-boot.enable = true;
services.openssh.enable = true;
}
Declared indevenv/blob/main/src/modules/machines.nix
machines.\<name\>.system#
System architecture for the machine.
Typestring
Defaultpkgs.stdenv.system
Example"x86_64-linux"
Declared indevenv/blob/main/src/modules/machines.nix
name
name#
Name of the project.
Typenull or string
Default"devenv-shell"
Declared indevenv/blob/main/src/modules/top-level.nix
opencode
opencode.agents#
Custom agents (placed in .opencode/agents/).
This option can either be:
- an attribute set of agents, or
- a path to a directory containing agent files.
Type(attribute set of (strings concatenated with "\n" or absolute path)) or absolute path
Default{ }
Example
{
"code-reviewer" = ''
# Code Review Agent
Review code for best practices and potential issues.
'';
"documentation-writer" = ./agents/doc-writer.md;
}
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
opencode.commands#
Custom slash commands (placed in .opencode/commands/).
This option can either be:
- an attribute set of commands, or
- a path to a directory containing command files.
Type(attribute set of (strings concatenated with "\n" or absolute path)) or absolute path
Default{ }
Example
{
"fix-tests" = ''
# Fix Tests Command
Analyze failing tests and suggest fixes.
'';
"review-pr" = ./commands/review-pr.md;
}
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
opencode.enable#
Whether to enable OpenCode configuration.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
opencode.mcp#
MCP servers written to opencode.jsonc under mcp.
This option mirrors OpenCode’s MCP configuration shape directly
(local/remote, command, environment, url, headers, oauth,
enabled, timeout, etc.).
Values from opencode.settings.mcp take precedence over this option
when both define the same MCP server name.
Typeattribute set of anything
Default{ }
Example
{
my-local = {
type = "local";
command = [ "devenv" "mcp" ];
environment = {
DEVENV_ROOT = "{env:DEVENV_ROOT}";
};
};
context7 = {
type = "remote";
url = "https://mcp.example.com";
headers = {
Authorization = "Bearer TOKEN";
};
};
}
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
opencode.rules#
Global custom instructions (placed in .opencode/AGENTS.md).
Typestrings concatenated with "\n" or absolute path
Default""
Example
# Custom Development Rules
- Always write tests
- Use conventional commits
- Document public APIs
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
opencode.settings#
Attributes written to opencode.jsonc.
Typeattribute set of anything
Default{ }
Example
{
editor = "nvim";
theme = "dark";
features = {
autocomplete = true;
git_integration = true;
};
}
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
opencode.skills#
Custom skills for opencode.
This option can either be:
- an attribute set defining skills, or
- a path to a directory containing skill folders.
If an attribute set is used, each value can be:
- inline content (creates
.opencode/skills/\<name\>/SKILL.md) - a path to a file (creates
.opencode/skills/\<name\>/SKILL.md) - a path to a directory (creates
.opencode/skills/\<name\>/)
Type(attribute set of (strings concatenated with "\n" or absolute path or string)) or absolute path
Default{ }
Example
{
"debug-helper" = ''
# Debug Helper Skill
Helps diagnose and fix bugs systematically.
'';
"api-generator" = ./skills/api-generator.md;
"full-stack-skill" = ./skills/full-stack;
}
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
opencode.themes#
Custom themes for opencode.
This option can either be:
- an attribute set defining themes, or
- a path to a directory containing theme files.
Type(attribute set of ((attribute set of anything) or absolute path)) or absolute path
Default{ }
Example
{
my-theme = {
colors = {
background = "#0f1115";
foreground = "#d6d9e0";
};
};
custom = ./themes/custom.json;
}
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
opencode.tools#
Custom tools for opencode.
This option can either be:
- an attribute set defining tools, or
- a path to a directory containing tool files.
Type(attribute set of (strings concatenated with "\n" or absolute path)) or absolute path
Default{ }
Example
{
sample = "export default { name: \"sample-tool\"; };";
lint = ./tools/lint.ts;
}
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
opencode.web.enable#
Whether to enable opencode web service.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
opencode.web.extraArgs#
Extra arguments to pass to opencode web.
These arguments override web server options in the configuration file.
Typelist of string
Default[ ]
Example
[
"--hostname"
"127.0.0.1"
"--port"
"4096"
]
Declared indevenv/blob/main/src/modules/integrations/opencode.nix
outputs
outputs#
Nix outputs for devenv build consumption.
TypeoutputOf (attribute set)
Default{ }
Example
{
git = pkgs.git;
foo = {
ncdu = pkgs.ncdu;
};
}
Declared indevenv/blob/main/src/modules/outputs.nix
overlays
overlays#
List of overlays to apply to pkgs. Each overlay is a function that takes two arguments: final and prev. Supported by devenv 1.4.2 or newer.
Typelist of function that evaluates to a(n) function that evaluates to a(n) (attribute set)
Default[ ]
Example
[
(final: prev: {
hello = prev.hello.overrideAttrs (oldAttrs: {
patches = (oldAttrs.patches or []) ++ [ ./hello-fix.patch ];
});
})
]
Declared indevenv/blob/main/src/modules/top-level.nix
packages
packages#
A list of packages to expose inside the developer environment. Search
available packages using devenv search NAME.
Typelist of package
Default[ ]
Declared indevenv/blob/main/src/modules/top-level.nix
process
process.manager.adapter.client#
Client protocol used for attach, readiness, and individual process control.
Typeone of "none", "native-api"
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.adapter.stop#
Adapter used to stop the running manager.
Typeone of "native-api", "command", "process-scope"
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.adapter.terminal#
Terminal required by the manager launcher.
Typeone of "none", "controlling"
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.after#
Bash code to execute after stopping processes.
Typestrings concatenated with "\n"
Default""
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.args#
Additional arguments to pass to the process manager.
Typeattribute set
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.before#
Bash code to execute before starting processes.
Typestrings concatenated with "\n"
Default""
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.capabilities.background_start#
Whether the manager can remain running after the launching client exits.
Typeboolean
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.capabilities.cold_start_subset#
Whether the manager can initially start a named subset of processes.
Typeboolean
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.capabilities.devenv_attach#
Whether devenv can attach its interactive client to an existing manager.
Typeboolean
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.capabilities.individual_control#
Whether devenv can start, stop, and restart individual processes through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.capabilities.wait_ready#
Whether devenv can wait for process readiness through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/processes.nix
process.manager.implementation#
The process manager to use when running processes with devenv up.
Typeone of "hivemind", "honcho", "mprocs", "native", "overmind", "process-compose"
Default`native` for devenv 2.0+, `process-compose` otherwise
Example"process-compose"
Declared indevenv/blob/main/src/modules/processes.nix
process.managers.hivemind.adapter.client#
Client protocol used for attach, readiness, and individual process control.
Typeone of "none", "native-api"
Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix
process.managers.hivemind.adapter.stop#
Adapter used to stop the running manager.
Typeone of "native-api", "command", "process-scope"
Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix
process.managers.hivemind.adapter.terminal#
Terminal required by the manager launcher.
Typeone of "none", "controlling"
Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix
process.managers.hivemind.capabilities.background_start#
Whether the manager can remain running after the launching client exits.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix
process.managers.hivemind.capabilities.cold_start_subset#
Whether the manager can initially start a named subset of processes.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix
process.managers.hivemind.capabilities.devenv_attach#
Whether devenv can attach its interactive client to an existing manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix
process.managers.hivemind.capabilities.individual_control#
Whether devenv can start, stop, and restart individual processes through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix
process.managers.hivemind.capabilities.wait_ready#
Whether devenv can wait for process readiness through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix
process.managers.hivemind.package#
The hivemind package to use.
Typepackage
Defaultpkgs.hivemind
Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix
process.managers.honcho.adapter.client#
Client protocol used for attach, readiness, and individual process control.
Typeone of "none", "native-api"
Declared indevenv/blob/main/src/modules/process-managers/honcho.nix
process.managers.honcho.adapter.stop#
Adapter used to stop the running manager.
Typeone of "native-api", "command", "process-scope"
Declared indevenv/blob/main/src/modules/process-managers/honcho.nix
process.managers.honcho.adapter.terminal#
Terminal required by the manager launcher.
Typeone of "none", "controlling"
Declared indevenv/blob/main/src/modules/process-managers/honcho.nix
process.managers.honcho.capabilities.background_start#
Whether the manager can remain running after the launching client exits.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/honcho.nix
process.managers.honcho.capabilities.cold_start_subset#
Whether the manager can initially start a named subset of processes.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/honcho.nix
process.managers.honcho.capabilities.devenv_attach#
Whether devenv can attach its interactive client to an existing manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/honcho.nix
process.managers.honcho.capabilities.individual_control#
Whether devenv can start, stop, and restart individual processes through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/honcho.nix
process.managers.honcho.capabilities.wait_ready#
Whether devenv can wait for process readiness through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/honcho.nix
process.managers.honcho.package#
The honcho package to use.
Typepackage
Defaultpkgs.honcho
Declared indevenv/blob/main/src/modules/process-managers/honcho.nix
process.managers.mprocs.adapter.client#
Client protocol used for attach, readiness, and individual process control.
Typeone of "none", "native-api"
Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix
process.managers.mprocs.adapter.stop#
Adapter used to stop the running manager.
Typeone of "native-api", "command", "process-scope"
Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix
process.managers.mprocs.adapter.terminal#
Terminal required by the manager launcher.
Typeone of "none", "controlling"
Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix
process.managers.mprocs.capabilities.background_start#
Whether the manager can remain running after the launching client exits.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix
process.managers.mprocs.capabilities.cold_start_subset#
Whether the manager can initially start a named subset of processes.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix
process.managers.mprocs.capabilities.devenv_attach#
Whether devenv can attach its interactive client to an existing manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix
process.managers.mprocs.capabilities.individual_control#
Whether devenv can start, stop, and restart individual processes through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix
process.managers.mprocs.capabilities.wait_ready#
Whether devenv can wait for process readiness through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix
process.managers.mprocs.package#
The mprocs package to use.
Typepackage
Defaultpkgs.mprocs
Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix
process.managers.mprocs.settings#
Top-level mprocs.yaml options
https://github.com/pvolok/mprocs?tab=readme-ov-file#config
TypeYAML 1.1 value
Default{ }
Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix
process.managers.native.adapter.client#
Client protocol used for attach, readiness, and individual process control.
Typeone of "none", "native-api"
Declared indevenv/blob/main/src/modules/process-managers/native.nix
process.managers.native.adapter.stop#
Adapter used to stop the running manager.
Typeone of "native-api", "command", "process-scope"
Declared indevenv/blob/main/src/modules/process-managers/native.nix
process.managers.native.adapter.terminal#
Terminal required by the manager launcher.
Typeone of "none", "controlling"
Declared indevenv/blob/main/src/modules/process-managers/native.nix
process.managers.native.capabilities.background_start#
Whether the manager can remain running after the launching client exits.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/native.nix
process.managers.native.capabilities.cold_start_subset#
Whether the manager can initially start a named subset of processes.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/native.nix
process.managers.native.capabilities.devenv_attach#
Whether devenv can attach its interactive client to an existing manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/native.nix
process.managers.native.capabilities.individual_control#
Whether devenv can start, stop, and restart individual processes through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/native.nix
process.managers.native.capabilities.wait_ready#
Whether devenv can wait for process readiness through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/native.nix
process.managers.overmind.adapter.client#
Client protocol used for attach, readiness, and individual process control.
Typeone of "none", "native-api"
Declared indevenv/blob/main/src/modules/process-managers/overmind.nix
process.managers.overmind.adapter.stop#
Adapter used to stop the running manager.
Typeone of "native-api", "command", "process-scope"
Declared indevenv/blob/main/src/modules/process-managers/overmind.nix
process.managers.overmind.adapter.terminal#
Terminal required by the manager launcher.
Typeone of "none", "controlling"
Declared indevenv/blob/main/src/modules/process-managers/overmind.nix
process.managers.overmind.capabilities.background_start#
Whether the manager can remain running after the launching client exits.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/overmind.nix
process.managers.overmind.capabilities.cold_start_subset#
Whether the manager can initially start a named subset of processes.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/overmind.nix
process.managers.overmind.capabilities.devenv_attach#
Whether devenv can attach its interactive client to an existing manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/overmind.nix
process.managers.overmind.capabilities.individual_control#
Whether devenv can start, stop, and restart individual processes through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/overmind.nix
process.managers.overmind.capabilities.wait_ready#
Whether devenv can wait for process readiness through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/overmind.nix
process.managers.overmind.package#
The overmind package to use.
Typepackage
Defaultpkgs.overmind
Declared indevenv/blob/main/src/modules/process-managers/overmind.nix
process.managers.process-compose.adapter.client#
Client protocol used for attach, readiness, and individual process control.
Typeone of "none", "native-api"
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.adapter.stop#
Adapter used to stop the running manager.
Typeone of "native-api", "command", "process-scope"
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.adapter.terminal#
Terminal required by the manager launcher.
Typeone of "none", "controlling"
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.capabilities.background_start#
Whether the manager can remain running after the launching client exits.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.capabilities.cold_start_subset#
Whether the manager can initially start a named subset of processes.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.capabilities.devenv_attach#
Whether devenv can attach its interactive client to an existing manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.capabilities.individual_control#
Whether devenv can start, stop, and restart individual processes through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.capabilities.wait_ready#
Whether devenv can wait for process readiness through the manager.
Typeboolean
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.package#
The process-compose package to use.
Typepackage
Defaultpkgs.process-compose
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.port#
The port to bind the process-compose server to.
Not used when unixSocket.enable is true.
Typesigned integer
Default8080
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.settings#
Top-level process-compose.yaml options
Example: https://github.com/F1bonacc1/process-compose/blob/main/process-compose.yaml
TypeYAML 1.1 value
Default{ }
Example
{
availability = {
backoff_seconds = 2;
max_restarts = 5;
restart = "on_failure";
};
depends_on = {
some-other-process = {
condition = "process_completed_successfully";
};
};
environment = [
"ENVVAR_FOR_THIS_PROCESS_ONLY=foobar"
];
}
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.tui.enable#
Enable the TUI (Terminal User Interface)
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.unixSocket.enable#
Whether to enable running the process-compose server over unix domain sockets instead of tcp.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
process.managers.process-compose.unixSocket.path#
Override the path to the unix socket.
Typestring
Default${config.devenv.runtime}/pc.sock
Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix
processes
processes#
Processes can be started with devenv up and run in the foreground.
Typeattribute set of (submodule)
Default{ }
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.after#
Tasks that must be ready before this process starts. Use task names like “devenv:processes:postgres” or “myapp:setup”. Supports @started, @ready (default for processes), and @completed suffixes for process dependencies. Supports @started, @succeeded (default for tasks), and @completed suffixes for task dependencies.
Typelist of string
Default[ ]
Example
[
"devenv:processes:postgres"
"myapp:migrations@succeeded"
]
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.before#
Tasks that should start after this process is ready.
Typelist of string
Default[ ]
Example
[
"devenv:processes:nginx"
]
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.cwd#
Working directory to run the process in. If not specified, the current working directory will be used.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.env#
Environment variables to set for this process.
Typeattribute set of string
Default{ }
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.exec#
Bash code to run the process.
Typestring
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.linux#
Linux-specific process configuration.
Requires devenv 2.0+.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.linux.capabilities#
Linux capabilities to add as ambient capabilities for this process (e.g., “cap_net_admin”, “cap_sys_admin”).
Requires devenv 2.0+.
Typelist of string
Default[ ]
Example
[
"cap_net_admin"
"cap_sys_admin"
]
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.listen#
Socket activation configuration for systemd-style socket passing.
Requires devenv 2.0+.
Typelist of (submodule)
Default[ ]
Example
[
{
address = "127.0.0.1:8080";
kind = "tcp";
name = "http";
}
{
kind = "unix_stream";
mode = 384;
name = "admin";
path = "$DEVENV_STATE/admin.sock";
}
]
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.listen.*.address#
TCP address (e.g., ‘127.0.0.1:8080’). Required for TCP sockets.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.listen.*.backlog#
Listen backlog size
Typenull or signed integer
Default128
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.listen.*.kind#
Type of socket (tcp or unix_stream)
Typeone of "tcp", "unix_stream"
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.listen.*.mode#
Unix socket file permissions (e.g., 384 for 0o600). Only for unix_stream.
Typenull or signed integer
Defaultnull
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.listen.*.name#
Name of the socket (e.g., ‘http’, ‘admin’)
Typestring
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.listen.*.path#
Unix socket path. Required for unix_stream sockets.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ports#
Named ports with auto-allocation for this process.
Define ports with a base value and devenv will automatically find a free port starting from that base, incrementing until available.
The resolved port is available via
config.processes.\<name\>.ports.\<port\>.value.
Requires devenv 2.0+.
Typeattribute set of (submodule)
Default{ }
Example
{
http.allocate = 8080;
admin.allocate = 9000;
}
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ports.\<name\>.allocate#
Base port for auto-allocation (increments until free)
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Example8080
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ports.\<name\>.value#
Resolved port value (allocated by devenv)
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
DefaultAllocated port based on `allocate`
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.process-compose#
process-compose.yaml specific process attributes.
Example: https://github.com/F1bonacc1/process-compose/blob/main/process-compose.yaml
Only used when using
process.manager.implementation = "process-compose";
TypeYAML 1.1 value
Default{ }
Example
{
availability = {
backoff_seconds = 2;
max_restarts = 5;
restart = "on_failure";
};
depends_on = {
some-other-process = {
condition = "process_completed_successfully";
};
};
environment = [
"ENVVAR_FOR_THIS_PROCESS_ONLY=foobar"
];
}
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready#
How to determine if this process is ready to serve.
Requires devenv 2.0+.
Typenull or (submodule)
Defaultnull
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.exec#
Shell command to execute. Exit 0 = ready.
Typenull or string
Defaultnull
Example"pg_isready -d template1"
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.failure_threshold#
Consecutive failures before marking unhealthy.
Typesigned integer
Default3
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.http#
HTTP readiness probe configuration.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.http.get#
HTTP GET readiness check.
Typenull or (submodule)
Defaultnull
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.http.get.host#
Host to connect to.
Typestring
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.http.get.path#
HTTP path to request.
Typestring
Default"/"
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.http.get.port#
Port to connect to.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.http.get.scheme#
URL scheme (http or https).
Typestring
Default"http"
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.initial_delay#
Seconds to wait before first probe.
Typesigned integer
Default0
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.notify#
Enable systemd notify protocol for readiness signaling. The process must send READY=1 to the NOTIFY_SOCKET.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.period#
Seconds between probes.
Typesigned integer
Default10
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.probe_timeout#
Seconds before a single probe times out.
Typesigned integer
Default1
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.success_threshold#
Consecutive successes needed to be considered ready.
Typesigned integer
Default1
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.ready.timeout#
Overall deadline in seconds for the process to become ready. null = no deadline.
Typenull or (unsigned integer, meaning >=0)
Defaultnull
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.restart#
Process restart policy.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.restart.max#
Maximum restart attempts. null = unlimited.
Typenull or signed integer
Default5
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.restart.on#
When to restart: never, always, or on_failure.
Typeone of "never", "always", "on_failure"
Default"on_failure"
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.restart.window#
Sliding window in seconds for restart rate limiting. null = lifetime limit.
Typenull or (unsigned integer, meaning >=0)
Defaultnull
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.shutdown#
Graceful shutdown signal and timeout
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.shutdown.grace#
Seconds before shutdown escalates to SIGKILL
Typeunsigned integer, meaning >=0
Default5
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.shutdown.signal#
Unix signal number used for graceful shutdown
Typeinteger between 1 and 31 (both inclusive)
Default15
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.start#
Auto-start configuration for this process.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.start.enable#
Whether to start this process automatically with devenv up.
Disabled processes are still visible in the TUI as stopped and can be started manually by selecting them and pressing Enter.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.watch#
File watching configuration for automatic process restarts.
Requires devenv 2.0+.
Typesubmodule
Default{ }
Example
{
paths = [ ./src ];
extensions = [ "rs" "toml" ];
ignore = [ "target" ];
}
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.watch.extensions#
File extensions to watch (e.g., “rs”, “js”, “py”). If empty, all file extensions are watched.
Requires devenv 2.0+.
Typelist of string
Default[ ]
Example
[
"rs"
"toml"
]
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.watch.ignore#
Glob patterns to ignore (e.g., “.git”, “target”, “*.log”).
Requires devenv 2.0+.
Typelist of string
Default[ ]
Example
[
"*.log"
".git"
"target"
]
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.watch.paths#
Paths to watch for changes (files or directories). When files in these paths change, the process is restarted (or, for a one-shot command that exits immediately, re-run).
Paths are resolved relative to the location of devenv.nix (the project
root), not relative to the process’s cwd. Use path literals such as
./src; they are passed to the watcher as absolute paths.
Requires devenv 2.0+.
Typelist of absolute path
Default[ ]
Example
[ ./src ./config.yaml ]
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.watchdog#
Systemd watchdog configuration.
Requires devenv 2.0+.
Typenull or (submodule)
Defaultnull
Example
{
usec = 30000000; # 30 seconds
require_ready = true;
}
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.watchdog.require_ready#
Require READY=1 notification before enforcing watchdog
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/processes.nix
processes.\<name\>.watchdog.usec#
Watchdog interval in microseconds
Typesigned integer
Declared indevenv/blob/main/src/modules/processes.nix
profiles
profiles#
Profile definitions that can be activated manually or automatically.
Typeopen submodule of lazy attribute set of (submodule)
Default{ }
Example
{
# Manual profiles (activated via --profile)
"base" = {
module = {
languages.nix.enable = true;
packages = [ pkgs.git ];
};
};
"python-3.14" = {
extends = [ "base" ];
module = {
languages.python.version = "3.14";
};
};
"backend" = {
extends = [ "base" ];
module = {
services.postgres.enable = true;
services.redis.enable = true;
};
};
"fullstack" = {
extends = [ "backend" "python-3.14" ];
module = {
env.FULL_STACK = "true";
};
};
# Automatic hostname-based profiles
hostname."work-laptop" = {
extends = [ "backend" ];
module = {
env.WORK_ENV = "true";
};
};
# Automatic user-based profiles
user."alice" = {
extends = [ "python-3.14" ];
module = {
env.USER_ROLE = "developer";
};
};
}
Declared indevenv/blob/main/src/modules/profiles.nix
profiles.\<name\>.extends#
List of profile names to extend/inherit from.
Typelist of string
Default[ ]
Example
[
"base"
"backend"
]profiles.\<name\>.module#
Additional configuration to merge when this profile is active.
Typemodule
Default{ }
profiles.hostname#
Profile definitions that are automatically activated based on the machine’s hostname.
Typelazy attribute set of (submodule)
Default{ }
Declared indevenv/blob/main/src/modules/profiles.nix
profiles.hostname.\<name\>.extends#
List of profile names to extend/inherit from.
Typelist of string
Default[ ]
Example
[
"base"
"backend"
]
Declared indevenv/blob/main/src/modules/profiles.nix
profiles.hostname.\<name\>.module#
Additional configuration to merge when this profile is active.
Typemodule
Default{ }
Declared indevenv/blob/main/src/modules/profiles.nix
profiles.user#
Profile definitions that are automatically activated based on the username.
Typelazy attribute set of (submodule)
Default{ }
Declared indevenv/blob/main/src/modules/profiles.nix
profiles.user.\<name\>.extends#
List of profile names to extend/inherit from.
Typelist of string
Default[ ]
Example
[
"base"
"backend"
]
Declared indevenv/blob/main/src/modules/profiles.nix
profiles.user.\<name\>.module#
Additional configuration to merge when this profile is active.
Typemodule
Default{ }
Declared indevenv/blob/main/src/modules/profiles.nix
scripts
scripts#
A set of scripts available when the environment is active.
Typeattribute set of (submodule)
Default{ }
Declared indevenv/blob/main/src/modules/scripts.nix
scripts.\<name\>.binary#
Override the binary name from the default package.meta.mainProgram
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/scripts.nix
scripts.\<name\>.description#
Description of the script.
Typestring
Default""
Declared indevenv/blob/main/src/modules/scripts.nix
scripts.\<name\>.exec#
Shell code to execute when the script is run, or path to a script file.
Typestring or absolute path
Declared indevenv/blob/main/src/modules/scripts.nix
scripts.\<name\>.package#
The package to use to run the script.
Typepackage
Defaultpkgs.bash
Declared indevenv/blob/main/src/modules/scripts.nix
scripts.\<name\>.packages#
Packages to be available in PATH when the script runs.
Typelist of package
Default[]
Declared indevenv/blob/main/src/modules/scripts.nix
secretspec
secretspec.enable#
Whether secretspec integration is enabled (automatically true when secrets are loaded)
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/integrations/secretspec.nix
secretspec.profile#
The secretspec profile that was used to load secrets (read-only)
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/secretspec.nix
secretspec.provider#
The explicit secretspec provider override selected through devenv, if any (read-only)
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/integrations/secretspec.nix
secretspec.secrets#
Secrets loaded from secretspec.toml (read-only)
Typeattribute set of string
Default{ }
Declared indevenv/blob/main/src/modules/integrations/secretspec.nix
services
services.adminer.enable#
Whether to enable Adminer process.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/adminer.nix
services.adminer.listen#
Listen address for the Adminer.
Typestring
Default"127.0.0.1:8080"
Declared indevenv/blob/main/src/modules/services/adminer.nix
services.adminer.package#
Which package of Adminer to use.
Typepackage
Defaultpkgs.adminer
Declared indevenv/blob/main/src/modules/services/adminer.nix
services.blackfire.client-id#
Sets the client id used to authenticate with Blackfire. You can find your personal client-id at https://blackfire.io/my/settings/credentials.
Typestring
Default""
Declared indevenv/blob/main/src/modules/services/blackfire.nix
services.blackfire.client-token#
Sets the client token used to authenticate with Blackfire. You can find your personal client-token at https://blackfire.io/my/settings/credentials.
Typestring
Default""
Declared indevenv/blob/main/src/modules/services/blackfire.nix
services.blackfire.enable#
Whether to enable Blackfire profiler agent
It automatically installs Blackfire PHP extension. .
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/blackfire.nix
services.blackfire.enableApm#
Whether to enable Enables application performance monitoring, requires special subscription. .
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/blackfire.nix
services.blackfire.package#
Which package of blackfire to use
Typepackage
Defaultpkgs.blackfire
Declared indevenv/blob/main/src/modules/services/blackfire.nix
services.blackfire.server-id#
Sets the server id used to authenticate with Blackfire. You can find your personal server-id at https://blackfire.io/my/settings/credentials.
Typestring
Default""
Declared indevenv/blob/main/src/modules/services/blackfire.nix
services.blackfire.server-token#
Sets the server token used to authenticate with Blackfire. You can find your personal server-token at https://blackfire.io/my/settings/credentials.
Typestring
Default""
Declared indevenv/blob/main/src/modules/services/blackfire.nix
services.blackfire.socket#
Sets the server socket path
Typestring
Default"tcp://127.0.0.1:8307"
Declared indevenv/blob/main/src/modules/services/blackfire.nix
services.caddy.adapter#
Name of the config adapter to use. See https://caddyserver.com/docs/config-adapters for the full list.
Typestring
Default"caddyfile"
Example"nginx"
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.caddy.ca#
Certificate authority ACME server. The default (Let’s Encrypt production server) should be fine for most people. Set it to null if you don’t want to include any authority (or if you want to write a more fine-graned configuration manually).
Typenull or string
Default"https://acme-v02.api.letsencrypt.org/directory"
Example"https://acme-staging-v02.api.letsencrypt.org/directory"
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.caddy.config#
Verbatim Caddyfile to use.
Refer to https://caddyserver.com/docs/caddyfile for more information.
Caddy v2 supports multiple config formats via adapters (see
services.caddy.adapter).
Typestrings concatenated with "\n"
Default""
Example
''
# Global options block
{
debug
}
# Site block
example.com {
encode gzip
log
root /srv/http
}
''
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.caddy.dataDir#
The data directory, for storing certificates. Before 17.09, this would create a .caddy directory. With 17.09 the contents of the .caddy directory are in the specified data directory instead. Caddy v2 replaced CADDYPATH with XDG directories. See https://caddyserver.com/docs/conventions#file-locations.
Typeabsolute path
Default"${config.env.DEVENV_STATE}/caddy"
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.caddy.email#
Email address (for Let’s Encrypt certificate).
Typestring
Default""
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.caddy.enable#
Whether to enable Caddy web server.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.caddy.package#
Caddy package to use.
Typepackage
Defaultpkgs.caddy
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.caddy.resume#
Use saved config, if any (and prefer over configuration passed with
caddy.config).
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.caddy.virtualHosts#
Declarative vhost config.
Typeattribute set of (submodule)
Default{ }
Example
{
"hydra.example.com" = {
serverAliases = [ "www.hydra.example.com" ];
extraConfig = ''''
encode gzip
log
root /srv/http
'''';
};
};
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.caddy.virtualHosts.\<name\>.extraConfig#
These lines go into the vhost verbatim.
Typestrings concatenated with "\n"
Default""
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.caddy.virtualHosts.\<name\>.serverAliases#
Additional names of virtual hosts served by this virtual host configuration.
Typelist of string
Default[ ]
Example
[
"www.example.org"
"example.org"
]
Declared indevenv/blob/main/src/modules/services/caddy.nix
services.cassandra.allowClients#
Enables or disables the native transport server (CQL binary protocol)
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.clusterName#
The name of the cluster
Typestring
Default"Test Cluster"
Declared indevenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.enable#
Whether to enable Add Cassandra process script..
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.extraConfig#
Extra options to be merged into cassandra.yaml as nix attribute set.
Typeattribute set
Default{ }
Example
{
commitlog_sync_batch_window_in_ms = 3;
}
Declared indevenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.jvmOpts#
Options to pass to the JVM through the JVM_OPTS environment variable
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.listenAddress#
Listen address
Typestring
Default"127.0.0.1"
Example"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.package#
Which version of Cassandra to use
Typepackage
Defaultpkgs.cassandra_4
Examplepkgs.cassandra_4;
Declared indevenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.seedAddresses#
The addresses of hosts designated as contact points of the cluster
Typelist of string
Default
[
"127.0.0.1"
]
Declared indevenv/blob/main/src/modules/services/cassandra.nix
services.clickhouse.config#
ClickHouse configuration in YAML.
Typestrings concatenated with "\n"
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.enable#
Whether to enable clickhouse-server.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.httpPort#
Which http port to run clickhouse on.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default8123
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.keeper.enable#
Whether to enable keeper_server in ClickHouse.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.keeper.port#
Which port to run clickhouse keeper service on.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default9181
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.keeper.raft.port#
Which http port to use clickhouse keeper for raft consensus.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default9234
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.macros.enable#
Whether to enable macros in ClickHouse.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.package#
Which package of clickhouse to use
Typepackage
Defaultpkgs.clickhouse
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.port#
Which port to run clickhouse on.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default9000
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.remoteServers.enable#
Whether to enable remote_servers in ClickHouse.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.timezone#
Which timezone to use for ClickHouse.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.clickhouse.usersConfig#
Your users.yaml as a Nix attribute set. Check the
documentation
for possible options.
TypeYAML 1.1 value
Default{ }
Example
{
profiles = {};
users = {
default = {
profile = "default";
password_sha256_hex = "36dd292533174299fb0c34665df468bb881756ca9eaf9757d0cfde38f9ededa1"; # `echo -n verysecret | sha256sum`
};
};
}
Declared indevenv/blob/main/src/modules/services/clickhouse.nix
services.cockroachdb.enable#
Whether to enable Add CockroachDB process. .
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/cockroachdb.nix
services.cockroachdb.http_addr#
The hostname or IP address to bind to for HTTP requests.
Typestring
Default"localhost:8080"
Declared indevenv/blob/main/src/modules/services/cockroachdb.nix
services.cockroachdb.listen_addr#
The address/hostname and port to listen on.
Typestring
Default"localhost:26257"
Declared indevenv/blob/main/src/modules/services/cockroachdb.nix
services.cockroachdb.package#
The CockroachDB package to use.
Typeunspecified value
Defaultpkgs.cockroachdb
Declared indevenv/blob/main/src/modules/services/cockroachdb.nix
services.couchdb.baseDir#
The directory where CouchDB will store its data.
Typestring
Defaultconfig.env.DEVENV_STATE + "/couchdb"
Declared indevenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.enable#
Whether to enable CouchDB process.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.package#
Which version of CouchDB to use
Typepackage
Defaultpkgs.couchdb3
Declared indevenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings#
CouchDB configuration. To learn more about all settings, see the CouchDB configuration reference.
Typeopen submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
Default{ }
Example
{
couchdb = {
database_dir = baseDir;
single_node = true;
view_index_dir = baseDir;
uri_file = "${config.services.couchdb.baseDir}/couchdb.uri";
};
admins = {
"admin_username" = "pass";
};
chttpd = {
bind_address = "127.0.0.1";
port = 5984;
};
}
Declared indevenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.chttpd.bind_address#
Defines the IP address by which CouchDB will be accessible.
Typestring
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.chttpd.port#
Defined the port number to listen.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default5984
Declared indevenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.couchdb.database_dir#
Specifies location of CouchDB database files (*.couch named). This location should be writable and readable for the user the CouchDB service runs as (couchdb by default).
Typeabsolute path
Defaultconfig.env.DEVENV_STATE + "/couchdb"
Declared indevenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.couchdb.single_node#
When this configuration setting is set to true, automatically create the system databases on startup. Must be set false for a clustered CouchDB installation.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.couchdb.uri_file#
This file contains the full URI that can be used to access this instance of CouchDB. It is used to help discover the port CouchDB is running on (if it was set to 0 (e.g. automatically assigned any free one). This file should be writable and readable for the user that runs the CouchDB service (couchdb by default).
Typeabsolute path
Defaultconfig.env.DEVENV_STATE + "/couchdb"/couchdb.uri
Declared indevenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.couchdb.view_index_dir#
Specifies location of CouchDB view index files. This location should be writable and readable for the user that runs the CouchDB service (couchdb by default).
Typeabsolute path
Defaultconfig.env.DEVENV_STATE + "/couchdb"
Declared indevenv/blob/main/src/modules/services/couchdb.nix
services.dynamodb-local.enable#
Whether to enable DynamoDB Local.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/dynamodb-local.nix
services.dynamodb-local.package#
Which package of DynamoDB to use.
Typepackage
Defaultpkgs.dynamodb-local
Declared indevenv/blob/main/src/modules/services/dynamodb-local.nix
services.dynamodb-local.port#
Listen port for DynamoDB Local.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default8000
Declared indevenv/blob/main/src/modules/services/dynamodb-local.nix
services.dynamodb-local.sharedDb#
If true, enables the -sharedDb flag for DynamoDB Local. When enabled, DynamoDB Local creates a single database file named shared-local-instance.db. Every program that connects to DynamoDB accesses this file. If you delete the file, you lose any data stored in it.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/dynamodb-local.nix
services.elasticmq.enable#
Whether to enable elasticmq-server.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/elasticmq.nix
services.elasticmq.package#
Which package of elasticmq-server-bin to use
Typepackage
Defaultpkgs.elasticmq-server-bin
Declared indevenv/blob/main/src/modules/services/elasticmq.nix
services.elasticmq.settings#
Configuration for elasticmq-server
Typestrings concatenated with "\n"
Default""
Declared indevenv/blob/main/src/modules/services/elasticmq.nix
services.elasticsearch.cluster_name#
Elasticsearch name that identifies your cluster for auto-discovery.
Typestring
Default"elasticsearch"
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.enable#
Whether to enable elasticsearch.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.extraCmdLineOptions#
Extra command line options for the elasticsearch launcher.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.extraConf#
Extra configuration for elasticsearch.
Typestring
Default""
Example
''
node.name: "elasticsearch"
node.master: true
node.data: false
''
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.extraJavaOptions#
Extra command line options for Java.
Typelist of string
Default[ ]
Example
[
"-Djava.net.preferIPv4Stack=true"
]
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.listenAddress#
Elasticsearch listen address.
Typestring
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.logging#
Elasticsearch logging configuration.
Typestring
Default
''
logger.action.name = org.elasticsearch.action
logger.action.level = info
appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n
rootLogger.level = info
rootLogger.appenderRef.console.ref = console
''
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.package#
Elasticsearch package to use.
Typepackage
Defaultpkgs.elasticsearch7
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.plugins#
Extra elasticsearch plugins
Typelist of package
Default[ ]
Example[ pkgs.elasticsearchPlugins.discovery-ec2 ]
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.port#
Elasticsearch port to listen for HTTP traffic.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default9200
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.single_node#
Start a single-node cluster
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.tcp_port#
Elasticsearch port for the node to node communication.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default9300
Declared indevenv/blob/main/src/modules/services/elasticsearch.nix
services.garage.adminAddress#
IP address and port of the admin API.
Typestring
Default"127.0.0.1:3903"
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.adminToken#
Admin API bearer token. Hard-coded for single-node dev; production deployments override this with a real secret.
Typestring
Default"devtoken"
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.afterStart#
Bash code to execute after the server is running and the cluster layout
is applied. The garage CLI in scope already points at the local
instance via the generated config.
Typestrings concatenated with "\n"
Default""
Example
''
garage key new --name app-key
garage bucket allow --read --write --owner my-bucket --key app-key
''
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.buckets#
List of buckets to ensure exist on startup.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.enable#
Whether to enable Garage S3-compatible object storage.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.extraConfig#
Additional garage.toml snippet appended to the generated config.
Typestrings concatenated with "\n"
Default""
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.package#
Garage package to use.
Typepackage
Defaultpkgs.garage_2
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.region#
S3 region label reported by the server. Defaults to AWS’s canonical
us-east-1.
Typestring
Default"us-east-1"
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.replicationFactor#
Cluster replication factor. Single-node devenv setups always use 1.
Typesigned integer
Default1
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.rpcSecret#
RPC secret as 64 hex characters. Hard-coded for single-node dev; production deployments override this with a real secret.
Typestring
Default"0000000000000000000000000000000000000000000000000000000000000000"
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.s3Address#
IP address and port of the S3 API.
Typestring
Default"127.0.0.1:3900"
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.ui.enable#
Whether to enable a simple web UI.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.ui.port#
On which port the UI should run.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default3919
Example3919
Declared indevenv/blob/main/src/modules/services/garage.nix
services.garage.ui.start#
Whether to start the web UI automatically. When false it can be started
manually. Only applies when ui.enable = true.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/garage.nix
services.httpbin.bind#
Addresses for httpbin to listen on.
Typelist of string
Default
[
"127.0.0.1:8080"
]
Declared indevenv/blob/main/src/modules/services/httpbin.nix
services.httpbin.enable#
Whether to enable httpbin.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/httpbin.nix
services.httpbin.extraArgs#
Gunicorn CLI arguments for httpbin.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/services/httpbin.nix
services.influxdb.enable#
Whether to enable influxdb.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/influxdb.nix
services.influxdb.extraArgs#
Additional arguments passed to influxd during startup.
Typelist of string
Default[ ]
Example
[
"--flux-log-enabled"
]
Declared indevenv/blob/main/src/modules/services/influxdb.nix
services.influxdb.package#
Which package of InfluxDB server to use
Typepackage
Defaultpkgs.influxdb2-server
Declared indevenv/blob/main/src/modules/services/influxdb.nix
services.influxdb.port#
The TCP port for the InfluxDB HTTP API.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default8086
Declared indevenv/blob/main/src/modules/services/influxdb.nix
services.kafka.configFiles.log4jProperties#
Kafka log4j property configuration file path
Typeabsolute path
Default"pkgs.writeText \"log4j.properties\" cfg.log4jProperties"
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.configFiles.serverProperties#
Kafka server.properties configuration file path. Defaults to the
rendered settings.
Typeabsolute path
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.connect.enable#
Whether to enable Kafka Connect.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.initialConnectors#
List of Kafka Connect connectors to set up initially
Typelist of (open submodule of lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string)))
Default[ ]
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.initialConnectors.*.config#
Initial configuration for the connector
Typeattribute set
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.initialConnectors.*.name#
Name of the connector
Typestring
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.settings#
{file}connect-standalone.properties.
Note that .properties files contain mappings from string to string. Keys
with dots are NOT represented by nested attrs in these settings, but
instead as quoted strings (ie. settings."broker.id", NOT
settings.broker.id).
Typeopen submodule of lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string))
Default{ }
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.settings."bootstrap.servers"#
A list of host/port pairs to use for establishing the initial connection to the Kafka cluster.
Typelist of string
Default
[
"localhost:9092"
]
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.settings."key.converter"#
The key converter to use for the connector.
Typestring
Default"org.apache.kafka.connect.json.JsonConverter"
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.settings."key.converter.schemas.enable"#
Whether the key converter should include schema information in the message.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.settings."offset.flush.interval.ms"#
Interval at which to try committing offsets for tasks
Typesigned integer
Default10000
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.settings."offset.storage.file.filename"#
The file to store connector offsets in. By storing offsets on disk, a standalone process can be stopped and started on a single node and resume where it previously left off.
Typestring
Default${config.env.DEVENV_STATE}/kafka/connect/connect.offsets
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.settings."plugin.path"#
The list should consist of top level directories that include any combination of: a) directories immediately containing jars with plugins and their dependencies b) uber-jars with plugins and their dependencies c) directories immediately containing the package directory structure of classes of plugins and their dependencies Note: symlinks will be followed to discover dependencies or plugins.
Typenull or (list of (string or absolute path))
Defaultnull
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.settings."value.converter"#
The value converter to use for the connector.
Typestring
Default"org.apache.kafka.connect.json.JsonConverter"
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.settings."value.converter.schemas.enable"#
Whether the value converter should include schema information in the message.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.connect.settings.listeners#
List of listeners for Kafka Connect (By default Kafka Connect listens on http://localhost:8083)
Typenull or (list of string)
Defaultnull
Example
[
"http://localhost:8080"
]
Declared indevenv/blob/main/src/modules/services/kafka-connect.nix
services.kafka.defaultMode#
Which defaults to set for the mode Kafka should run in
kraft(default): Run Kafka in KRaft mode, Which requires no extra configuration.zookeeper: Run Kafka in Zookeeper mode, this requires more configuration.
Typeone of "zookeeper", "kraft"
Default"kraft"
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.enable#
Whether to enable Apache Kafka.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.formatLogDirs#
Whether to format log dirs in KRaft mode if all log dirs are unformatted, ie. they contain no meta.properties.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.formatLogDirsIgnoreFormatted#
Whether to ignore already formatted log dirs when formatting log dirs, instead of failing. Useful when replacing or adding disks.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.jre#
The JRE with which to run Kafka
Typepackage
Defaultpkgs.apacheKafka.passthru.jre
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.jvmOptions#
Extra command line options for the JVM running Kafka.
Typelist of string
Default[ ]
Example
[
"-Djava.net.preferIPv4Stack=true"
"-Dcom.sun.management.jmxremote"
"-Dcom.sun.management.jmxremote.local.only=true"
]
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.log4jProperties#
Kafka log4j property configuration.
Typestrings concatenated with "\n"
Default
''
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
''
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.package#
The apacheKafka package to use.
Typepackage
Defaultpkgs.apacheKafka
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.settings#
Kafka broker
configuration
{file}server.properties.
Note that .properties files contain mappings from string to string. Keys
with dots are NOT represented by nested attrs in these settings, but
instead as quoted strings (ie. settings."broker.id", NOT
settings.broker.id).
Typeopen submodule of lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string))
Default{ }
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.settings."broker.id"#
Broker ID. -1 or null to auto-allocate in zookeeper mode.
Typenull or signed integer
Defaultnull
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.settings."log.dirs"#
Log file directories.
Typelist of absolute path
Default[ "${config.devenv.state + "/kafka"}/logs" ]
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.kafka.settings.listeners#
Kafka Listener List. See listeners. If you change this, you should also update the readiness probe.
Typelist of string
Default
[
"PLAINTEXT://localhost:9092"
]
Declared indevenv/blob/main/src/modules/services/kafka.nix
services.keycloak.database.type#
The type of database Keycloak should connect to. If you use dev-mem,
the realm export over script keycloak-realm-export-* does not work.
Typeone of "dev-mem", "dev-file"
Default"dev-file"
Example"dev-mem"
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.enable#
Whether to enable the Keycloak identity and access management server.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.initialAdminPassword#
Initial password set for the temporary admin user. The password is not
stored safely and should be changed immediately in the admin panel.
See Admin bootstrap and recovery for details.
Typestring
Default"admin"
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.package#
The keycloak package to use.
Typepackage
Defaultpkgs.keycloak
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.plugins#
Keycloak plugin jar, ear files or derivations containing them. Packaged
plugins are available through pkgs.keycloak.plugins.
Typelist of absolute path
Default[ ]
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.processes.exportRealms#
Global toggle to enable/disable the realms export process
keycloak-realm-export-all if any realms have
realms.«name».export == true.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.realms#
Specify the realms you want to import on start up and export on a manual start of process/script ‘keycloak-realm-export-all’.
Typeattribute set of (submodule)
Default{ }
Example
{
myrealm = {
path = "./myfolder/export.json";
import = true; # default
export = true;
};
}
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.realms.\<name\>.export#
If you want to export that realm on process/script launch
keycloak-export-realms.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.realms.\<name\>.import#
If you want to import that realm on start up, if the realm does not yet exist.
Typeboolean
Defaulttrue
Exampletrue
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.realms.\<name\>.path#
The path (string, relative to DEVENV_ROOT) where you want to import
(or export) this realm «name» to. If not set and import is true this
realm is not imported. If not set and export is true its exported to
$DEVENV_STATE/keycloak/realm-export/«name».json.
Typenull or relative path not in the Nix store
Defaultnull
Example"./realms/a.json"
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.scripts.exportRealm#
Global toggle to enable/disable the single realm export script
keycloak-realm-export.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.settings#
Configuration options corresponding to parameters set in
{file}conf/keycloak.conf.
Most available options are documented at https://www.keycloak.org/server/all-config.
Options containing secret data should be set to an attribute set
containing the attribute _secret - a string pointing to a file
containing the value the option should be set to. See the example to get
a better picture of this: in the resulting {file}conf/keycloak.conf
file, the https-key-store-password key will be set to the contents of
the {file}/run/keys/store_password file.
Typeopen submodule of attribute set of (null or string or signed integer or boolean or attribute set of absolute path)
Example
{
hostname = "localhost";
https-key-store-file = "/path/to/file";
https-key-store-password = { _secret = "/run/keys/store_password"; };
}
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.settings.hostname#
The hostname part of the public URL used as base for all frontend requests.
See https://www.keycloak.org/server/hostname for more information about hostname configuration.
Typestring
Default"localhost"
Example"localhost"
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.settings.http-host#
On which address Keycloak should accept new connections.
Typestring
Default"::"
Example"::1"
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.settings.http-port#
On which port Keycloak should listen for new HTTP connections.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default8080
Example8080
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.settings.http-relative-path#
The path relative to / for serving resources.
::: {.note} In versions of Keycloak using Wildfly (<17), this defaulted
to /auth. If upgrading from the Wildfly version of Keycloak, i.e. a
NixOS version before 22.05, you’ll likely want to set this to /auth to
keep compatibility with your clients.
See https://www.keycloak.org/migration/migrating-to-quarkus for more information on migrating from Wildfly to Quarkus. :::
Typestring
Default"/"
Example"/auth"
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.settings.https-port#
On which port Keycloak should listen for new HTTPS connections. If its not set, its disabled.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default34429
Example34429
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.sslCertificate#
The path to a PEM formatted certificate to use for TLS/SSL connections.
Typenull or relative path not in the Nix store
Defaultnull
Example"/run/keys/ssl_cert"
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.keycloak.sslCertificateKey#
The path to a PEM formatted private key to use for TLS/SSL connections.
Typenull or relative path not in the Nix store
Defaultnull
Example"/run/keys/ssl_key"
Declared indevenv/blob/main/src/modules/services/keycloak.nix
services.mailhog.additionalArgs#
Additional arguments passed to mailhog.
Typelist of strings concatenated with "\n"
Default[ ]
Example
[
"-invite-jim"
]
Declared indevenv/blob/main/src/modules/services/mailhog.nix
services.mailhog.apiListenAddress#
Listen address for API.
Typestring
Default"127.0.0.1:8025"
Declared indevenv/blob/main/src/modules/services/mailhog.nix
services.mailhog.enable#
Whether to enable mailhog process.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/mailhog.nix
services.mailhog.package#
Which package of mailhog to use
Typepackage
Defaultpkgs.mailhog
Declared indevenv/blob/main/src/modules/services/mailhog.nix
services.mailhog.smtpListenAddress#
Listen address for SMTP.
Typestring
Default"127.0.0.1:1025"
Declared indevenv/blob/main/src/modules/services/mailhog.nix
services.mailhog.uiListenAddress#
Listen address for UI.
Typestring
Default"127.0.0.1:8025"
Declared indevenv/blob/main/src/modules/services/mailhog.nix
services.mailpit.additionalArgs#
Additional arguments passed to mailpit.
Typelist of strings concatenated with "\n"
Default[ ]
Example
[
"--max=500"
]
Declared indevenv/blob/main/src/modules/services/mailpit.nix
services.mailpit.enable#
Whether to enable mailpit process.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/mailpit.nix
services.mailpit.package#
Which package of mailpit to use
Typepackage
Defaultpkgs.mailpit
Declared indevenv/blob/main/src/modules/services/mailpit.nix
services.mailpit.smtpListenAddress#
Listen address for SMTP.
Typestring
Default"127.0.0.1:1025"
Declared indevenv/blob/main/src/modules/services/mailpit.nix
services.mailpit.uiListenAddress#
Listen address for UI.
Typestring
Default"127.0.0.1:8025"
Declared indevenv/blob/main/src/modules/services/mailpit.nix
services.meilisearch.enable#
Whether to enable Meilisearch.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/meilisearch.nix
services.meilisearch.environment#
Defines the running environment of Meilisearch.
Typeone of "development", "production"
Default"development"
Declared indevenv/blob/main/src/modules/services/meilisearch.nix
services.meilisearch.listenAddress#
Meilisearch listen address.
Typestring
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/meilisearch.nix
services.meilisearch.listenPort#
Meilisearch port to listen on.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default7700
Declared indevenv/blob/main/src/modules/services/meilisearch.nix
services.meilisearch.logLevel#
Defines how much detail should be present in Meilisearch’s logs. Meilisearch currently supports four log levels, listed in order of increasing verbosity:
- ‘ERROR’: only log unexpected events indicating Meilisearch is not functioning as expected
- ‘WARN:’ log all unexpected events, regardless of their severity
- ‘INFO:’ log all events. This is the default value
- ‘DEBUG’: log all events and including detailed information on Meilisearch’s internal processes. Useful when diagnosing issues and debugging
Typestring
Default"INFO"
Declared indevenv/blob/main/src/modules/services/meilisearch.nix
services.meilisearch.maxIndexSize#
Sets the maximum size of the index. Value must be given in bytes or explicitly stating a base unit. For example, the default value can be written as 107374182400, ‘107.7Gb’, or ‘107374 Mb’. Default is 100 GiB
Typestring
Default"107374182400"
Declared indevenv/blob/main/src/modules/services/meilisearch.nix
services.meilisearch.noAnalytics#
Deactivates analytics. Analytics allow Meilisearch to know how many users are using Meilisearch, which versions and which platforms are used. This process is entirely anonymous.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/meilisearch.nix
services.meilisearch.package#
Which Meilisearch package to use
Typepackage
Default"pkgs.meilisearch"
Declared indevenv/blob/main/src/modules/services/meilisearch.nix
services.memcached.bind#
The IP interface to bind to. null means “all interfaces”.
Typenull or string
Default"127.0.0.1"
Example"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/memcached.nix
services.memcached.enable#
Whether to enable memcached process.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/memcached.nix
services.memcached.package#
Which package of memcached to use
Typepackage
Defaultpkgs.memcached
Declared indevenv/blob/main/src/modules/services/memcached.nix
services.memcached.port#
The TCP port to accept connections. If port 0 is specified memcached will not listen on a TCP socket.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default11211
Declared indevenv/blob/main/src/modules/services/memcached.nix
services.memcached.startArgs#
Additional arguments passed to memcached during startup.
Typelist of strings concatenated with "\n"
Default[ ]
Example
[
"--memory-limit=100M"
]
Declared indevenv/blob/main/src/modules/services/memcached.nix
services.minio.accessKey#
Access key of 5 to 20 characters in length that clients use to access the server.
Typestring
Default"minioadmin"
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.afterStart#
Bash code to execute after minio is running.
Typestrings concatenated with "\n"
Default""
Example
''
mc anonymous set download local/mybucket
''
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.browser#
Enable or disable access to web UI.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.buckets#
List of buckets to ensure exist on startup.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.clientConfig#
Contents of the mc config.json, as a nix attribute set.
By default, local is configured to connect to the devenv minio
service. Use lib.mkForce null to use your regular mc configuration
from $HOME/.mc instead.
Typenull or JSON value
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.clientPackage#
MinIO client package to use.
Typepackage
Defaultpkgs.minio-client
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.consoleAddress#
IP address and port of the web UI (console).
Typestring
Default"127.0.0.1:9001"
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.enable#
Whether to enable MinIO Object Storage.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.listenAddress#
IP address and port of the server.
Typestring
Default"127.0.0.1:9000"
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.package#
MinIO package to use.
Typepackage
Defaultpkgs.minio
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.region#
The physical location of the server. By default it is set to us-east-1, which is same as AWS S3’s and MinIO’s default region.
Typestring
Default"us-east-1"
Declared indevenv/blob/main/src/modules/services/minio.nix
services.minio.secretKey#
Specify the Secret key of 8 to 40 characters in length that clients use to access the server.
Typestring
Default"minioadmin"
Declared indevenv/blob/main/src/modules/services/minio.nix
services.mongodb.additionalArgs#
Additional arguments passed to mongod.
Typelist of strings concatenated with "\n"
Default
[
"--noauth"
]
Example
[
"--port"
"27017"
"--noauth"
]
Declared indevenv/blob/main/src/modules/services/mongodb.nix
services.mongodb.enable#
Whether to enable MongoDB process and expose utilities.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/mongodb.nix
services.mongodb.initDatabasePassword#
This used in conjunction with initDatabaseUsername, create a new user and set that user’s password. This user is created in the admin authentication database and given the role of root, which is a “superuser” role.
Typestring
Default""
Example"secret"
Declared indevenv/blob/main/src/modules/services/mongodb.nix
services.mongodb.initDatabaseUsername#
This used in conjunction with initDatabasePassword, create a new user and set that user’s password. This user is created in the admin authentication database and given the role of root, which is a “superuser” role.
Typestring
Default""
Example"mongoadmin"
Declared indevenv/blob/main/src/modules/services/mongodb.nix
services.mongodb.package#
Which MongoDB package to use.
Typepackage
Defaultpkgs.mongodb-ce
Declared indevenv/blob/main/src/modules/services/mongodb.nix
services.mongodb.replication.enable#
Whether to enable MongoDB replication with a 1-node replica-set..
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/mongodb.nix
services.mongodb.replication.replSet#
Replica-set name
Typestring
Default"rs0"
Example"rs0"
Declared indevenv/blob/main/src/modules/services/mongodb.nix
services.mosquitto.bind#
The IP interface to bind to. null means “all interfaces”.
Typenull or string
Default"127.0.0.1"
Example"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/mosquitto.nix
services.mosquitto.enable#
Whether to enable mosquitto MQTT broker.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/mosquitto.nix
services.mosquitto.extraConfig#
Additional text to append to mosquitto.conf.
Typestrings concatenated with "\n"
Default""
Example
''
max_queued_messages 1000
''
Declared indevenv/blob/main/src/modules/services/mosquitto.nix
services.mosquitto.package#
Which package of mosquitto to use
Typepackage
Defaultpkgs.mosquitto
Declared indevenv/blob/main/src/modules/services/mosquitto.nix
services.mosquitto.port#
The TCP port to accept MQTT connections.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default1883
Declared indevenv/blob/main/src/modules/services/mosquitto.nix
services.mysql.enable#
Whether to enable MySQL process and expose utilities.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.ensureUsers#
Ensures that the specified users exist and have at least the ensured permissions. The MySQL users will be identified using Unix socket authentication. This authenticates the Unix user with the same name only, and that without the need for a password. This option will never delete existing users or remove permissions, especially not when the value of this option is changed. This means that users created and permissions assigned once through this option or otherwise have to be removed manually.
Typelist of (submodule)
Default[ ]
Example
[
{
name = "devenv";
ensurePermissions = {
"devenv.*" = "ALL PRIVILEGES";
};
}
]
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.ensureUsers.*.ensurePermissions#
Permissions to ensure for the user, specified as attribute set. The
attribute names specify the database and tables to grant the permissions
for, separated by a dot. You may use wildcards here. The attribute
values specfiy the permissions to grant. You may specify one or multiple
comma-separated SQL privileges here. For more information on how to
specify the target and on which privileges exist, see the GRANT
syntax. The attributes are
used as GRANT ${attrName} ON ${attrValue}.
Typeattribute set of string
Default{ }
Example
{
"database.*" = "ALL PRIVILEGES";
"*.*" = "SELECT, LOCK TABLES";
}
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.ensureUsers.*.host#
Host of the user to ensure.
Typestring
Default"localhost"
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.ensureUsers.*.name#
Name of the user to ensure.
Typestring
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.ensureUsers.*.password#
Password of the user to ensure.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.importTimeZones#
Whether to import tzdata on the first startup of the mysql server
Typenull or boolean
Defaultnull
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.initialDatabases#
List of database names and their initial schemas that should be used to create databases on the first startup of MySQL. The schema attribute is optional: If not specified, an empty database is created.
Typelist of (submodule)
Default[ ]
Example
[
{ name = "foodatabase"; schema = ./foodatabase.sql; }
{ name = "bardatabase"; }
]
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.initialDatabases.*.name#
The name of the database to create.
Typestring
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.initialDatabases.*.schema#
The initial schema of the database; if null (the default), an empty database is created.
Typenull or absolute path
Defaultnull
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.package#
Which package of MySQL to use
Typepackage
Defaultpkgs.mariadb
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.settings#
MySQL configuration.
Typelazy attribute set of lazy attribute set of anything
Default{ }
Example
{
mysqld = {
key_buffer_size = "6G";
table_cache = 1600;
log-error = "/var/log/mysql_err.log";
plugin-load-add = [ "server_audit" "ed25519=auth_ed25519" ];
};
mysqldump = {
quick = true;
max_allowed_packet = "16M";
};
}
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.mysql.useDefaultsExtraFile#
Whether to use defaults-exta-file for the mysql command instead of defaults-file. This is useful if you want to provide a config file on the command line. However this can problematic if you have MySQL installed globaly because its config might leak into your environment. This option does not affect the mysqld command.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/mysql.nix
services.nats.authorization.enable#
Whether to enable authorization for client connections.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.authorization.password#
Password required for client connections. Only used if authorization is enabled. Warning: This will be visible in the Nix store.
Typestring
Default""
Example"nats-pass"
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.authorization.token#
Token required for client connections. Alternative to user/password authentication. Warning: This will be visible in the Nix store.
Typestring
Default""
Example"my-secret-token"
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.authorization.user#
Username required for client connections. Only used if authorization is enabled.
Typestring
Default""
Example"nats-user"
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.clientAdvertise#
Client URL to advertise to other servers in a cluster. Useful when running behind NAT or in containers.
Typestring
Default""
Example"localhost:4222"
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.debug#
Enable debug logging for troubleshooting.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.enable#
Whether to enable the NATS messaging server.
NATS is a simple, secure and high performance messaging system for cloud native applications, IoT messaging, and microservices architectures.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.host#
Network host to listen on for client connections. Set to “0.0.0.0” to listen on all interfaces. Default is localhost for security.
Typestring
Default"127.0.0.1"
Example"0.0.0.0"
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.jetstream.enable#
Whether to enable JetStream persistence layer for streaming and queues.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.jetstream.maxFileStore#
Maximum disk space for file-based streams. Use suffixes: K, M, G, T for sizes.
Typestring
Default"10G"
Example"100G"
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.jetstream.maxMemory#
Maximum memory for in-memory streams. Use suffixes: K, M, G, T for sizes.
Typestring
Default"1G"
Example"512M"
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.logFile#
Path to log file. If empty, logs to stdout. Stdout is recommended for devenv as logs are captured by process manager.
Typestring
Default""
Example"/var/log/nats-server.log"
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.monitoring.enable#
Enable HTTP monitoring endpoint. Provides /healthz, /varz, /connz, and other monitoring endpoints. Highly recommended for production deployments.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.monitoring.port#
Port for HTTP monitoring endpoint. Access monitoring at
http://host:port/varz
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default8222
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.package#
Which NATS server package to use.
Typepackage
Defaultpkgs.nats-server
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.port#
Port to listen on for client connections.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default4222
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.serverName#
Server name for identification in clusters. If empty, NATS will auto-generate a unique name.
Typestring
Default""
Example"nats-dev-1"
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.settings#
Additional NATS server configuration as a Nix attribute set. This will be converted to NATS config file format.
Use this for advanced features like:
- TLS/SSL configuration
- Clustering with routes
- MQTT gateway
- WebSocket support
- Custom authorization
See https://docs.nats.io/running-a-nats-service/configuration
Typeattribute set
Default{ }
Example
{
tls = {
cert_file = "/path/to/cert.pem";
key_file = "/path/to/key.pem";
verify = true;
};
cluster = {
name = "my-cluster";
listen = "0.0.0.0:6222";
routes = [
"nats://node1:6222"
"nats://node2:6222"
];
};
}
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nats.trace#
Enable protocol tracing for deep debugging. Warning: Very verbose output.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/nats.nix
services.nginx.defaultMimeTypes#
Default MIME types for NGINX, as MIME types definitions from NGINX are very incomplete, we use by default the ones bundled in the mailcap package, used by most of the other Linux distributions.
Typeabsolute path
Default${pkgs.mailcap}/etc/nginx/mime.types
Example${pkgs.nginx}/conf/mime.types
Declared indevenv/blob/main/src/modules/services/nginx.nix
services.nginx.enable#
Whether to enable nginx.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/nginx.nix
services.nginx.eventsConfig#
The nginx events configuration.
Typestrings concatenated with "\n"
Default""
Declared indevenv/blob/main/src/modules/services/nginx.nix
services.nginx.httpConfig#
The nginx configuration.
Typestrings concatenated with "\n"
Default""
Declared indevenv/blob/main/src/modules/services/nginx.nix
services.nginx.package#
The nginx package to use.
Typepackage
Defaultpkgs.nginx
Declared indevenv/blob/main/src/modules/services/nginx.nix
services.nixseparatedebuginfod.cache.directory#
Override the directory where files downloaded from the substituter are stored.
Default is $XDG_CACHE_DIR/nixseparatedebuginfod2.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix
services.nixseparatedebuginfod.cache.expiration#
How long to keep cache entries. A number followed by a unit.
Typestring
Default"1d"
Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix
services.nixseparatedebuginfod.enable#
Whether to enable nixseparatedebuginfod.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix
services.nixseparatedebuginfod.host#
IP address for nixseparatedebuginfod to listen on.
Typestring
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix
services.nixseparatedebuginfod.package#
nixseparatedebuginfod package to use.
Typepackage
Defaultpkgs.nixseparatedebuginfod2
Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix
services.nixseparatedebuginfod.port#
Port for nixseparatedebuginfod to listen on.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default1949
Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix
services.nixseparatedebuginfod.substituters#
Substituters to fetch debuginfo from.
Typelist of string
Default
[
"local:"
"https://cache.nixos.org"
]
Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix
services.opensearch.enable#
Whether to enable OpenSearch.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.extraCmdLineOptions#
Extra command line options for the OpenSearch launcher.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.extraJavaOptions#
Extra command line options for Java.
Typelist of string
Default[ ]
Example
[
"-Djava.net.preferIPv4Stack=true"
]
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.logging#
OpenSearch logging configuration.
Typestring
Default
''
logger.action.name = org.opensearch.action
logger.action.level = info
appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n
rootLogger.level = info
rootLogger.appenderRef.console.ref = console
''
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.package#
The OpenSearch package to use.
Typepackage
Defaultpkgs.opensearch
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings#
OpenSearch configuration.
Typeopen submodule of (YAML 1.1 value)
Default{ }
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."cluster.name"#
The name of the cluster.
Typestring
Default"opensearch"
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."discovery.type"#
The type of discovery to use.
Typestring
Default"single-node"
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."http.port"#
The port to listen on for HTTP traffic.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default9200
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."network.host"#
Which port this service should listen on.
Typestring
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."plugins.security.disabled"#
Whether to disable the security plugin. When set to false, SSL
configuration is required. To enable SSL, set
plugins.security.ssl.transport.keystore_filepath or both
plugins.security.ssl.transport.server.pemcert_filepath and
plugins.security.ssl.transport.client.pemcert_filepath.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."transport.port"#
The port to listen on for transport traffic.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default9300
Declared indevenv/blob/main/src/modules/services/opensearch.nix
services.opentelemetry-collector.configFile#
Override the configuration file used by OpenTelemetry Collector. By
default, a configuration is generated from
services.opentelemetry-collector.settings.
If overriding, enable the health_check extension to allow the
readiness probe to check whether the Collector is ready. Otherwise,
disable the readiness probe by setting
processes.opentelemetry-collector.ready = lib.mkForce null;.
Typenull or absolute path
Defaultnull
Example
pkgs.writeTextFile { name = "otel-config.yaml"; text = "..."; }
Declared indevenv/blob/main/src/modules/services/opentelemetry-collector.nix
services.opentelemetry-collector.enable#
Whether to enable opentelemetry-collector.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/opentelemetry-collector.nix
services.opentelemetry-collector.package#
The OpenTelemetry Collector package to use
Typepackage
Defaultpkgs.opentelemetry-collector-contrib
Declared indevenv/blob/main/src/modules/services/opentelemetry-collector.nix
services.opentelemetry-collector.settings#
OpenTelemetry Collector configuration. Refer to https://opentelemetry.io/docs/collector/configuration/ for more information on how to configure the Collector.
Typeopen submodule of (YAML 1.1 value)
DefaultdefaultSettings
Declared indevenv/blob/main/src/modules/services/opentelemetry-collector.nix
services.postgres.createDatabase#
Create a database named like current user on startup. Only applies when initialDatabases is an empty list.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.enable#
Whether to enable Add PostgreSQL process. .
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.extensions#
Additional PostgreSQL extensions to install.
The available extensions are:
- age
- anonymizer
- apache_datasketches
- callPackage
- citus
- cstore_fdw
- h3-pg
- hypopg
- ip4r
- jsonb_deep_sum
- lantern
- omnigres
- periods
- pg-gvm
- pg-semver
- pg_auto_failover
- pg_background
- pg_bigm
- pg_byteamagic
- pg_cron
- pg_csv
- pg_ed25519
- pg_embedding
- pg_graphql
- pg_hint_plan
- pg_hll
- pg_ivm
- pg_libversion
- pg_net
- pg_partman
- pg_rational
- pg_relusage
- pg_repack
- pg_roaringbitmap
- pg_safeupdate
- pg_search
- pg_similarity
- pg_squeeze
- pg_tle
- pg_topn
- pg_uuidv7
- pgaudit
- pgddl
- pgjwt
- pgmq
- pgroonga
- pgrouting
- pgsodium
- pgsql-http
- pgtap
- pgvecto-rs
- pgvector
- pgvectorscale
- pgx_ulid
- plperl
- plpgsql_check
- plpython3
- plr
- pltcl
- plv8
- pointcloud
- postgis
- repmgr
- rum
- smlar
- sqlite_fdw
- system_stats
- tds_fdw
- temporal_tables
- timescaledb
- timescaledb-apache
- timescaledb_toolkit
- tsja
- vectorchord
- wal2json
Typenull or (function that evaluates to a(n) list of package)
Defaultnull
Example
extensions: [
extensions.pg_cron
extensions.postgis
extensions.timescaledb
];
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.hbaConf#
The contents of a custom pg_hba.conf file to copy into the postgres installation. This allows for custom connection rules that you want to establish on the server.
Typenull or string
Defaultnull
Example
builtins.readFile ./my-custom/directory/to/pg_hba.conf
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.initdbArgs#
Additional arguments passed to initdb during data dir initialisation.
Typelist of strings concatenated with "\n"
Default
[
"--locale=C"
"--encoding=UTF8"
]
Example
[
"--data-checksums"
"--allow-group-access"
]
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.initialDatabases#
List of database names and their initial schemas that should be used to create databases on the first startup of Postgres. The schema attribute is optional: If not specified, an empty database is created.
Typelist of (submodule)
Default[ ]
Example
[
{
name = "foodatabase";
schema = ./foodatabase.sql;
}
{ name = "bardatabase"; }
]
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.initialDatabases.*.initialSQL#
SQL commands to run on this specific database during it’s initialization. Multiple SQL expressions can be separated by semicolons.
Typenull or string
Defaultnull
Example
CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT);
INSERT INTO users (name) VALUES ('admin');
CREATE EXTENSION IF NOT EXISTS pg_uuidv7;
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.initialDatabases.*.name#
The name of the database to create.
Typestring
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.initialDatabases.*.pass#
Password of the database owner role. Requires user to be set.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.initialDatabases.*.schema#
The initial schema of the database; if null (the default), an empty database is created.
Typenull or absolute path
Defaultnull
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.initialDatabases.*.user#
Username of owner of the database. If set, a role with this name is created and the database is owned by it. If null, the default $USER is used.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.initialScript#
Initial SQL commands to run during database initialization. This can be
multiple SQL expressions separated by a semi-colon. Use initialScript
for server-wide setup, such as creating roles or configuring global
settings. For database-specific initialization, use initialSQL within
initialDatabases. initialScript is executed after the
initialDatabases setup is done.
Typenull or string
Defaultnull
Example
CREATE ROLE postgres SUPERUSER;
CREATE ROLE bar;
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.listen_addresses#
A comma-separated list of TCP/IP address(es) on which the server should listen for connections.
By default, the server only accepts connections over unix sockets.
This option is parsed to set the PGHOST environment variable.
Special values:
- ‘*’ to listen on all available network interfaces.
- ‘0.0.0.0’ to listen on all available IPv4 network interfaces.
- ‘::’ to listen on all available IPv6 network interfaces.
- ‘localhost’ to listen only on the loopback interface.
- ‘’ (empty string) disables TCP/IP connections and listens only on the unix socket.
Typestring
Default""
Example"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.package#
The PostgreSQL package to use. Use this to override the default with a specific version.
Typepackage
Defaultpkgs.postgresql
Example
pkgs.postgresql_15
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.port#
The TCP port to accept connections.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default5432
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.postgres.settings#
PostgreSQL configuration. Refer to
https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE
for an overview of postgresql.conf.
String values will automatically be enclosed in single quotes. Single quotes will be escaped with two single quotes as described by the upstream documentation linked above.
Typeattribute set of (boolean or floating point number or signed integer or string)
Default{ }
Example
{
log_connections = true;
log_statement = "all";
logging_collector = true
log_disconnections = true
log_destination = lib.mkForce "syslog";
}
Declared indevenv/blob/main/src/modules/services/postgres.nix
services.prometheus.advanced.storage#
Storage configuration
Typeattribute set
Default{ }
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.advanced.tsdb#
TSDB configuration
Typeattribute set
Default{ }
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.alerting#
Alerting configuration
Typenull or (attribute set)
Defaultnull
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.enable#
Whether to enable Prometheus monitoring system.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.experimentalFeatures.enableExemplars#
Enable exemplar storage
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.experimentalFeatures.enableOTLP#
Enable OTLP receiver
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.experimentalFeatures.enableTracing#
Enable tracing
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.extraArgs#
Additional arguments to pass to Prometheus
Typestring
Default""
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.globalConfig#
Global Prometheus configuration
Typeattribute set
Default
{
evaluation_interval = "1m";
scrape_interval = "1m";
scrape_timeout = "10s";
}
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.package#
Which package of Prometheus to use
Typepackage
Defaultpkgs.prometheus
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.port#
Port for Prometheus web interface.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default9090
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.remoteRead#
Remote read configurations
Typelist of (attribute set)
Default[ ]
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.remoteWrite#
Remote write configurations
Typelist of (attribute set)
Default[ ]
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.ruleFiles#
List of rule files to load
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.scrapeConfigs#
List of scrape configurations
Typelist of (attribute set)
Default[ ]
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.storage.path#
Path where Prometheus will store its database
Typestring
Default${config.devenv.state}/prometheus
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.prometheus.storage.retentionTime#
How long to retain data
Typestring
Default"15d"
Declared indevenv/blob/main/src/modules/services/prometheus.nix
services.rabbitmq.configItems#
Configuration options in RabbitMQ’s new config file format, which is a
simple key-value format that can not express nested data structures.
This is known as the rabbitmq.conf file, although outside NixOS that
filename may have Erlang syntax, particularly prior to RabbitMQ 3.7.0.
If you do need to express nested data structures, you can use config
option. Configuration from config will be merged into these options by
RabbitMQ at runtime to form the final configuration. See
https://www.rabbitmq.com/configure.html#config-items For the distinct
formats, see
https://www.rabbitmq.com/configure.html#config-file-formats
Typeattribute set of string
Default{ }
Example
{
"auth_backends.1.authn" = "rabbit_auth_backend_ldap";
"auth_backends.1.authz" = "rabbit_auth_backend_internal";
}
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.cookie#
Erlang cookie is a string of arbitrary length which must be the same for several nodes to be allowed to communicate. Leave empty to generate automatically.
Typestring
Default""
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.enable#
Whether to enable the RabbitMQ server, an Advanced Message Queuing Protocol (AMQP) broker.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.listenAddress#
IP address on which RabbitMQ will listen for AMQP connections. Set to
the empty string to listen on all interfaces. Note that RabbitMQ creates
a user named guest with password guest by default, so you should
delete this user if you intend to allow external access. Together with
‘port’ setting it’s mostly an alias for configItems.“listeners.tcp.1”
and it’s left for backwards compatibility with previous version of this
module.
Typestring
Default"127.0.0.1"
Example""
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.managementPlugin.enable#
Whether to enable the management plugin.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.managementPlugin.port#
On which port to run the management plugin.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default15672
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.nodeName#
The name of the RabbitMQ node. This is used to identify the node in a
cluster. If you are running multiple RabbitMQ nodes on the same machine,
you must give each node a unique name. The name must be of the form
name@host, where name is an arbitrary name and host is the domain
name of the host.
Typestring
Default"rabbit@localhost"
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.package#
Which rabbitmq package to use.
Typepackage
Defaultpkgs.rabbitmq-server
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.pluginDirs#
The list of directories containing external plugins
Typelist of absolute path
Default[ ]
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.plugins#
The names of plugins to enable
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.port#
Port on which RabbitMQ will listen for AMQP connections.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default5672
Declared indevenv/blob/main/src/modules/services/rabbitmq.nix
services.redis.bind#
The IP interface to bind to. null means “all interfaces”.
Typenull or string
Default"127.0.0.1"
Example"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/redis.nix
services.redis.enable#
Whether to enable Redis process and expose utilities.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/redis.nix
services.redis.extraConfig#
Additional text to be appended to redis.conf.
Typestrings concatenated with "\n"
Default"locale-collate C"
Declared indevenv/blob/main/src/modules/services/redis.nix
services.redis.package#
Which package of Redis to use
Typepackage
Defaultpkgs.redis
Declared indevenv/blob/main/src/modules/services/redis.nix
services.redis.port#
The TCP port to accept connections. If port 0 is specified, Redis will not listen on a TCP socket and a unix socket file will be found at $REDIS_UNIX_SOCKET.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default6379
Declared indevenv/blob/main/src/modules/services/redis.nix
services.rustfs.accessKey#
Access key for authentication (5 to 20 characters).
Typestring
Default"rustfsadmin"
Declared indevenv/blob/main/src/modules/services/rustfs.nix
services.rustfs.bind#
The IP interface to bind to. null means “all interfaces”.
Typenull or string
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/rustfs.nix
services.rustfs.consoleEnable#
Enable or disable the web console.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/rustfs.nix
services.rustfs.consolePort#
The TCP port for the web console.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default9001
Declared indevenv/blob/main/src/modules/services/rustfs.nix
services.rustfs.enable#
Whether to enable RustFS object storage.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/rustfs.nix
services.rustfs.extraEnvironment#
Additional environment variables to pass to RustFS. See the RustFS
documentation for available options (e.g. RUSTFS_CORS_ALLOWED_ORIGINS,
RUSTFS_TLS_PATH).
Typeattribute set of string
Default{ }
Example
{
RUSTFS_OBJECT_CACHE_ENABLE = "true";
RUSTFS_OBS_LOGGER_LEVEL = "debug";
}
Declared indevenv/blob/main/src/modules/services/rustfs.nix
services.rustfs.package#
Which package of RustFS to use
Typepackage
DefaultrustfsInput.packages.${pkgs.stdenv.system}.default
Declared indevenv/blob/main/src/modules/services/rustfs.nix
services.rustfs.port#
The TCP port for the S3 API.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default9000
Declared indevenv/blob/main/src/modules/services/rustfs.nix
services.rustfs.secretKey#
Secret key for authentication (8 to 40 characters).
Typestring
Default"rustfsadmin"
Declared indevenv/blob/main/src/modules/services/rustfs.nix
services.sqld.enable#
Whether to enable sqld.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/sqld.nix
services.sqld.extraArgs#
Add other sqld flags.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/services/sqld.nix
services.sqld.port#
Port number to listen on.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default8080
Declared indevenv/blob/main/src/modules/services/sqld.nix
services.tailscale.funnel.enable#
Whether to enable Tailscale funnel.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/tailscale.nix
services.tailscale.funnel.target#
Target host or host:port for Tailscale funnel
Typestring
Declared indevenv/blob/main/src/modules/services/tailscale.nix
services.temporal.dynamicConfig#
Dynamic configuration for the Temporal server.
Typeattribute set of string
Default{ }
Example
{
"frontend.namespacerps" = "2500";
"frontend.rps" = "2500";
}
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.enable#
Whether to enable Temporal process.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.ip#
IPv4 address to bind the frontend service to.
Typestring
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.namespaces#
Specify namespaces that should be pre-created (namespace “default” is always created).
Typelist of string
Default[ ]
Example
[
"my-namespace"
"my-other-namespace"
]
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.package#
Which package of Temporal to use.
Typepackage
Defaultpkgs.temporal-cli
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.port#
Port for the frontend gRPC service.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default7233
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.state#
State configuration.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.state.ephemeral#
When enabled, the Temporal state gets lost when the process exists.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.state.sqlite-pragma#
Sqlite pragma statements
Typeattribute set of string
Default{ }
Example
{
journal_mode = "wal";
synchronous = "2";
}
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.ui#
UI configuration.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.ui.enable#
Enable the Web UI.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.ui.ip#
IPv4 address to bind the Web UI to.
Typestring
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.temporal.ui.port#
Port for the Web UI.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default8233
Declared indevenv/blob/main/src/modules/services/temporal.nix
services.tideways.apiKey#
Sets the API-Key for the Tideways Daemon.
Typestring
Default""
Declared indevenv/blob/main/src/modules/services/tideways.nix
services.tideways.cliPackage#
Which package of tideways-cli to use
Typepackage
Defaultpkgs.tideways-cli
Declared indevenv/blob/main/src/modules/services/tideways.nix
services.tideways.daemonPackage#
Which package of tideways-daemon to use
Typepackage
Defaultpkgs.tideways-daemon
Declared indevenv/blob/main/src/modules/services/tideways.nix
services.tideways.enable#
Whether to enable Tideways profiler daemon
It automatically installs Tideways PHP extension. .
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/tideways.nix
services.tideways.environment#
Sets the Environment for Tideways Daemon.
Typestring
Default"devenv"
Declared indevenv/blob/main/src/modules/services/tideways.nix
services.tideways.profilingSpace#
When the profiling space is enabled, the default monitoring will be disabled.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/tideways.nix
services.tideways.service#
Sets the Service name for Tideways Daemon.
Typestring
Default""
Declared indevenv/blob/main/src/modules/services/tideways.nix
services.trafficserver.cache#
Caching rules that overrule the origin’s caching policy.
Consult the upstream documentation for more details.
Typestrings concatenated with "\n"
Default""
Example"dest_domain=example.com suffix=js action=never-cache"
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.enable#
Whether to enable Apache Traffic Server.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.hosting#
Partition the cache according to origin server or domain
Consult the upstream documentation for more details.
Typestrings concatenated with "\n"
Default""
Example"domain=example.com volume=1"
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.ipAllow#
Control client access to Traffic Server and Traffic Server connections to upstream servers.
Consult the upstream documentation for more details.
Typenull or YAML 1.1 value
Defaultupstream defaults
Example
{
ip_allow = [{
apply = "in";
ip_addrs = "127.0.0.1";
action = "allow";
methods = "ALL";
}];
}
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.logging#
Configure logs.
Consult the upstream documentation for more details.
Typenull or YAML 1.1 value
Defaultupstream defaults
Example{ }
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.package#
Apache Traffic Server package
Typepackage
Defaultpkgs.trafficserver
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.parent#
Identify the parent proxies used in an cache hierarchy.
Consult the upstream documentation for more details.
Typestrings concatenated with "\n"
Default""
Example
''
dest_domain=. method=get parent="p1.example:8080; p2.example:8080" round_robin=true
''
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.plugins#
Controls run-time loadable plugins available to Traffic Server, as well as their configuration.
Consult the upstream documentation for more details.
Typelist of (submodule)
Default[ ]
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.plugins.*.arg#
arguments to pass to the plugin
Typestring
Default""
Example"--header=ATS-My-Debug"
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.plugins.*.path#
Path to plugin. The path can either be absolute, or relative to the plugin directory.
Typestring
Example"xdebug.so"
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.records#
List of configurable variables used by Traffic Server.
Consult the upstream documentation for more details.
When defining the values for the option x.y, a nested attribute should
be used. Using a flat attribute set with the attribute name x.y will
result in an error.
If options for both x.y and x.y.z needs to be set, you can set
x.y._ as x.y. This only applies to Traffic Server versions prior to
10. Traffic Server 10 and onwards uses YAML configuration, which doesn’t
have this kind of problem.
TypeTraffic Server records value
Default{ }
Example
{
proxy = {
config = {
proxy_name = "my_server";
};
};
}
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.remap#
URL remapping rules used by Traffic Server.
Consult the upstream documentation for more details.
Typestrings concatenated with "\n"
Default""
Example"map http://from.example http://origin.example"
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.runroot#
File layout used by Traffic Server
Typeunspecified value
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.sni#
Configure aspects of TLS connection handling for both inbound and outbound connections.
Consult the upstream documentation for more details.
Typenull or YAML 1.1 value
Defaultnull
Example
{
sni = [{
fqdn = "no-http2.example.com";
https = "off";
}];
}
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.splitDns#
Specify the DNS server that Traffic Server should use under specific conditions.
Consult the upstream documentation for more details.
Typestrings concatenated with "\n"
Default""
Example
''
dest_domain=internal.corp.example named="255.255.255.255:212 255.255.255.254" def_domain=corp.example search_list="corp.example corp1.example"
dest_domain=!internal.corp.example named=255.255.255.253
''
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.sslMulticert#
Configure SSL server certificates to terminate the SSL sessions.
Consult the upstream documentation for more details.
Typestrings concatenated with "\n"
Default""
Example"dest_ip=* ssl_cert_name=default.pem"
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.storage#
List all the storage that make up the Traffic Server cache.
Consult the upstream documentation for more details.
Typestrings concatenated with "\n"
Default"${config.services.traffic-server.runroot.cachedir} 256M"
Example"/dev/disk/by-id/XXXXX volume=1"
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.strategies#
Specify the next hop proxies used in an cache hierarchy and the algorithms used to select the next proxy.
Consult the upstream documentation for more details.
Typenull or YAML 1.1 value
Defaultnull
Declared indevenv/blob/main/src/modules/services/trafficserver
services.trafficserver.volume#
Manage cache space more efficiently and restrict disk usage by creating cache volumes of different sizes.
Consult the upstream documentation for more details.
Typenull or YAML 1.1 value
Default""
Example"volume=1 scheme=http size=20%"
Declared indevenv/blob/main/src/modules/services/trafficserver
services.typesense.additionalArgs#
Additional arguments passed to typesense.
Typelist of strings concatenated with "\n"
Default[ ]
Example[ ]
Declared indevenv/blob/main/src/modules/services/typesense.nix
services.typesense.apiKey#
API Key.
Typestring
Default"example"
Declared indevenv/blob/main/src/modules/services/typesense.nix
services.typesense.enable#
Whether to enable typesense process.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/typesense.nix
services.typesense.host#
The HTTP host to accept connections.
Typestring
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/services/typesense.nix
services.typesense.package#
Which package of typesense to use
Typepackage
Defaultpkgs.typesense
Declared indevenv/blob/main/src/modules/services/typesense.nix
services.typesense.port#
The HTTP port to accept connections.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default8108
Declared indevenv/blob/main/src/modules/services/typesense.nix
services.typesense.searchOnlyKey#
Search Only Key.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/services/typesense.nix
services.varnish.enable#
Whether to enable Varnish process and expose utilities.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/varnish.nix
services.varnish.extraModules#
Varnish modules (except ‘std’).
Typelist of package
Default[ ]
Example[ pkgs.varnish73Packages.modules ]
Declared indevenv/blob/main/src/modules/services/varnish.nix
services.varnish.listen#
Which address to listen on.
Typestring
Default"127.0.0.1:6081"
Declared indevenv/blob/main/src/modules/services/varnish.nix
services.varnish.memorySize#
How much memory to allocate to Varnish.
Typestring
Default"64M"
Declared indevenv/blob/main/src/modules/services/varnish.nix
services.varnish.package#
Which Varnish package to use.
Typepackage
Defaultpkgs.varnish
Declared indevenv/blob/main/src/modules/services/varnish.nix
services.varnish.vcl#
Varnish VCL configuration.
Typestrings concatenated with "\n"
Default
''
vcl 4.0;
backend default {
.host = "127.0.0.1";
.port = "80";
}
''
Declared indevenv/blob/main/src/modules/services/varnish.nix
services.vault.address#
Specifies the address to bind to for listening
Typestring
Default"127.0.0.1:8200"
Declared indevenv/blob/main/src/modules/services/vault.nix
services.vault.disableClustering#
Specifies whether clustering features such as request forwarding are enabled
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/vault.nix
services.vault.disableMlock#
Disables the server from executing the mlock syscall
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/vault.nix
services.vault.enable#
Whether to enable vault process.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/vault.nix
services.vault.package#
Which package of Vault to use.
Typepackage
Defaultpkgs.vault-bin
Declared indevenv/blob/main/src/modules/services/vault.nix
services.vault.ui#
Enables the built-in web UI
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/services/vault.nix
services.wiremock.disableBanner#
Whether to disable print banner logo.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/wiremock.nix
services.wiremock.enable#
Whether to enable WireMock.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/services/wiremock.nix
services.wiremock.mappings#
The mappings to mock. See the JSON examples on https://wiremock.org/docs/stubbing/ for more information.
TypeJSON value
Default[ ]
Example
[
{
request = {
method = "GET";
url = "/body";
};
response = {
body = "Literal text to put in the body";
headers = {
Content-Type = "text/plain";
};
status = 200;
};
}
{
request = {
method = "GET";
url = "/json";
};
response = {
jsonBody = {
someField = "someValue";
};
status = 200;
};
}
]
Declared indevenv/blob/main/src/modules/services/wiremock.nix
services.wiremock.package#
Which package of WireMock to use.
Typepackage
Defaultpkgs.wiremock
Declared indevenv/blob/main/src/modules/services/wiremock.nix
services.wiremock.port#
The port number for the HTTP server to listen on.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default8080
Declared indevenv/blob/main/src/modules/services/wiremock.nix
services.wiremock.rootDir#
Path to the WireMock root directory containing mappings and files.
Cannot be set together with mappings. See
https://wiremock.org/docs/standalone/java-jar/#command-line-options
for more information.
Typenull or absolute path
Defaultnull
Declared indevenv/blob/main/src/modules/services/wiremock.nix
services.wiremock.verbose#
Whether to log verbosely to stdout.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/services/wiremock.nix
starship
starship.config.enable#
Whether to enable Starship config override.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/starship.nix
starship.config.path#
The Starship configuration file to use.
Typenull or absolute path
Defaultnull
Example${config.env.DEVENV_ROOT}/starship.toml
Declared indevenv/blob/main/src/modules/integrations/starship.nix
starship.config.settings#
Starship configuration to use
TypeTOML value
Default{}
Declared indevenv/blob/main/src/modules/integrations/starship.nix
starship.enable#
Whether to enable the Starship.rs command prompt.
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/starship.nix
starship.package#
The Starship package to use.
Typepackage
Defaultpkgs.starship
Declared indevenv/blob/main/src/modules/integrations/starship.nix
stdenv
stdenv#
The stdenv to use for the developer environment.
Typepackage
Defaultpkgs.stdenv
Declared indevenv/blob/main/src/modules/top-level.nix
tasks
tasks#
A set of tasks.
Typeattribute set of (submodule)
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.after#
List of tasks that must complete before this task runs.
Here’s a helpful mnemonic to remember: This task runs after these tasks.
You can append a suffix to control dependency behavior:
task@started- wait for task to begin executiontaskortask@ready- wait for task to be ready/healthy (default for processes, processes only)task@succeeded- wait for task to exit successfully (default for tasks, tasks only)task@completed- wait for task to finish, regardless of exit code (soft dependency)
Example: after = [ "pnpm:install@completed" ]; allows this task to run
even if pnpm:install fails.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.before#
List of tasks that depend on this task completing first.
Here’s a helpful mnemonic to remember: This task runs before these tasks.
You can append a suffix to control dependency behavior:
task@started- the dependent waits for this task to begin executiontaskortask@ready- the dependent waits for this task to be ready/healthy (default for processes, processes only)task@succeeded- the dependent waits for this task to exit successfully (default for tasks, tasks only)task@completed- the dependent waits for this task to finish (soft dependency)
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.binary#
Override the binary name from the default package.meta.mainProgram.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.cwd#
Working directory to run the task in. If not specified, the current working directory will be used.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.description#
Description of the task.
Typestring
Default""
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.env#
Environment variables to set for this task.
Typeattribute set of string
Default{ }
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.exec#
Command to execute the task.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.execIfModified#
Paths to files that should trigger a task execution if modified.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.exports#
List of environment variables to export.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.input#
Input values for the task, encoded as JSON.
Typeattribute set of anything
Default{ }
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.package#
Package to install for this task.
Typepackage
Defaultpkgs.bash
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process#
Process-specific configuration. Only used when type = “process”.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.linux#
Linux-specific process configuration.
Requires devenv 2.0+.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.linux.capabilities#
Linux capabilities to add as ambient capabilities for this process (e.g., “cap_net_admin”, “cap_sys_admin”).
Requires devenv 2.0+.
Typelist of string
Default[ ]
Example
[
"cap_net_admin"
"cap_sys_admin"
]
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.listen#
Socket activation configuration for systemd-style socket passing.
Typelist of (submodule)
Default[ ]
Example
[
{
address = "127.0.0.1:8080";
kind = "tcp";
name = "http";
}
{
kind = "unix_stream";
mode = 384;
name = "admin";
path = "$DEVENV_STATE/admin.sock";
}
]
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.listen.*.address#
TCP address (e.g., ‘127.0.0.1:8080’). Required for TCP sockets.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.listen.*.backlog#
Listen backlog size
Typenull or signed integer
Default128
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.listen.*.kind#
Type of socket (tcp or unix_stream)
Typeone of "tcp", "unix_stream"
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.listen.*.mode#
Unix socket file permissions (e.g., 384 for 0o600). Only for unix_stream.
Typenull or signed integer
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.listen.*.name#
Name of the socket (e.g., ‘http’, ‘admin’)
Typestring
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.listen.*.path#
Unix socket path. Required for unix_stream sockets.
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ports#
Allocated ports for this process (name -> port number). Populated automatically from process port allocation.
Typeattribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default{ }
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready#
How to determine if this process task is ready to serve.
Typenull or (submodule)
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.exec#
Shell command to execute. Exit 0 = ready.
Typenull or string
Defaultnull
Example"pg_isready -d template1"
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.failure_threshold#
Consecutive failures before marking unhealthy.
Typesigned integer
Default3
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.http#
HTTP readiness probe configuration.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.http.get#
HTTP GET readiness check.
Typenull or (submodule)
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.http.get.host#
Host to connect to.
Typestring
Default"127.0.0.1"
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.http.get.path#
HTTP path to request.
Typestring
Default"/"
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.http.get.port#
Port to connect to.
Type16 bit unsigned integer; between 0 and 65535 (both inclusive)
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.http.get.scheme#
URL scheme (http or https).
Typestring
Default"http"
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.initial_delay#
Seconds to wait before first probe.
Typesigned integer
Default0
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.notify#
Enable systemd notify protocol for readiness signaling. The process must send READY=1 to the NOTIFY_SOCKET.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.period#
Seconds between probes.
Typesigned integer
Default10
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.probe_timeout#
Seconds before a single probe times out.
Typesigned integer
Default1
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.success_threshold#
Consecutive successes needed to be considered ready.
Typesigned integer
Default1
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.ready.timeout#
Overall deadline in seconds for the process to become ready. null = no deadline.
Typenull or (unsigned integer, meaning >=0)
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.restart#
Process restart policy.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.restart.max#
Maximum restart attempts. null = unlimited.
Typenull or signed integer
Default5
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.restart.on#
When to restart: never, always, or on_failure.
Typeone of "never", "always", "on_failure"
Default"on_failure"
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.restart.window#
Sliding window in seconds for restart rate limiting. null = lifetime limit.
Typenull or (unsigned integer, meaning >=0)
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.shutdown#
Graceful shutdown signal and timeout.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.shutdown.grace#
Seconds before shutdown escalates to SIGKILL.
Typeunsigned integer, meaning >=0
Default5
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.shutdown.signal#
Unix signal number used for graceful shutdown.
Typeinteger between 1 and 31 (both inclusive)
Default15
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.start#
Auto-start configuration for this process.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.start.enable#
Whether to start this process automatically.
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.watch#
File watching configuration for automatic process restarts.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.watch.extensions#
File extensions to watch (e.g., “rs”, “js”, “py”). If empty, all file extensions are watched.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.watch.ignore#
Glob patterns to ignore (e.g., “.git”, “target”, “*.log”).
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.watch.paths#
Paths to watch for changes (files or directories). When files in these paths change, the process will be restarted.
Typelist of string
Default[ ]
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.watchdog#
Systemd watchdog configuration.
Typenull or (submodule)
Defaultnull
Example
{
usec = 30000000; # 30 seconds
require_ready = true;
}
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.watchdog.require_ready#
Require READY=1 notification before enforcing watchdog
Typeboolean
Defaulttrue
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.process.watchdog.usec#
Watchdog interval in microseconds
Typesigned integer
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.showOutput#
Always show task output (stdout and stderr), regardless of whether the task succeeds or fails.
Typeboolean
Defaultfalse
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.status#
Check if the command should be ran
Typenull or string
Defaultnull
Declared indevenv/blob/main/src/modules/tasks.nix
tasks.\<name\>.type#
Type of task:
- oneshot: Task runs once and completes (default)
- process: Task is a long-running process
Typeone of "oneshot", "process"
Default"oneshot"
Declared indevenv/blob/main/src/modules/tasks.nix
treefmt
treefmt.config#
treefmt configuration.
Typesubmodule
Default{ }
Declared indevenv/blob/main/src/modules/integrations/treefmt.nix
treefmt.config.build.check#
Create a flake check to test that the given project tree is already formatted.
Input argument is the path to the project tree (usually ‘self’).
Typefunction that evaluates to a(n) package
DefaultDefault check implementation
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.build.configFile#
Contains the generated config file derived from the settings.
Typeabsolute path
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.build.devShell#
The development shell with treefmt and its underlying programs
Typepackage
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.build.programs#
Attrset of formatter programs enabled in treefmt configuration.
The key of the attrset is the formatter name, with the value being the package used to do the formatting.
Typeattribute set of package
DefaultPrograms used in configuration
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.build.wrapper#
The treefmt package, wrapped with the config file.
Typepackage
Defaultwrapped `treefmt` command
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.enableDefaultExcludes#
Enable the default excludes in the treefmt configuration.
Typeboolean
Defaulttrue
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.package#
The treefmt package to use.
Typepackage
Defaultpkgs.treefmt
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.pkgs#
Nixpkgs to use in treefmt.
Typelazy attribute set of raw value
Declared indevenv/blob/main/src/modules/integrations/treefmt.nix
treefmt.config.programs.actionlint.enable#
Whether to enable actionlint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/actionlint.nix
treefmt.config.programs.aiken.enable#
Whether to enable aiken.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/aiken.nix
treefmt.config.programs.alejandra.enable#
Whether to enable alejandra.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/alejandra.nix
treefmt.config.programs.asmfmt.enable#
Whether to enable asmfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/asmfmt.nix
treefmt.config.programs.autocorrect.enable#
Whether to enable autocorrect.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.context#
Enable or disable in a specific context.
Typenull or (submodule)
Defaultnull
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.context.codeblock#
Enable or disable to format codeblock in Markdown or AsciiDoc etc.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"error"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.fileTypes#
Configure the files associations, you config is higher priority than default.
Typenull or (attribute set of string)
Defaultnull
Example
{
"*.js" = "javascript";
".mdx" = "markdown";
Rakefile = "ruby";
rb = "ruby";
}
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules#
Configure rules for autocorrect formatting.
Typenull or (submodule)
Defaultnull
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.fullwidth#
Convert to fullwidth.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"error"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.halfwidth-punctuation#
Fullwidth punctuations to halfwidth in english.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"error"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.halfwidth-word#
Fullwidth alphanumeric characters to halfwidth.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"error"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.no-space-fullwidth#
Remove space near the fullwidth.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"error"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.space-backticks#
Add space between ``, when near the CJK.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"error"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.space-bracket#
Add space between brackets (), [] when near the CJK.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"error"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.space-dash#
Add space between dash -.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"off"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.space-dollar#
Add space between dollar $ when near the CJK.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"off"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.space-punctuation#
Add space between some punctuations.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"error"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.space-word#
Auto add spacing between CJK (Chinese, Japanese, Korean) and English words.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"off"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.rules.spellcheck#
Spellcheck.
Typenull or one of "off", "error", "warning"
Defaultnull
Example"warning"
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.spellcheck#
Spellcheck configuration.
Typenull or (submodule)
Defaultnull
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.spellcheck.words#
Correct Words (Case insensitive) for by Spellcheck.
Typenull or (list of string)
Defaultnull
Example
[
"GitHub"
"App Store"
"AppStore = App Store"
"Git"
"Node.js"
"nodejs = Node.js"
"VIM"
"DNS"
"HTTP"
"SSL"
]
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.settings.textRules#
Configure special rules for some texts.
Typenull or (attribute set of (null or one of "off", "error", "warning"))
Defaultnull
Example
{
"Hello你好" = "warning";
"Hi你好" = "off";
}
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.autocorrect.threads#
Number of threads, 0 - use number of CPU. [default: 0]
Typenull or signed integer
Defaultnull
Example2
Declared intreefmt-nix/blob/main/programs/autocorrect.nix
treefmt.config.programs.beautysh.enable#
Whether to enable beautysh.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/beautysh.nix
treefmt.config.programs.beautysh.indent_size#
Sets the number of spaces to be used in indentation.
Typesigned integer
Default2
Example4
Declared intreefmt-nix/blob/main/programs/beautysh.nix
treefmt.config.programs.biome.enable#
Whether to enable biome.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/biome.nix
treefmt.config.programs.biome.formatCommand#
The command to run Biome with.
Typeone of "format", "lint", "check"
Default"check"
Example"format"
Declared intreefmt-nix/blob/main/programs/biome.nix
treefmt.config.programs.biome.formatUnsafe#
Allows to format a document that has unsafe fixes.
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/biome.nix
treefmt.config.programs.biome.settings#
Raw Biome configuration (must conform to Biome JSON schema)
TypeJSON value
Default{ }
Example
{
formatter = {
indentStyle = "space";
lineWidth = 100;
};
javascript = {
formatter = {
lineWidth = 120;
quoteStyle = "single";
};
};
json = {
formatter = {
enabled = false;
};
};
}
Declared intreefmt-nix/blob/main/programs/biome.nix
treefmt.config.programs.biome.validate.enable#
Whether to validate treefmt.config.programs.biome.settings.
Typeboolean
Defaulttrue
Examplefalse
Declared intreefmt-nix/blob/main/programs/biome.nix
treefmt.config.programs.biome.validate.schema#
The biome schema file to validate against
Typeabsolute path
Default
Fetches `"https://biomejs.dev/schemas/${biomeVersion}/schema.json"` using `pkgs.fetchurl`.
Example
pkgs.fetchurl {
url = "https://biomejs.dev/schemas/2.1.2/schema.json"
hash = "sha256-n4Y16J7g34e0VdQzRItu/P7n5oppkY4Vm4P1pQxOILU=";
}
Declared intreefmt-nix/blob/main/programs/biome.nix
treefmt.config.programs.black.enable#
Whether to enable black.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/black.nix
treefmt.config.programs.buf.enable#
Whether to enable buf.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/buf.nix
treefmt.config.programs.buildifier.enable#
Whether to enable buildifier.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/buildifier.nix
treefmt.config.programs.cabal-fmt.enable#
Whether to enable cabal-fmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/cabal-fmt.nix
treefmt.config.programs.cabal-gild.enable#
Whether to enable cabal-gild.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/cabal-gild.nix
treefmt.config.programs.clang-format.enable#
Whether to enable clang-format.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/clang-format.nix
treefmt.config.programs.clang-tidy.compileCommandsPath#
used to read a compile command database
Typenull or absolute path or string
Defaultnull
Example"/my/cmake/build/directory"
Declared intreefmt-nix/blob/main/programs/clang-tidy.nix
treefmt.config.programs.clang-tidy.configFile#
Specify the path of .clang-tidy or custom config file
Typenull or absolute path
Defaultnull
Example"/some/path/myTidyConfigFile"
Declared intreefmt-nix/blob/main/programs/clang-tidy.nix
treefmt.config.programs.clang-tidy.enable#
Whether to enable clang-tidy.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/clang-tidy.nix
treefmt.config.programs.clang-tidy.quiet#
Run clang-tidy in quiet mode
Typeboolean
Defaulttrue
Declared intreefmt-nix/blob/main/programs/clang-tidy.nix
treefmt.config.programs.cljfmt.enable#
Whether to enable cljfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/cljfmt.nix
treefmt.config.programs.cmake-format.enable#
Whether to enable cmake-format.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/cmake-format.nix
treefmt.config.programs.csharpier.enable#
Whether to enable csharpier.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/csharpier.nix
treefmt.config.programs.cue.enable#
Whether to enable cue.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/cue.nix
treefmt.config.programs.d2.enable#
Whether to enable d2.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/d2.nix
treefmt.config.programs.dart-format.enable#
Whether to enable dart-format.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/dart-format.nix
treefmt.config.programs.deadnix.enable#
Whether to enable deadnix.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/deadnix.nix
treefmt.config.programs.deadnix.no-lambda-arg#
Whether to enable Don’t check lambda parameter arguments.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/deadnix.nix
treefmt.config.programs.deadnix.no-lambda-pattern-names#
Whether to enable Don’t check lambda attrset pattern names (don’t break nixpkgs callPackage).
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/deadnix.nix
treefmt.config.programs.deadnix.no-underscore#
Whether to enable Don’t check any bindings that start with a _.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/deadnix.nix
treefmt.config.programs.deno.enable#
Whether to enable deno.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/deno.nix
treefmt.config.programs.detekt.buildUponDefaultConfig#
Preconfigures detekt with a bunch of rules and some opinionated defaults for you. Allows additional provided configurations to override the defaults.
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/detekt.nix
treefmt.config.programs.detekt.configFile#
Path to detekt configuration file
Typenull or absolute path
Defaultnull
Example"./detekt-config.yml"
Declared intreefmt-nix/blob/main/programs/detekt.nix
treefmt.config.programs.detekt.enable#
Whether to enable detekt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/detekt.nix
treefmt.config.programs.dfmt.enable#
Whether to enable dfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/dfmt.nix
treefmt.config.programs.dhall.enable#
Whether to enable dhall.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/dhall.nix
treefmt.config.programs.dhall.lint#
Whether to lint in addition to formatting.
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/dhall.nix
treefmt.config.programs.djlint.enable#
Whether to enable djlint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/djlint.nix
treefmt.config.programs.djlint.ignoreRules#
Which H-rules to ignore
Typelist of string
Default[ ]
Declared intreefmt-nix/blob/main/programs/djlint.nix
treefmt.config.programs.djlint.indent#
Default indentation depth in spaces
Typeunsigned integer, meaning >=0
Default4
Declared intreefmt-nix/blob/main/programs/djlint.nix
treefmt.config.programs.djlint.lint#
Whether to lint in addition to formatting.
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/djlint.nix
treefmt.config.programs.dnscontrol.enable#
Whether to enable dnscontrol.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/dnscontrol.nix
treefmt.config.programs.dockerfmt.enable#
Whether to enable dockerfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/dockerfmt.nix
treefmt.config.programs.dockfmt.enable#
Whether to enable dockfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/dockfmt.nix
treefmt.config.programs.dos2unix.enable#
Whether to enable dos2unix.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/dos2unix.nix
treefmt.config.programs.dprint.enable#
Whether to enable dprint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/dprint.nix
treefmt.config.programs.dprint.settings#
Configuration to generate dprint.json with
Typeopen submodule of (JSON value)
Default{ }
Declared intreefmt-nix/blob/main/programs/dprint.nix
treefmt.config.programs.dprint.settings.extends#
Configurations to extend.
Typenull or string or list of string
Defaultnull
Example"https://dprint.dev/path/to/config/file.v1.json"
Declared intreefmt-nix/blob/main/programs/dprint.nix
treefmt.config.programs.dprint.settings.incremental#
Whether to format files only when they change.
Typenull or boolean
Defaultnull
Exampletrue
Declared intreefmt-nix/blob/main/programs/dprint.nix
treefmt.config.programs.dprint.settings.indentWidth#
The number of characters for an indent
Typenull or signed integer
Defaultnull
Example2
Declared intreefmt-nix/blob/main/programs/dprint.nix
treefmt.config.programs.dprint.settings.lineWidth#
The width of a line the printer will try to stay under. Note that the printer may exceed this width in certain cases.
Typenull or signed integer
Defaultnull
Example80
Declared intreefmt-nix/blob/main/programs/dprint.nix
treefmt.config.programs.dprint.settings.newLineKind#
The kind of newline to use (one of: auto, crlf, lf, system).
Typenull or string
Defaultnull
Example"auto"
Declared intreefmt-nix/blob/main/programs/dprint.nix
treefmt.config.programs.dprint.settings.plugins#
Array of plugin URLs to format files.
Typenull or (list of string)
Defaultnull
Example
# (recommended) using plugins from nixpkgs
# plugins is the list of all available dprint plugins in nixpkgs
(pkgs.dprint-plugins.getPluginList (
plugins: with plugins; [
dprint-plugin-toml
dprint-plugin-dockerfile
g-plane-pretty_yaml
# (pkgs.callPackage ./dprint/plugins/sample.nix {})
]
))
# (not recommended) using url plugins
# treefmt then only works outside the nix sandbox, so treefmt nix flake check will fail
++ [
"https://plugins.dprint.dev/json-0.17.2.wasm"
"https://plugins.dprint.dev/markdown-0.15.2.wasm"
"https://plugins.dprint.dev/typescript-0.84.4.wasm"
]
Declared intreefmt-nix/blob/main/programs/dprint.nix
treefmt.config.programs.dprint.settings.useTabs#
Whether to use tabs (true) or spaces (false) for indentation.
Typenull or boolean
Defaultnull
Exampletrue
Declared intreefmt-nix/blob/main/programs/dprint.nix
treefmt.config.programs.dscanner.enable#
Whether to enable dscanner.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/dscanner.nix
treefmt.config.programs.efmt.enable#
Whether to enable efmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/efmt.nix
treefmt.config.programs.elm-format.enable#
Whether to enable elm-format.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/elm-format.nix
treefmt.config.programs.erlfmt.enable#
Whether to enable erlfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/erlfmt.nix
treefmt.config.programs.erlfmt.print-width#
The line length that formatter would wrap on
Typesigned integer
Default100
Example80
Declared intreefmt-nix/blob/main/programs/erlfmt.nix
treefmt.config.programs.fantomas.dotnet-sdk#
The dotnet-sdk package to use.
Typepackage
Defaultpkgs.dotnet-sdk
Declared intreefmt-nix/blob/main/programs/fantomas.nix
treefmt.config.programs.fantomas.enable#
Whether to enable fantomas.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/fantomas.nix
treefmt.config.programs.fish_indent.enable#
Whether to enable fish_indent.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/fish_indent.nix
treefmt.config.programs.flake-edit.enable#
Whether to enable flake-edit.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/flake-edit.nix
treefmt.config.programs.flake-edit.noLock#
Skip updating the lockfile after editing flake.nix
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/flake-edit.nix
treefmt.config.programs.flake-edit.settings.follow.aliases#
Mapping of canonical input names to alternative names. Allows nested inputs like “nixpkgs-lib” to follow “nixpkgs”.
Typeattribute set of list of string
Default{ }
Example
{
nixpkgs = [
"nixpkgs-lib"
];
}
Declared intreefmt-nix/blob/main/programs/flake-edit.nix
treefmt.config.programs.flake-edit.settings.follow.ignore#
List of inputs to ignore when following. Supports simple names (“systems”) or full paths (“crane.nixpkgs”).
Typelist of string
Default[ ]
Example
[
"systems"
"crane.flake-utils"
]
Declared intreefmt-nix/blob/main/programs/flake-edit.nix
treefmt.config.programs.fnlfmt.enable#
Whether to enable fnlfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/fnlfmt.nix
treefmt.config.programs.formatjson5.enable#
Whether to enable formatjson5.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/formatjson5.nix
treefmt.config.programs.formatjson5.indent#
Indent by the given number of spaces
Typesigned integer
Default4
Declared intreefmt-nix/blob/main/programs/formatjson5.nix
treefmt.config.programs.formatjson5.noTrailingCommas#
Suppress trailing commas (otherwise added by default)
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/formatjson5.nix
treefmt.config.programs.formatjson5.oneElementLines#
Objects or arrays with a single child should collapse to a single line
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/formatjson5.nix
treefmt.config.programs.formatjson5.sortArrays#
Sort arrays of primitive values (string, number, boolean, or null) lexicographically
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/formatjson5.nix
treefmt.config.programs.fourmolu.enable#
Whether to enable fourmolu.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/fourmolu.nix
treefmt.config.programs.fourmolu.ghcOpts#
Which GHC language extensions to enable
Typeunspecified value
Default
[
"BangPatterns"
"PatternSynonyms"
"TypeApplications"
]
Declared intreefmt-nix/blob/main/programs/fourmolu.nix
treefmt.config.programs.fprettify.enable#
Whether to enable fprettify.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/fprettify.nix
treefmt.config.programs.gdformat.enable#
Whether to enable gdformat.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/gdformat.nix
treefmt.config.programs.genemichaels.enable#
Whether to enable
genemichaels,
a Rust code formatter.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.genemichaels.settings.comment_errors_fatal#
If reformatting comments results in an error, abort formatting the document.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.genemichaels.settings.comment_width#
Maximum relative line length for comments (past the comment indentation
level). Can be null to disable relative wrapping. If disabled, still
wraps at max_width.
Typenull or (positive integer, meaning >0)
Default80
Examplenull
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.genemichaels.settings.keep_max_blank_lines#
Genemichaels will replace line breaks with it’s own deterministic line breaks. You can use this to keep extra line breaks (1 will keep up to 1 extra line break) during comment extraction. This is unused during formatting.
Typeunsigned integer, meaning >=0
Default0
Example1
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.genemichaels.settings.max_width#
Ideal maximum line width. If there’s an unbreakable element the line won’t be split.
Typepositive integer, meaning >0
Default120
Example80
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.genemichaels.settings.root_splits#
When breaking a child element, also break all parent elements.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.genemichaels.settings.split_attributes#
Break a #[] on a separate line before the element it’s associated
with.
Typeboolean
Defaulttrue
Examplefalse
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.genemichaels.settings.split_brace_threshold#
Break a () or {} if it has greater than this number of children. Set
to null to disable breaking due to high child counts.
Typenull or (positive integer, meaning >0)
Default1
Examplenull
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.genemichaels.settings.split_where#
Put the where clause on a new line.
Typeboolean
Defaulttrue
Examplefalse
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.genemichaels.settingsFile#
The configuration file used by genemichaels.
Typeabsolute path
DefaultGenerated JSON file from `treefmt.config.programs.genemichaels.settings`
Example./.genemichaels.json
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.genemichaels.threadCount#
How many threads to use for formatting multiple files. Set to null to
default to the number of cores on the system.
Typenull or (unsigned integer, meaning >=0)
Defaultnull
Example1
Declared intreefmt-nix/blob/main/programs/genemichaels.nix
treefmt.config.programs.gleam.enable#
Whether to enable gleam.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/gleam.nix
treefmt.config.programs.gofmt.enable#
Whether to enable gofmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/gofmt.nix
treefmt.config.programs.gofumpt.enable#
Whether to enable gofumpt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/gofumpt.nix
treefmt.config.programs.gofumpt.extra#
Whether to enable extra rules.
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/gofumpt.nix
treefmt.config.programs.goimports.enable#
Whether to enable goimports.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/goimports.nix
treefmt.config.programs.golangci-lint.buildTags#
Build tags to use during analysis
Typelist of string
Default[ ]
Example
[
"integration"
"e2e"
]
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.concurrency#
Number of CPUs to use (auto-configured by default)
Typenull or signed integer
Defaultnull
Example4
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.configFile#
Path to golangci-lint configuration file
Typenull or string
Defaultnull
Example".golangci.yml"
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.disableLinters#
Disable specific linters
Typelist of string
Default[ ]
Example
[
"typecheck"
]
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.enable#
Whether to enable golangci-lint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.enableLinters#
Enable specific linters
Typelist of string
Default[ ]
Example
[
"govet"
"errcheck"
"staticcheck"
]
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.enableOnly#
Override configuration to run only specific linter(s)
Typelist of string
Default[ ]
Example
[
"govet"
"gofmt"
]
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.fastOnly#
Run only fast linters from enabled linters set
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.maxIssuesPerLinter#
Maximum issues per linter (default: 50)
Typenull or signed integer
Defaultnull
Example50
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.maxSameIssues#
Maximum count of same issues (default: 3)
Typenull or signed integer
Defaultnull
Example3
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.newFromRev#
Show only new issues created after git revision REV
Typenull or string
Defaultnull
Example"HEAD~1"
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.noConfig#
Don’t read any configuration file
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.tests#
Analyze test files
Typeboolean
Defaulttrue
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.timeout#
Timeout for total work (e.g., ‘5m’, ‘1h’, ‘10s’)
Typenull or string
Defaultnull
Example"5m"
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golangci-lint.verbose#
Enable verbose output
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/golangci-lint.nix
treefmt.config.programs.golines.enable#
Whether to enable golines.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/golines.nix
treefmt.config.programs.golines.maxLength#
Target maximum line length (default: 100)
Typenull or signed integer
Defaultnull
Example100
Declared intreefmt-nix/blob/main/programs/golines.nix
treefmt.config.programs.golines.tabLength#
Length of a tab (default: 4)
Typenull or signed integer
Defaultnull
Example4
Declared intreefmt-nix/blob/main/programs/golines.nix
treefmt.config.programs.google-java-format.aospStyle#
Whether to use AOSP (Android Open Source Project) indentation. In a few words, use 4-space indentation rather than the conventional 2-space indentation width that Google uses.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/google-java-format.nix
treefmt.config.programs.google-java-format.enable#
Whether to enable google-java-format.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/google-java-format.nix
treefmt.config.programs.hclfmt.enable#
Whether to enable hclfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/hclfmt.nix
treefmt.config.programs.hlint.enable#
Whether to enable hlint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/hlint.nix
treefmt.config.programs.hujsonfmt.enable#
Whether to enable hujsonfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/hujsonfmt.nix
treefmt.config.programs.isort.enable#
Whether to enable isort.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/isort.nix
treefmt.config.programs.isort.profile#
The profile to use for isort.
Typestring
Default""
Declared intreefmt-nix/blob/main/programs/isort.nix
treefmt.config.programs.json-sort-cli.autofix#
Update files with fixes instead of just reporting. Defaults to false.
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix
treefmt.config.programs.json-sort-cli.enable#
Whether to enable json-sort-cli.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix
treefmt.config.programs.json-sort-cli.end-of-line#
Specify the desired line ending for output. Defaults to system line
ending. Overrides .editorconfig settings if an .editorconfig is
found.
Typenull or one of "lf", "crlf", "cr", "unset"
Defaultnull
Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix
treefmt.config.programs.json-sort-cli.indent-size#
Number of spaces to indent, or the string “tab” to use tabs. Defaults to
2 spaces. Overrides .editorconfig settings if an .editorconfig is
found.
Typesigned integer
Default2
Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix
treefmt.config.programs.json-sort-cli.indent-style#
Specify the desired indentation style for output. Defaults to space.
Overrides .editorconfig settings if an .editorconfig is found.
Typeone of "space", "tab"
Default"space"
Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix
treefmt.config.programs.json-sort-cli.insert-final-newline#
Insert a final newline after the sort. Defaults to false. Overrides
.editorconfig settings if an .editorconfig is found.
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix
treefmt.config.programs.jsonfmt.enable#
Whether to enable jsonfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/jsonfmt.nix
treefmt.config.programs.jsonnet-lint.enable#
Whether to enable jsonnet-lint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/jsonnet-lint.nix
treefmt.config.programs.jsonnetfmt.enable#
Whether to enable jsonnetfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/jsonnetfmt.nix
treefmt.config.programs.just.enable#
Whether to enable just.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/just.nix
treefmt.config.programs.kdlfmt.enable#
Whether to enable kdlfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/kdlfmt.nix
treefmt.config.programs.keep-sorted.enable#
Whether to enable keep-sorted.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/keep-sorted.nix
treefmt.config.programs.ktfmt.enable#
Whether to enable ktfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/ktfmt.nix
treefmt.config.programs.ktlint.enable#
Whether to enable ktlint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/ktlint.nix
treefmt.config.programs.latexindent.enable#
Whether to enable latexindent.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/latexindent.nix
treefmt.config.programs.leptosfmt.enable#
Whether to enable leptosfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/leptosfmt.nix
treefmt.config.programs.mbake.enable#
Whether to enable mbake.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.auto_insert_phony_declarations#
Whether to automatically insert .PHONY declarations for non-file targets
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.ensure_final_newline#
Whether to ensure the file ends with a newline
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.fix_missing_recipe_tabs#
Whether to fix recipe lines that are missing tabs
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.group_phony_declarations#
Whether to group all .PHONY declarations together
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.indent_nested_conditionals#
Whether to indent nested conditional blocks (ifdef, ifndef, etc.)
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.max_consecutive_empty_lines#
Maximum number of consecutive empty lines allowed
Typenull or (unsigned integer, meaning >=0)
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.max_line_length#
Maximum line length before wrapping
Typenull or (unsigned integer, meaning >=0)
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.normalize_empty_lines#
Whether to normalize empty lines
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.normalize_line_continuations#
Whether to normalize line continuation backslashes
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.phony_at_top#
Whether to place .PHONY declarations at the top of the file
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.remove_trailing_whitespace#
Whether to remove trailing whitespace from lines
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.space_after_colon#
Whether to add a space after colons in rules
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.space_around_assignment#
Whether to add spaces around assignment operators (=, :=, etc.)
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.space_before_colon#
Whether to add a space before colons in rules
Typenull or boolean
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mbake.settings.tab_width#
Tab width in spaces for display purposes
Typenull or (unsigned integer, meaning >=0)
Defaultnull
Declared intreefmt-nix/blob/main/programs/mbake.nix
treefmt.config.programs.mdformat.enable#
Whether to enable mdformat.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/mdformat.nix
treefmt.config.programs.mdformat.plugins#
Plugins for mdformat that extend its functionality (for Markdown extensions, formatting code blocks, etc).
See mdformat docs for a (non-exhaustive) list of plugins.
Typefunction that evaluates to a(n) list of package
Default
ps: [ ];
Example
ps: [
ps.mdformat-footnote
ps.mdformat-gfm
];
Declared intreefmt-nix/blob/main/programs/mdformat.nix
treefmt.config.programs.mdformat.settings.end-of-line#
Output file line ending mode.
Typenull or one of "crlf", "lf", "keep"
Defaultnull
Example"lf"
Declared intreefmt-nix/blob/main/programs/mdformat.nix
treefmt.config.programs.mdformat.settings.number#
Apply consecutive numbering to ordered lists.
Typeboolean
Defaultfalse
Examplefalse
Declared intreefmt-nix/blob/main/programs/mdformat.nix
treefmt.config.programs.mdformat.settings.wrap#
Paragraph word wrap mode. Set to an INTEGER to wrap at that length.
Typenull or signed integer or one of "keep", "no"
Defaultnull
Example"keep"
Declared intreefmt-nix/blob/main/programs/mdformat.nix
treefmt.config.programs.mdsh.enable#
Whether to enable mdsh.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/mdsh.nix
treefmt.config.programs.meson.editorconfig#
Try to read configuration from .editorconfig
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/meson.nix
treefmt.config.programs.meson.enable#
Whether to enable meson.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/meson.nix
treefmt.config.programs.mix-format.enable#
Whether to enable mix-format.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/mix-format.nix
treefmt.config.programs.muon.editorconfig#
Try to read configuration from .editorconfig
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/muon.nix
treefmt.config.programs.muon.enable#
Whether to enable muon.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/muon.nix
treefmt.config.programs.mypy.directories#
Directories to run mypy in
Typeattribute set of (submodule)
Default
{
"" = { };
}
Example
{
"" = {
modules = [
"mymodule"
"tests"
];
};
subdir = { };
}
Declared intreefmt-nix/blob/main/programs/mypy.nix
treefmt.config.programs.mypy.directories.\<name\>.directory#
Directory to run mypy in
Typestring
Default"‹name›"
Declared intreefmt-nix/blob/main/programs/mypy.nix
treefmt.config.programs.mypy.directories.\<name\>.extraPythonPackages#
Extra packages to add to PYTHONPATH
Typelist of package
Default[ ]
Example[ pkgs.python3.pkgs.requests ]
Declared intreefmt-nix/blob/main/programs/mypy.nix
treefmt.config.programs.mypy.directories.\<name\>.extraPythonPaths#
Extra paths to add to PYTHONPATH. Paths are interpreted relative to the directory options and are added before extraPythonPackages.
Typelist of string
Default[ ]
Example
[
"path/to/my/module"
]
Declared intreefmt-nix/blob/main/programs/mypy.nix
treefmt.config.programs.mypy.directories.\<name\>.modules#
Modules to check
Typelist of string
Default
[
""
]
Example
[
"mymodule"
"tests"
]
Declared intreefmt-nix/blob/main/programs/mypy.nix
treefmt.config.programs.mypy.directories.\<name\>.options#
Options to pass to mypy
Typelist of string
Default[ ]
Example
[
"--ignore-missing-imports"
]
Declared intreefmt-nix/blob/main/programs/mypy.nix
treefmt.config.programs.mypy.enable#
Whether to enable mypy.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/mypy.nix
treefmt.config.programs.nbstripout.enable#
Whether to enable nbstripout.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/nbstripout.nix
treefmt.config.programs.nickel.enable#
Whether to enable nickel.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/nickel.nix
treefmt.config.programs.nimpretty.enable#
Whether to enable nimpretty.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/nimpretty.nix
treefmt.config.programs.nixf-diagnose.autoFix#
Whether to automatically apply fixes to source files.
Typeboolean
Defaulttrue
Declared intreefmt-nix/blob/main/programs/nixf-diagnose.nix
treefmt.config.programs.nixf-diagnose.enable#
Whether to enable nixf-diagnose.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/nixf-diagnose.nix
treefmt.config.programs.nixf-diagnose.ignore#
Diagnostics to ignore, specified by their ID.
Typelist of string
Default[ ]
Example
[
"sema-primop-overridden"
]
Declared intreefmt-nix/blob/main/programs/nixf-diagnose.nix
treefmt.config.programs.nixf-diagnose.only#
Only run this diagnostic.
Typenull or string
Defaultnull
Example"sema-primop-overridden"
Declared intreefmt-nix/blob/main/programs/nixf-diagnose.nix
treefmt.config.programs.nixf-diagnose.variableLookup#
Whether to enable variable lookup analysis.
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/nixf-diagnose.nix
treefmt.config.programs.nixfmt.enable#
Whether to enable nixfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/nixfmt.nix
treefmt.config.programs.nixfmt.indent#
Number of spaces to use for indentation [default: 2]
Typenull or signed integer
Defaultnull
Example4
Declared intreefmt-nix/blob/main/programs/nixfmt.nix
treefmt.config.programs.nixfmt.strict#
Enable a stricter formatting mode that isn’t influenced as much by how the input is formatted.
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/nixfmt.nix
treefmt.config.programs.nixfmt.width#
Maximum width in characters [default: 100]
Typenull or signed integer
Defaultnull
Example120
Declared intreefmt-nix/blob/main/programs/nixfmt.nix
treefmt.config.programs.nixpkgs-fmt.enable#
Whether to enable nixpkgs-fmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/nixpkgs-fmt.nix
treefmt.config.programs.ocamlformat.configFile#
Path to the .ocamlformat file. Used to pick the right version of ocamlformat if passed.
Typenull or absolute path
Defaultnull
Declared intreefmt-nix/blob/main/programs/ocamlformat.nix
treefmt.config.programs.ocamlformat.enable#
Whether to enable ocamlformat.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/ocamlformat.nix
treefmt.config.programs.ocamlformat.pkgs#
The package set used to get the ocamlformat package at a specific version.
Typelazy attribute set of raw value
DefaultNixpkgs from context
Declared intreefmt-nix/blob/main/programs/ocamlformat.nix
treefmt.config.programs.odinfmt.enable#
Whether to enable odinfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/odinfmt.nix
treefmt.config.programs.opa.enable#
Whether to enable opa.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/opa.nix
treefmt.config.programs.ormolu.enable#
Whether to enable ormolu.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/ormolu.nix
treefmt.config.programs.ormolu.ghcOpts#
Which GHC language extensions to enable
Typeunspecified value
Default
[
"BangPatterns"
"PatternSynonyms"
"TypeApplications"
]
Declared intreefmt-nix/blob/main/programs/ormolu.nix
treefmt.config.programs.oxfmt.enable#
Whether to enable oxfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/oxfmt.nix
treefmt.config.programs.oxipng.alpha#
Whether to enable Perform additional optimization on images with an alpha channel.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/oxipng.nix
treefmt.config.programs.oxipng.enable#
Whether to enable oxipng.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/oxipng.nix
treefmt.config.programs.oxipng.opt#
Set the optimization level preset
Typestring
Default"2"
Example"max"
Declared intreefmt-nix/blob/main/programs/oxipng.nix
treefmt.config.programs.oxipng.scale16#
Whether to enable Forcibly reduce images with 16 bits per channel to 8 bits per channel.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/oxipng.nix
treefmt.config.programs.oxipng.strip#
Strip metadata chunks
Typenull or string
Defaultnull
Example"safe"
Declared intreefmt-nix/blob/main/programs/oxipng.nix
treefmt.config.programs.packer.enable#
Whether to enable packer.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/packer.nix
treefmt.config.programs.perltidy.enable#
Whether to enable perltidy.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/perltidy.nix
treefmt.config.programs.perltidy.perltidyrc#
A path for perltidy’s configuration file, usually named .perltidyrc
Typenull or absolute path
Defaultnull
Declared intreefmt-nix/blob/main/programs/perltidy.nix
treefmt.config.programs.php-cs-fixer.configFile#
Path to php-cs-fixer config file.
Typestring or absolute path
Default"./.php-cs-fixer.php"
Example"./.php-cs-fixer.dist.php"
Declared intreefmt-nix/blob/main/programs/php-cs-fixer.nix
treefmt.config.programs.php-cs-fixer.enable#
Whether to enable php-cs-fixer.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/php-cs-fixer.nix
treefmt.config.programs.pinact.enable#
Whether to enable pinact.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/pinact.nix
treefmt.config.programs.pinact.settings#
Configuration for pinact, see
for supported values.
Typeopen submodule of (YAML 1.1 value)
Default{ }
Declared intreefmt-nix/blob/main/programs/pinact.nix
treefmt.config.programs.pinact.update#
Update actions to latest versions.
Typeboolean
Defaulttrue
Declared intreefmt-nix/blob/main/programs/pinact.nix
treefmt.config.programs.pinact.verify#
Verify if pairs of commit SHA and version are correct.
Typeboolean
Defaulttrue
Declared intreefmt-nix/blob/main/programs/pinact.nix
treefmt.config.programs.prettier.enable#
Whether to enable prettier.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.arrowParens#
Include parentheses around a sole arrow function parameter.
Typenull or one of "always", "avoid"
Defaultnull
Example"always"
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.bracketSameLine#
Put > of opening tags on the last line instead of on a new line.
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.bracketSpacing#
Print spaces between brackets
Typenull or boolean
Defaultnull
Exampletrue
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.cursorOffset#
Print (to stderr) where a cursor at the given position would move to after formatting. This option cannot be used with –range-start and –range-end.
Typenull or signed integer
Defaultnull
Example-1
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.editorconfig#
Whether parse the .editorconfig file in your project and convert its properties to the corresponding Prettier configuration. This configuration will be overridden by .prettierrc, etc.
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.embeddedLanguageFormatting#
Control how Prettier formats quoted code embedded in the file.
Typenull or one of "auto", "off"
Defaultnull
Example"auto"
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.endOfLine#
Which end of line characters to apply.
Typenull or one of "lf", "crlf", "cr", "auto"
Defaultnull
Example"lf"
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.filepath#
Specify the input filepath. This will be used to do parser inference.
Typenull or string
Defaultnull
Example"example.js"
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.htmlWhitespaceSensitivity#
How to handle whitespaces in HTML.
Typenull or one of "css", "strict", "ignore"
Defaultnull
Example"css"
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.insertPragma#
Insert @format pragma into file’s first docblock commentypes.
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.jsxSingleQuote#
Use single quotes in JSX
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.overrides#
Provide a list of patterns to override prettier configuration.
Typenull or (list of (attribute set))
Defaultnull
Example
{
files = [
"*.html"
"legacy/**/*.js"
];
options = {
tabwidth = 4;
};
}
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.parser#
Which parser to use.
Typenull or one of "flow", "babel", "babel-flow", "babel-ts", "typescript", "acorn", "espree", "meriyah", "css", "less", "scss", "json", "json5", "json-stringify", "graphql", "markdown", "mdx", "vue", "yaml", "glimmer", "html", "angular", "lwc" or string
Defaultnull
Example"typescript"
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.pluginSearchDirs#
Custom directory that contains prettier plugins in node_modules subdirectory. Overrides default behavior when plugins are searched relatively to the location of Prettier.\nMultiple values are accepted.
Typenull or (list of string) or value false (singular enum)
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.plugins#
Add a plugin. Multiple plugins can be passed as separate --plugins.
Typenull or (list of string)
Defaultnull
Example
[
"@prettier/plugin-xml"
]
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.printWidth#
The line length where Prettier will try wrap.
Typenull or signed integer
Defaultnull
Example80
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.proseWrap#
How to wrap prose.
Typenull or one of "always", "never", "preserve"
Defaultnull
Example"preserve"
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.quoteProps#
Change when properties in objects are quoted
Typenull or one of "as-needed", "consistent", "preserve"
Defaultnull
Example"as-needed"
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.rangeEnd#
Format code ending at a given character offset (exclusive). The range will extend forwards to the end of the selected statementypes. This option cannot be used with –cursor-offsetypes.
Typenull or string
Defaultnull
Example0
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.rangeStart#
Format code starting at a given character offsetypes. The range will extend backwards to the start of the first line containing the selected statementypes. his option cannot be used with –cursor-offsetypes.
Typenull or signed integer
Defaultnull
Example0
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.requirePragma#
Require either ‘@prettier’ or ‘@format’ to be present in the file’s first docblock comment\nin order for it to be formatted.
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.semi#
Print semicolons.
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.singleAttributePerLine#
Enforce single attribute per line in HTML, Vue and JSX.
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.singleQuote#
Use single quotes instead of double quotes.
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.tabWidth#
Number of spaces per indentation level.
Typenull or signed integer
Defaultnull
Example2
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.trailingComma#
Print trailing commas wherever possible when multi-line.
Typenull or one of "es5", "none", "all"
Defaultnull
Example"es5"
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.useTabs#
Indent with tabs instead of spaces
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.prettier.settings.vueIndentScriptAndStyle#
Indent script and style tags in Vue files.
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/prettier.nix
treefmt.config.programs.protolint.enable#
Whether to enable protolint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/protolint.nix
treefmt.config.programs.qmlformat.enable#
Whether to enable qmlformat.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/qmlformat.nix
treefmt.config.programs.rstfmt.enable#
Whether to enable rstfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/rstfmt.nix
treefmt.config.programs.rstfmt.line_length#
Sets the line length.
Typesigned integer
Default72
Example80
Declared intreefmt-nix/blob/main/programs/rstfmt.nix
treefmt.config.programs.rubocop.enable#
Whether to enable rubocop.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/rubocop.nix
treefmt.config.programs.ruff-check.enable#
Whether to enable ruff-check.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/ruff-check.nix
treefmt.config.programs.ruff-check.extendSelect#
–extend-select options
Typelist of string
Default[ ]
Example
[
"I"
]
Declared intreefmt-nix/blob/main/programs/ruff-check.nix
treefmt.config.programs.ruff-format.enable#
Whether to enable ruff-format.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/ruff-format.nix
treefmt.config.programs.ruff-format.lineLength#
Set the line-length.
Typenull or signed integer
Defaultnull
Example79
Declared intreefmt-nix/blob/main/programs/ruff-format.nix
treefmt.config.programs.rufo.enable#
Whether to enable rufo.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/rufo.nix
treefmt.config.programs.rumdl-check.enable#
Whether to enable rumdl-check.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/rumdl-check.nix
treefmt.config.programs.rumdl-format.enable#
Whether to enable rumdl-format.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/rumdl-format.nix
treefmt.config.programs.rustfmt.edition#
Rust edition to target when formatting
Typestring
Default"2024"
Declared intreefmt-nix/blob/main/programs/rustfmt.nix
treefmt.config.programs.rustfmt.enable#
Whether to enable rustfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/rustfmt.nix
treefmt.config.programs.scalafmt.enable#
Whether to enable scalafmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/scalafmt.nix
treefmt.config.programs.shellcheck.enable#
Whether to enable shellcheck.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/shellcheck.nix
treefmt.config.programs.shellcheck.external-sources#
Whether to enable Allow sources outside of includes.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/shellcheck.nix
treefmt.config.programs.shellcheck.extra-checks#
List of optional checks to enable (or “all”)
Typelist of string
Default[ ]
Example
[
"all"
]
Declared intreefmt-nix/blob/main/programs/shellcheck.nix
treefmt.config.programs.shellcheck.severity#
Minimum severity of errors to consider (“error”, “warning”, “info”, “style”)
Typenull or string
Defaultnull
Declared intreefmt-nix/blob/main/programs/shellcheck.nix
treefmt.config.programs.shellcheck.source-path#
Specify path when looking for sourced files (“SCRIPTDIR” for script’s dir)
Typenull or string
Defaultnull
Declared intreefmt-nix/blob/main/programs/shellcheck.nix
treefmt.config.programs.shfmt.enable#
Whether to enable shfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/shfmt.nix
treefmt.config.programs.shfmt.indent_size#
Sets the number of spaces to be used in indentation. Uses tabs if set to zero.
Typenull or signed integer
Default2
Example4
Declared intreefmt-nix/blob/main/programs/shfmt.nix
treefmt.config.programs.shfmt.simplify#
Enables the -s (--simplify) flag, which simplifies code where
possible.
Typeboolean
Defaulttrue
Declared intreefmt-nix/blob/main/programs/shfmt.nix
treefmt.config.programs.shfmt.useEditorConfig#
Whether to enable Use .editorconfig file for formatting. This is mutually exlusive with all other settings. See shfmt docs. .
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/shfmt.nix
treefmt.config.programs.sizelint.enable#
Whether to enable sizelint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/sizelint.nix
treefmt.config.programs.sizelint.failOnWarn#
Whether to enable fail-on-warn.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/sizelint.nix
treefmt.config.programs.sizelint.settings#
Configuration to generate sizelint.toml with
Typeopen submodule of (TOML value)
Default{ }
Declared intreefmt-nix/blob/main/programs/sizelint.nix
treefmt.config.programs.sql-formatter.dialect#
The sql dialect to use for formatting
Typenull or one of "bigquery", "db2", "db2i", "hive", "mariadb", "mysql", "n1ql", "plsql", "postgresql", "redshift", "spark", "sqlite", "sql", "tidb", "trino", "transactsql", "tsql", "singlestoredb", "snowflake"
Defaultnull
Example"postgresql"
Declared intreefmt-nix/blob/main/programs/sql-formatter.nix
treefmt.config.programs.sql-formatter.enable#
Whether to enable sql-formatter.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/sql-formatter.nix
treefmt.config.programs.sqlfluff-lint.enable#
Whether to enable sqlfluff-lint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/sqlfluff-lint.nix
treefmt.config.programs.sqlfluff.dialect#
The sql dialect to use for formatting
Typenull or one of "db2", "ansi", "soql", "tsql", "hive", "trino", "mysql", "oracle", "sqlite", "duckdb", "exasol", "athena", "mariadb", "vertica", "teradata", "redshift", "sparksql", "bigquery", "postgres", "greenplum", "snowflake", "materializ", "clickhouse", "databricks"
Defaultnull
Example"sqlite"
Declared intreefmt-nix/blob/main/programs/sqlfluff.nix
treefmt.config.programs.sqlfluff.enable#
Whether to enable sqlfluff.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/sqlfluff.nix
treefmt.config.programs.sqruff.enable#
Whether to enable sqruff.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/sqruff.nix
treefmt.config.programs.statix.disabled-lints#
List of ignored lints. Run statix list to see all available lints.
Typelist of string
Default[ ]
Example
[
"empty_pattern"
]
Declared intreefmt-nix/blob/main/programs/statix.nix
treefmt.config.programs.statix.enable#
Whether to enable statix.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/statix.nix
treefmt.config.programs.stylish-haskell.enable#
Whether to enable stylish-haskell.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/stylish-haskell.nix
treefmt.config.programs.stylua.enable#
Whether to enable stylua.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/stylua.nix
treefmt.config.programs.stylua.settings.call_parentheses#
Whether parentheses should be applied on function calls with a single
string/table argument. Always applies parentheses in all cases.
NoSingleString omits parentheses on calls with a single string
argument. Similarly, NoSingleTable omits parentheses on calls with a
single table argument. None omits parentheses in both cases.
Note: parentheses are still kept in situations where removal can lead to
obscurity (e.g. foo "bar".setup -> foo("bar").setup, since the index
is on the call result, not the string).
Input removes all automation and preserves parentheses only if they
were present in input code: consistency is not enforced.
Typenull or one of "Always", "NoSingleString", "NoSingleTable", "None", "Input"
Defaultnull
Example"Always"
Declared intreefmt-nix/blob/main/programs/stylua.nix
treefmt.config.programs.stylua.settings.collapse_simple_statement#
Specify whether to collapse simple statements.
Typenull or one of "Never", "FunctionOnly", "ConditionalOnly", "Always"
Defaultnull
Example"Never"
Declared intreefmt-nix/blob/main/programs/stylua.nix
treefmt.config.programs.stylua.settings.column_width#
Approximate line length for printing.
Used as a guide for line wrapping - this is not a hard requirement: lines may fall under or over the limit.
Typenull or signed integer
Defaultnull
Example120
Declared intreefmt-nix/blob/main/programs/stylua.nix
treefmt.config.programs.stylua.settings.indent_type#
Indent type.
Typenull or one of "Tabs", "Spaces"
Defaultnull
Example"Tabs"
Declared intreefmt-nix/blob/main/programs/stylua.nix
treefmt.config.programs.stylua.settings.indent_width#
Character size of single indentation.
If indent_type is set to Tabs, this option is used as a heuristic to
determine column width only.
Typenull or signed integer
Defaultnull
Example4
Declared intreefmt-nix/blob/main/programs/stylua.nix
treefmt.config.programs.stylua.settings.line_endings#
Line endings type.
Typenull or one of "Unix", "Windows"
Defaultnull
Example"Unix"
Declared intreefmt-nix/blob/main/programs/stylua.nix
treefmt.config.programs.stylua.settings.quote_style#
Quote style for string literals.
AutoPrefer styles will prefer the specified quote style, but fall back
to the alternative if it has fewer string escapes. Force styles always
use the specified style regardless of escapes.
Typenull or one of "AutoPreferDouble", "AutoPreferSingle", "ForceDouble", "ForceSingle"
Defaultnull
Example"AutoPreferDouble"
Declared intreefmt-nix/blob/main/programs/stylua.nix
treefmt.config.programs.stylua.settings.sort_requires.enabled#
StyLua has built-in support for sorting require statements. We group consecutive require statements into a single “block”, and then requires are sorted only within that block. Blocks of requires do not move around the file.
We only include requires of the form local NAME = require(EXPR), and
sort lexicographically based on NAME. (We also sort Roblox services of
the form local NAME = game:GetService(EXPR))
Typenull or boolean
Defaultnull
Examplefalse
Declared intreefmt-nix/blob/main/programs/stylua.nix
treefmt.config.programs.swift-format.enable#
Whether to enable swift-format.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/swift-format.nix
treefmt.config.programs.taplo.enable#
Whether to enable taplo.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/taplo.nix
treefmt.config.programs.taplo.settings#
Configuration to generate taplo.toml with
Typeopen submodule of (TOML value)
Default{ }
Declared intreefmt-nix/blob/main/programs/taplo.nix
treefmt.config.programs.templ.enable#
Whether to enable templ.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/templ.nix
treefmt.config.programs.terraform.enable#
Whether to enable terraform.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/terraform.nix
treefmt.config.programs.texfmt.enable#
Whether to enable texfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/texfmt.nix
treefmt.config.programs.tilt.enable#
Whether to enable tilt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/tilt.nix
treefmt.config.programs.toml-sort.all#
Whether to enable sort ALL keys.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/toml-sort.nix
treefmt.config.programs.toml-sort.enable#
Whether to enable toml-sort.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/toml-sort.nix
treefmt.config.programs.typos.binary#
Search binary files
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.configFile#
Custom config file
Typenull or string
Defaultnull
Example"typos.toml"
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.enable#
Whether to enable typos.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.hidden#
Search hidden files and directories
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.isolated#
Ignore implicit configuration files
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.locale#
Language locale to suggest corrections for [possible values: en, en-us, en-gb, en-ca, en-au]
Typenull or one of "en", "en-us", "en-gb", "en-ca", "en-au"
Defaultnull
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.noCheckFilenames#
Skip verifying spelling in file names
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.noCheckFiles#
Skip verifying spelling in files
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.noIgnore#
Don’t respect ignore files
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.noIgnoreDot#
Don’t respect .ignore files
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.noIgnoreGlobal#
Don’t respect global ignore files
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.noIgnoreParent#
Don’t respect ignore files in parent directories
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.noIgnoreVCS#
Don’t respect ignore files in vsc directories
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.noUnicode#
Only allow ASCII characters in identifiers
Typeboolean
Defaultfalse
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.sort#
Sort results
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typos.threads#
The approximate number of threads to use [default: 0]
Typenull or signed integer
Defaultnull
Example2
Declared intreefmt-nix/blob/main/programs/typos.nix
treefmt.config.programs.typstyle.enable#
Whether to enable typstyle.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/typstyle.nix
treefmt.config.programs.typstyle.indentWidth#
Number of spaces per indent level (default: 2).
Typenull or signed integer
Defaultnull
Example4
Declared intreefmt-nix/blob/main/programs/typstyle.nix
treefmt.config.programs.typstyle.lineWidth#
Maximum line width in characters (default: 80).
Typenull or signed integer
Defaultnull
Example100
Declared intreefmt-nix/blob/main/programs/typstyle.nix
treefmt.config.programs.typstyle.wrapText#
Whether to enable line wrapping of markup text.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/typstyle.nix
treefmt.config.programs.wgslfmt.enable#
Whether to enable wgslfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/wgslfmt.nix
treefmt.config.programs.wgslfmt.tabs#
Whether to enable Use tabs for indentation (instead of spaces).
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/wgslfmt.nix
treefmt.config.programs.xmllint.enable#
Whether to enable xmllint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/xmllint.nix
treefmt.config.programs.yamlfmt.enable#
Whether to enable yamlfmt.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/yamlfmt.nix
treefmt.config.programs.yamlfmt.settings#
Configuration for yamlfmt, see
for supported values.
Typeopen submodule of (YAML 1.1 value)
Default{ }
Declared intreefmt-nix/blob/main/programs/yamlfmt.nix
treefmt.config.programs.yamllint.enable#
Whether to enable yamllint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/yamllint.nix
treefmt.config.programs.yamllint.settings#
Configuration for yamllint, see
for supported values.
Typeopen submodule of (YAML 1.1 value)
Default{ }
Declared intreefmt-nix/blob/main/programs/yamllint.nix
treefmt.config.programs.yapf.enable#
Whether to enable yapf.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/yapf.nix
treefmt.config.programs.zig.enable#
Whether to enable zig.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/zig.nix
treefmt.config.programs.zizmor.enable#
Whether to enable zizmor.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/zizmor.nix
treefmt.config.programs.zprint.enable#
Whether to enable zprint.
Typeboolean
Defaultfalse
Exampletrue
Declared intreefmt-nix/blob/main/programs/zprint.nix
treefmt.config.programs.zprint.zprintOpts#
Clojure map containing zprint options.
Typenull or string
Defaultnull
Example"{:width 90}"
Declared intreefmt-nix/blob/main/programs/zprint.nix
treefmt.config.projectRootFile#
File to look for to determine the root of the project in the build.wrapper. Set to null to let treefmt use its native detection.
Typenull or string
Default".git/config"
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.settings#
The contents of treefmt.toml
Typeopen submodule of (TOML value)
Default{ }
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.settings.excludes#
A global list of paths to exclude. Supports glob.
Typelist of string
Default[ ]
Example
[
"node_modules/*"
]
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.settings.formatter#
Set of formatters to use
Typeattribute set of (open submodule of (TOML value))
Default{ }
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.settings.formatter.\<name\>.command#
Executable obeying the treefmt formatter spec
TypePath to executable
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.settings.formatter.\<name\>.excludes#
List of files to exclude for formatting. Supports globbing. Takes precedence over the includes.
Typelist of string
Default[ ]
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.settings.formatter.\<name\>.includes#
List of files to include for formatting. Supports globbing.
Typelist of string
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.settings.formatter.\<name\>.options#
List of arguments to pass to the command
Typelist of string
Default[ ]
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.config.settings.on-unmatched#
Log paths that did not match any formatters at the specified log level.
Typenull or one of "debug", "info", "warn", "error", "fatal"
Defaultnull
Declared intreefmt-nix/blob/main/module-options.nix
treefmt.enable#
Whether to enable treefmt integration (through treefmt-nix).
Typeboolean
Defaultfalse
Exampletrue
Declared indevenv/blob/main/src/modules/integrations/treefmt.nix
unsetEnvVars
unsetEnvVars#
A list of removed environment variables to make the shell/direnv more lean.
Typelist of string
Default
[
"HOST_PATH"
"NIX_BUILD_CORES"
"__structuredAttrs"
"buildInputs"
"buildPhase"
"builder"
"depsBuildBuild"
"depsBuildBuildPropagated"
"depsBuildTarget"
"depsBuildTargetPropagated"
"depsHostHost"
"depsHostHostPropagated"
"depsTargetTarget"
"depsTargetTargetPropagated"
"dontAddDisableDepTrack"
"doCheck"
"doInstallCheck"
"nativeBuildInputs"
"out"
"outputs"
"patches"
"phases"
"preferLocalBuild"
"propagatedBuildInputs"
"propagatedNativeBuildInputs"
"shell"
"shellHook"
"stdenv"
"strictDeps"
]
Declared indevenv/blob/main/src/modules/top-level.nix
Last updated Oct 08, 2026