Skip to content

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 (manual is 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

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

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

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

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

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" 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-argv0 and --resolve-argv0 to ensure Python initializes with correct sys.prefix and sys.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.rustdocflags

Extra flags to pass to Rustdoc.

Typestring

Default""

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

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

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

process.proxy.enable

Whether to enable the shared HTTP proxy for friendly process URLs under .localhost .

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/integrations/process-proxy.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., "net_bind_service", "net_admin").

Supported capabilities are net_bind_service, net_raw, net_admin, ipc_lock, sys_nice, sys_resource, sys_admin, chown, dac_override, and fowner. Starting a process with capabilities requires sudo authentication.

Requires devenv 2.0+.

Typelist of string

Default[ ]

Example
[
  "net_bind_service"
  "net_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>.proxy

Shared HTTP proxy configuration for this port.

Typesubmodule

Default{ }

Declared indevenv/blob/main/src/modules/processes.nix

processes.<name>.ports.<name>.proxy.hostname

Full .localhost hostname to use for this port when process.proxy.enable is enabled.

This takes precedence over processes.<name>.proxy.hostname and the generated hostname.

Typenull or string

Defaultnull

Example"admin.localhost"

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>.proxy

Shared HTTP proxy configuration for this process.

Typesubmodule

Default{ }

Declared indevenv/blob/main/src/modules/processes.nix

processes.<name>.proxy.hostname

Full .localhost hostname to use for this process when process.proxy.enable is enabled.

By default, devenv derives the hostname from the process and project names. Named ports without their own hostname override are prefixed to this hostname.

Typenull or string

Defaultnull

Example"app.localhost"

Declared indevenv/blob/main/src/modules/processes.nix

processes.<name>.proxy.https.enable

Whether to enable HTTPS proxy URLs for this process using the project's mkcert certificate authority. HTTP URLs remain available. Requires process.proxy.enable .

Typeboolean

Defaultfalse

Exampletrue

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. They also run when pulled in as a task dependency, for example after = [ "devenv:processes:<name>@completed" ].

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 execution
  • task or task@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 execution
  • task or task@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., "net_bind_service", "net_admin").

Supported capabilities are net_bind_service, net_raw, net_admin, ipc_lock, sys_nice, sys_resource, sys_admin, chown, dac_override, and fowner. Starting a process with capabilities requires sudo authentication.

Requires devenv 2.0+.

Typelist of string

Default[ ]

Example
[
  "net_bind_service"
  "net_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.proxy.hostname

Full .localhost proxy hostname for this process.

Typenull or string

Defaultnull

Declared indevenv/blob/main/src/modules/tasks.nix

tasks.<name>.process.proxy.https.enable

Whether to enable HTTPS proxy URLs for this process.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/tasks.nix

tasks.<name>.process.proxy.port_hostnames

Full .localhost proxy hostnames keyed by port name.

Typeattribute set of string

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 with devenv up.

Disabled processes still run when pulled in as a task dependency (for example via @completed).

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