▸ Agent Skills
360 min read

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#

Integration with https://github.com/cachix/git-hooks.nix

Typesubmodule

Default{ }

Declared indevenv/blob/main/src/modules/integrations/git-hooks.nix

git-hooks.addGcRoot#

Whether to add the generated pre-commit config to the garbage collector roots. This prevents Nix from garbage-collecting the tools used by hooks.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.configFile#

The pre-commit configuration file.

Typepackage

Default"\<derivation\>"

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.configPath#

The path where to generate the pre-commit configuration file.

This path is relative to the root of the project. By default, this is set to “.pre-commit-config.yaml”, which is the standard location expected by pre-commit.

Typestring

Default".pre-commit-config.yaml"

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.default_stages#

A configuration wide option for the stages property. Installs hooks to the defined stages. See https://pre-commit.com/#confining-hooks-to-run-at-certain-stages.

Typelist of (one of "commit-msg", "post-checkout", "post-commit", "post-merge", "post-rewrite", "pre-commit", "pre-merge-commit", "pre-push", "pre-rebase", "prepare-commit-msg", "manual", "commit", "push", "merge-commit")

Default

[
  "pre-commit"
]

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.enable#

Whether to enable the pre-commit hooks module.

When set to false, this disables the entire module.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.enabledPackages#

All packages provided by hooks that are enabled.

Useful for including into the developer environment.

Typelist of unspecified value

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.excludes#

Exclude files that were matched by these patterns.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.gitPackage#

The git package to use.

Typepackage

Defaultpkgs.gitMinimal

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.hooks#

The hook definitions.

You can both specify your own hooks here and you can enable predefined hooks.

Example of enabling a predefined hook:

hooks.nixpkgs-fmt.enable = true;

Example of a custom hook:

hooks.my-tool = {
  enable = true;
  name = "my-tool";
  description = "Run MyTool on all files in the project";
  files = "\\.mtl$";
  entry = "${pkgs.my-tool}/bin/mytoolctl";
};

The predefined hooks are:

action-validator

Tool to validate GitHub Action and Workflow YAML files

actionlint

Static checker for GitHub Actions workflow files

alejandra

The Uncompromising Nix Code Formatter

annex

Runs the git-annex hook for large file support

ansible-lint

Ansible linter

autoflake

Remove unused imports and variables from Python code

bats

Run bash unit tests

beautysh

Format shell files

biome

A toolchain for web projects, aimed to provide functionalities to maintain them

black

The uncompromising Python code formatter

cabal-fmt

Format Cabal files

cabal-gild

Format Cabal files

cabal2nix

Run cabal2nix on all *.cabal files to generate corresponding .nix files

cargo-check

Check the cargo package for errors

chart-testing

CLI tool for linting and testing Helm charts

check-added-large-files

Prevent very large files to be committed (e.g. binaries).

check-builtin-literals

Require literal syntax when initializing empty or zero builtin types in Python.

check-case-conflicts

Check for files that would conflict in case-insensitive filesystems.

check-docstring-first

Check that all docstrings appear above the code.

check-executables-have-shebangs

Ensure that all non-binary executables have shebangs.

check-json

Check syntax of JSON files.

check-merge-conflicts

Check for files that contain merge conflict strings.

check-python

Check syntax of Python file by parsing Python abstract syntax tree.

check-shebang-scripts-are-executable

Ensure that all (non-binary) files with a shebang are executable.

check-symlinks

Find broken symlinks.

check-toml

Check syntax of TOML files.

check-vcs-permalinks

Ensure that links to VCS websites are permalinks.

check-xml

Check syntax of XML files.

check-yaml

Check syntax of YAML files.

checkmake

Experimental linter/analyzer for Makefiles

chktex

LaTeX semantic checker

circleci

Validate CircleCI config files.

clang-format

Format your code using clang-format.

clang-tidy

Static analyzer for C++ code.

clippy

Lint Rust code.

cljfmt

A tool for formatting Clojure code.

cmake-format

A tool for formatting CMake-files.

commitizen

Check whether the current commit message follows committing rules.

comrak

A 100% CommonMark-compatible GitHub Flavored Markdown formatter

conform

Policy enforcement for commits.

convco

credo

Runs a static code analysis using Credo

crystal

A tool that automatically formats Crystal source code

cspell

A Spell Checker for Code

cue-fmt

Format CUE files

dart-analyze

Dart analyzer

dart-format

Dart formatter

deadnix

Scan Nix files for dead code (unused variable bindings).

denofmt

Auto-format JavaScript, TypeScript, Markdown, and JSON files.

denolint

Lint JavaScript/TypeScript source code.

detect-aws-credentials

Detect AWS credentials from the AWS cli credentials file.

detect-private-keys

Detect the presence of private keys.

dhall-format

Dhall code formatter.

dialyzer

Runs a static code analysis using Dialyzer

dune-fmt

Runs Dune’s formatters on the code tree.

dune-opam-sync

Check that Dune-generated OPAM files are in sync.

eclint

EditorConfig linter written in Go.

editorconfig-checker

Verify that the files are in harmony with the .editorconfig.

elm-format

Format Elm files.

elm-review

Analyzes Elm projects, to help find mistakes before your users find them.

elm-test

Run unit tests and fuzz tests for Elm code.

end-of-file-fixer

Ensures that a file is either empty, or ends with a single newline.

eslint

Find and fix problems in your JavaScript code.

fix-byte-order-marker

Remove UTF-8 byte order marker.

fix-encoding-pragma

Adds # -- coding: utf-8 -- to the top of Python files.’

flake-checker

Run health checks on your flake-powered Nix projects.

flake8

Check the style and quality of Python files.

flynt

CLI tool to convert a python project’s %-formatted strings to f-strings.

forbid-new-submodules

Prevent addition of new Git submodules.

fourmolu

Haskell code prettifier.

fprettify

Auto-formatter for modern Fortran code.

gitlint

Linting for your git commit messages

gofmt

A tool that automatically formats Go source code

golangci-lint

Fast linters runner for Go.

golines

A golang formatter that fixes long lines

gotest

Run go tests

govet

Checks correctness of Go programs.

gptcommit

Generate a commit message using GPT3.

hadolint

Dockerfile linter, validate inline bash.

headache

Lightweight tool for managing headers in source code files.

hindent

Haskell code prettifier.

hledger-fmt

Opinionated hledger’s journal files formatter.

hlint

HLint gives suggestions on how to improve your source code.

hpack

hpack converts package definitions in the hpack format (package.yaml) to Cabal files.

html-tidy

HTML linter.

hunspell

Spell checker and morphological analyzer.

isort

A Python utility / library to sort imports.

juliaformatter

Run JuliaFormatter.jl against Julia source files

keep-sorted

Language-agnostic formatter that sorts lines between two markers in a larger file.

lacheck

A consistency checker for LaTeX documents.

latexindent

Perl script to add indentation to LaTeX files.

lua-ls

Uses the lua-language-server CLI to statically type-check and lint Lua code.

luacheck

A tool for linting and static analysis of Lua code.

lychee

A fast, async, stream-based link checker that finds broken hyperlinks and mail addresses inside Markdown, HTML, reStructuredText, or any other text file or website.

markdownlint

Style checker and linter for markdown files.

mdformat

CommonMark compliant Markdown formatter

mdl

A tool to check markdown files and flag style issues.

mdsh

Markdown shell pre-processor.

mix-format

Runs the built-in Elixir syntax formatter

mix-test

Runs the built-in Elixir test framework

mixed-line-endings

Resolve mixed line endings.

mkdocs-linkcheck

Validate links associated with markdown-based, statically generated websites.

mypy

Static type checker for Python

name-tests-test

Verify that Python test files are named correctly.

nbstripout

Strip output from Jupyter notebooks

nil

Incremental analysis assistant for writing in Nix.

nixf-diagnose

wrapper for nixf-tidy.

nixfmt

Official Nix code formatter.

nixfmt-classic

Nix code prettifier (classic).

nixfmt-rfc-style

Nix code prettifier (RFC 166 style).

nixpkgs-fmt

Nix code prettifier.

no-commit-to-branch

Disallow committing to certain branch/branches.

ocp-indent

A tool to indent OCaml code.

opam-lint

OCaml package manager configuration checker.

openapi-spec-validator

A tool to validate OpenAPI spec files

ormolu

Haskell code prettifier.

php-cs-fixer

Lint PHP files.

phpcbf

Lint PHP files.

phpcs

Lint PHP files.

phpstan

Static Analysis of PHP files.

poetry-check

Check the Poetry config for errors

poetry-lock

Update the Poetry lock file

pre-commit-hook-ensure-sops

prettier

Opinionated multi-language code formatter.

pretty-format-json

Formats JSON files.

proselint

A linter for prose.

psalm

Static Analysis of PHP files.

purs-tidy

Format purescript files.

pylint

Lint Python files.

pyright

Static type checker for Python

python-debug-statements

Check for debugger imports and py37+ breakpoint() calls in python source.

pyupgrade

Automatically upgrade syntax for newer versions.

regal

A linter for Rego policies

reuse

reuse is a tool for compliance with the REUSE recommendations.

revive

A linter for Go source code.

ripsecrets

Prevent committing secret keys into your source code

rome

ruff

An extremely fast Python linter, written in Rust.

ruff-format

An extremely fast Python code formatter, written in Rust.

rumdl

Style checker and linter for rumdl files.

rustfmt

Format Rust code.

selene

A blazing-fast modern Lua linter written in Rust.

shellcheck

Format shell files.

shfmt

Format shell files.

single-quoted-strings

Replace double quoted strings with single quoted strings.

sort-file-contents

Sort the lines in specified files (defaults to alphabetical).

sort-requirements-txt

Sort requirements in requirements.txt and constraints.txt files.

sort-simple-yaml

Sort simple YAML files which consist only of top-level keys, preserving comments and blocks.

staticcheck

State of the art linter for the Go programming language

statix

Lints and suggestions for the Nix programming language.

stylish-haskell

A simple Haskell code prettifier

stylua

An Opinionated Lua Code Formatter.

tagref

Have tagref check all references and tags.

taplo

Format TOML files with taplo fmt

terraform-format

Format Terraform (.tf) files.

terraform-validate

Validates terraform configuration files (.tf).

tflint

A Pluggable Terraform Linter.

topiary

A universal formatter engine within the Tree-sitter ecosystem, with support for many languages.

treefmt

One CLI to format the code tree.

trim-trailing-whitespace

Trim trailing whitespace.

trufflehog

Secrets scanner

typos

Source code spell checker

typstyle

Beautiful and reliable typst code formatter

uv-check

Check if uv’s lockfile is up-to-date.

uv-export

Export uv’s lockfile.

uv-lock

Update uv’s lockfile.

vale

A markup-aware linter for prose built with speed and extensibility in mind.

woodpecker-cli-lint

Command line client for the Woodpecker Continuous Integration server (lint only).

yamlfmt

Formatter for YAML files.

yamllint

Linter for YAML files.

zizmor

Static analysis for GitHub Actions

zprint

Beautifully format Clojure and Clojurescript source code and s-expressions.

Typeopen submodule of attribute set of (submodule)

Default{ }

Declared ingit-hooks.nix/blob/master/modules/hooks.nix, git-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.hooks.\<name\>.after#

List of hooks that should run before this hook.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.always_run#

if true this hook will run even if there are no matching files.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.args#

List of additional parameters to pass to the hook.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.before#

List of hooks that should run after this hook.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.description#

Description of the hook. Used for metadata purposes only.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.entry#

The entry point - the executable to run. {option}entry can also contain arguments that will not be overridden, such as entry = "autopep8 -i";.

Typestring

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.exclude_types#

List of file types to exclude. See Filtering files with types.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.excludes#

Exclude files that were matched by these patterns.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.extraPackages#

Additional packages required to run the hook.

These are propagated to enabledPackages for constructing developer environments.

Typelist of package

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.fail_fast#

if true pre-commit will stop running hooks if this hook fails.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.files#

The pattern of files to run on.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.id#

The unique identifier for the hook.

You do not need to set or modify this value.

The id is used to reference a hook when using pre-commit run <id>. It can also be used to reference the hook in other hooks’ before and after fields to define the order in which hooks run.

The id is set to the attribute name the hook submodule is bound to in the parent module. For example, the id of following hook would be my-hook.

{
  hooks = {
    my-hook = {
      enable = true;
      entry = "my-hook";
    };
  }
}

Typestring

Default"the attribute name the hook submodule is bound to"

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.language#

The language of the hook - tells pre-commit how to install the hook.

Defaults to "system", or "unsupported" when using pre-commit >= 4.4.0.

Note: "unsupported" does not mean deprecated. Pre-commit >= 4.4.0 renamed "system" to "unsupported" because when using this language pre-commit does not provision the tools, and using externally managed tools (e.g. via Nix) is not an officially supported workflow. Both values are functionally equivalent.

Typestring

Default"system" or "unsupported" depending on pre-commit version

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.name#

The name of the hook. Shown during hook execution.

Typestring

Defaultthe attribute name the hook submodule is bound to, same as `id`

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.package#

An optional package that provides the hook.

Typenull or package

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.pass_filenames#

Whether to pass filenames as arguments to the entry point.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.priority#

Defines the order in which the hooks are executed. Default priority is set by the order in the list of hooks. Evaluation goes from 0 and up. If two hooks have the same priority, they’ll run in parallel. This works only if cfg.package is set to prek.

Typenull or 32 bit unsigned integer; between 0 and 4294967295 (both inclusive)

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.raw#

Raw fields of a pre-commit hook. This is mostly for internal use but exposed in case you need to work around something.

Default: taken from the other hook options.

Typeattribute set of unspecified value

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.require_serial#

if true this hook will execute using a single process instead of in parallel.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.stages#

Confines the hook to run at a particular stage.

Typelist of (one of "commit-msg", "post-checkout", "post-commit", "post-merge", "post-rewrite", "pre-commit", "pre-merge-commit", "pre-push", "pre-rebase", "prepare-commit-msg", "manual", "commit", "push", "merge-commit")

Defaultdefault_stages

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.types#

List of file types to run on. See Filtering files with types.

Typelist of string

Default

[
  "file"
]

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.types_or#

List of file types to run on, where only a single type needs to match.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.\<name\>.verbose#

forces the output of the hook to be printed even when the hook passes.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.alejandra#

alejandra hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.alejandra.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.alejandra.settings.check#

Check if the input is already formatted and disable writing in-place the modified content

Typeboolean

Defaultfalse

Exampletrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.alejandra.settings.configPath#

(experimental) Path to the alejandra.toml configuration file.

Typenull or string or absolute path

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.alejandra.settings.exclude#

Files or directories to exclude from formatting.

Typelist of string

Default[ ]

Example

[
  "flake.nix"
  "./templates"
]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.alejandra.settings.threads#

Number of formatting threads to spawn.

Typenull or signed integer

Defaultnull

Example8

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.alejandra.settings.verbosity#

Whether informational messages or all messages should be hidden or not.

Typeone of "normal", "quiet", "silent"

Default"normal"

Example"quiet"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.ansible-lint#

ansible-lint hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.ansible-lint.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.ansible-lint.settings.configPath#

Path to the YAML configuration file.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.ansible-lint.settings.subdir#

Path to the Ansible subdirectory.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.autoflake#

autoflake hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.autoflake.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.autoflake.settings.binPath#

Path to autoflake binary.

Typenull or string

Default

"${tools.autoflake}/bin/autoflake"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.autoflake.settings.flags#

Flags passed to autoflake.

Typestring

Default"--in-place --expand-star-imports --remove-duplicate-keys --remove-unused-variables"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.biome#

biome hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.biome.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.biome.settings.binPath#

biome binary path. For example, if you want to use the biome binary from node_modules, use "./node_modules/.bin/biome". Use a string instead of a path to avoid having to Git track the file in projects that use Nix flakes.

Typenull or string or absolute path

Default

"${tools.biome}/bin/biome"

Example

"./node_modules/.bin/biome"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.biome.settings.configPath#

Path to the configuration JSON file

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.biome.settings.write#

Whether to edit files inplace.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.black#

black hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.black.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.black.settings.flags#

Flags passed to black. See all available here.

Typestring

Default""

Example"--skip-magic-trailing-comma"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.cabal2nix#

cabal2nix hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.cabal2nix.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.cabal2nix.settings.outputFilename#

The name of the output file generated after running cabal2nix.

Typestring

Default"default.nix"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.clippy#

clippy hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.clippy.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.clippy.packageOverrides.cargo#

The cargo package to use

Typepackage

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.clippy.packageOverrides.clippy#

The clippy package to use

Typepackage

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.clippy.settings.allFeatures#

Run clippy with –all-features

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.clippy.settings.denyWarnings#

Fail when warnings are present

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.clippy.settings.extraArgs#

Additional arguments to pass to clippy

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.clippy.settings.offline#

Run clippy offline

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.cmake-format#

cmake-format hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.cmake-format.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.cmake-format.settings.configPath#

Path to the configuration file (.json,.python,.yaml)

Typestring

Default""

Example".cmake-format.json"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.convco#

convco hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.convco.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.convco.settings.configPath#

Path to the configuration file (YAML or JSON)

Typenull or string or absolute path

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.credo#

credo hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.credo.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.credo.settings.strict#

Whether to auto-promote the changes.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.deadnix#

deadnix hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.deadnix.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.deadnix.settings.edit#

Remove unused code and write to source file.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.deadnix.settings.exclude#

Files to exclude from analysis.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.deadnix.settings.hidden#

Recurse into hidden subdirectories and process hidden .*.nix files.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.deadnix.settings.noLambdaArg#

Don’t check lambda parameter arguments.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.deadnix.settings.noLambdaPatternNames#

Don’t check lambda pattern names (don’t break nixpkgs callPackage).

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.deadnix.settings.noUnderscore#

Don’t check any bindings that start with a _.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.deadnix.settings.quiet#

Don’t print a dead code report.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.denofmt#

denofmt hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.denofmt.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.denofmt.settings.configPath#

Path to the configuration JSON file

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.denofmt.settings.write#

Whether to edit files inplace.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.denolint#

denolint hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.denolint.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.denolint.settings.configPath#

Path to the configuration JSON file

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.denolint.settings.format#

Output format.

Typeone of "default", "compact", "json"

Default"default"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.dune-fmt#

dune-fmt hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.dune-fmt.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.dune-fmt.settings.auto-promote#

Whether to auto-promote the changes.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.dune-fmt.settings.extraRuntimeInputs#

Extra runtimeInputs to add to the environment, eg. ocamlformat.

Typelist of package

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.eclint#

eclint hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.eclint.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.eclint.settings.color#

When to generate colored output.

Typeone of "auto", "always", "never"

Default"auto"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.eclint.settings.exclude#

Filter to exclude files.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.eclint.settings.fix#

Modify files in place rather than showing the errors.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.eclint.settings.summary#

Only show number of errors per file.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.eclint.settings.verbosity#

Log level verbosity

Typeone of 0, 1, 2, 3, 4

Default0

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.eslint#

eslint hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.eslint.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.eslint.settings.binPath#

eslint binary path. For example, if you want to use the eslint binary from node_modules, use "./node_modules/.bin/eslint". Use a string instead of a path to avoid having to Git track the file in projects that use Nix flakes.

Typenull or string or absolute path

Default

"${tools.eslint}/bin/eslint"

Example

"./node_modules/.bin/eslint"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.eslint.settings.extensions#

The pattern of files to run on, see https://pre-commit.com/#hooks-files.

Typestring

Default"\\.js$"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flake8#

flake8 hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flake8.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.flake8.settings.binPath#

flake8 binary path. Should be used to specify flake8 binary from your Python environment.

Typenull or string

Default

"${tools.flake8}/bin/flake8"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flake8.settings.extendIgnore#

List of additional ignore codes

Typelist of string

Default[ ]

Example

[
  "E501"
]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flake8.settings.format#

Output format.

Typestring

Default"default"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt#

flynt hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.flynt.settings.aggressive#

Include conversions with potentially changed behavior.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.settings.binPath#

flynt binary path. Can be used to specify the flynt binary from an existing Python environment.

Typenull or string

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.settings.dry-run#

Do not change files in-place and print diff instead.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.settings.exclude#

Ignore files with given strings in their absolute path.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.settings.fail-on-change#

Fail when diff is not empty (for linting purposes).

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.settings.line-length#

Convert expressions spanning multiple lines, only if the resulting single line will fit into this line length limit.

Typenull or signed integer

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.settings.no-multiline#

Convert only single line expressions.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.settings.quiet#

Run without output.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.settings.string#

Interpret the input as a Python code snippet and print the converted version.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.settings.transform-concats#

Replace string concatenations with f-strings.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.flynt.settings.verbose#

Run with verbose output.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.fourmolu#

fourmolu hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.fourmolu.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.fourmolu.settings.defaultExtensions#

Haskell language extensions to enable.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.golines#

golines hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.golines.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.golines.settings.flags#

Flags passed to golines. See all available here

Typestring

Default""

Example"-m 120"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.gotest#

gotest hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.gotest.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.gotest.settings.flags#

Flags passed to gotest. See all available here.

Typestring

Default""

Example"-tags integration"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.headache#

headache hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.headache.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.headache.settings.header-file#

Path to the header file.

Typestring

Default".header"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.hledger-fmt#

hledger-fmt hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.hledger-fmt.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.hledger-fmt.settings.fix#

Fix the files in place.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.hlint#

hlint hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.hlint.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.hlint.settings.hintFile#

Path to hlint.yaml. By default, hlint searches for .hlint.yaml in the project root.

Typenull or string or absolute path

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.hpack#

hpack hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.hpack.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.hpack.settings.silent#

Whether generation should be silent.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.isort#

isort hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.isort.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.isort.settings.flags#

Flags passed to isort. See all available here.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.isort.settings.profile#

Built-in profiles to allow easy interoperability with common projects and code styles.

Typeone of "", "black", "django", "pycharm", "google", "open_stack", "plone", "attrs", "hug", "wemake", "appnexus"

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.lacheck#

lacheck hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.lacheck.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.latexindent#

latexindent hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.latexindent.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.latexindent.settings.flags#

Flags passed to latexindent. See available flags here

Typestring

Default"--local --silent --overwriteIfDifferent"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.lua-ls#

lua-ls hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.lua-ls.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.lua-ls.settings.checklevel#

The diagnostic check level

Typeone of "Error", "Warning", "Information", "Hint"

Default"Warning"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.lua-ls.settings.configuration#

See https://github.com/LuaLS/lua-language-server/wiki/Configuration-File#luarcjson

Typeattribute set

Default{ }

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.lychee#

lychee hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.lychee.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.lychee.settings.configPath#

Path to the config file.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.lychee.settings.flags#

Flags passed to lychee. See all available here.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.markdownlint#

markdownlint hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.markdownlint.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.markdownlint.settings.configuration#

See https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.jsonc

Typeattribute set

Default{ }

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl#

mdl hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.mdl.settings.configPath#

The configuration file to use.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.git-recurse#

Only process files known to git when given a directory.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.ignore-front-matter#

Ignore YAML front matter.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.json#

Format output as JSON.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.rules#

Markdown rules to use for linting. Per default all rules are processed.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.rulesets#

Specify additional ruleset files to load.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.show-aliases#

Show rule alias instead of rule ID when viewing rules.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.skip-default-ruleset#

Do not load the default markdownlint ruleset. Use this option if you only want to load custom rulesets.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.style#

Select which style mdl uses.

Typestring

Default"default"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.tags#

Markdown rules to use for linting containing the given tags. Per default all rules are processed.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.verbose#

Increase verbosity.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mdl.settings.warnings#

Show Kramdown warnings.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mkdocs-linkcheck#

mkdocs-linkcheck hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mkdocs-linkcheck.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.mkdocs-linkcheck.settings.binPath#

mkdocs-linkcheck binary path. Should be used to specify the mkdocs-linkcheck binary from your Python environment.

Typenull or string or absolute path

Default

"${tools.mkdocs-linkcheck}/bin/mkdocs-linkcheck"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mkdocs-linkcheck.settings.extension#

File extension to scan for.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mkdocs-linkcheck.settings.local-only#

Whether to only check local links.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mkdocs-linkcheck.settings.method#

HTTP method to use when checking external links.

Typeone of "get", "head"

Default"get"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mkdocs-linkcheck.settings.path#

Path to check

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mkdocs-linkcheck.settings.recurse#

Whether to recurse directories under path.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mypy#

mypy hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.mypy.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.mypy.settings.binPath#

Mypy binary path. Should be used to specify the mypy executable in an environment containing your typing stubs.

Typenull or string

Default

"${tools.mypy}/bin/mypy"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nbstripout#

nbstripout hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nbstripout.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.nil#

nil hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nil.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.nil.settings.denyWarnings#

Treat warnings like errors and exit with non-zero code

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nixf-diagnose#

nixf-diagnose hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nixf-diagnose.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.nixfmt#

nixfmt hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nixfmt-classic#

nixfmt (classic) hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nixfmt-classic.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.nixfmt-classic.settings.width#

Line width.

Typenull or signed integer

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nixfmt-rfc-style#

nixfmt (RFC 166 style) hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nixfmt-rfc-style.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.nixfmt-rfc-style.settings.indent#

Number of spaces to use for indentation.

Typenull or signed integer

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nixfmt-rfc-style.settings.width#

Maximum width in characters.

Typenull or signed integer

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nixfmt.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.nixfmt.settings.indent#

Number of spaces to use for indentation.

Typenull or signed integer

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.nixfmt.settings.width#

Maximum width in characters.

Typenull or signed integer

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.no-commit-to-branch#

no-commit-to-branch-hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.no-commit-to-branch.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.no-commit-to-branch.settings.branch#

Branches to disallow commits to.

Typelist of string

Default

[
  "main"
]

Example

[
  "main"
  "master"
]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.no-commit-to-branch.settings.pattern#

RegEx patterns for branch names to disallow commits to.

Typelist of string

Default[ ]

Example

[
  "ma.*"
]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.ormolu#

ormolu hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.ormolu.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.ormolu.settings.cabalDefaultExtensions#

Use default-extensions from .cabal files.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.ormolu.settings.defaultExtensions#

Haskell language extensions to enable.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.php-cs-fixer#

php-cs-fixer hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.php-cs-fixer.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.php-cs-fixer.settings.binPath#

PHP-CS-Fixer binary path.

Typenull or string

Default

"${tools.php-cs-fixer}/bin/php-cs-fixer"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.phpcbf#

phpcbf hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.phpcbf.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.phpcbf.settings.binPath#

PHP_CodeSniffer binary path.

Typenull or string

Default

"${tools.phpcbf}/bin/phpcbf"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.phpcs#

phpcs hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.phpcs.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.phpcs.settings.binPath#

PHP_CodeSniffer binary path.

Typenull or string

Default

"${tools.phpcs}/bin/phpcs"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.phpstan#

phpstan hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.phpstan.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.phpstan.settings.binPath#

PHPStan binary path.

Typenull or string

Default

"${tools.phpstan}/bin/phpstan"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier#

prettier hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.prettier.settings.allow-parens#

Include parentheses around a sole arrow function parameter.

Typeone of "always", "avoid"

Default"always"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.binPath#

prettier binary path. For example, if you want to use the prettier binary from node_modules, use "./node_modules/.bin/prettier". Use a string instead of a path to avoid having to Git track the file in projects that use Nix flakes.

Typenull or string or absolute path

Default

"${tools.prettier}/bin/prettier"

Example

"./node_modules/.bin/prettier"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.bracket-same-line#

Put > of opening tags on the last line instead of on a new line.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.cache#

Only format changed files.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.cache-location#

Path to the cache file location used by --cache flag.

Typestring

Default"./node_modules/.cache/prettier/.prettier-cache"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.cache-strategy#

Strategy for the cache to use for detecting changed files.

Typenull or one of "metadata", "content"

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.check#

Output a human-friendly message and a list of unformatted files, if any.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.color#

Colorize error messages.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.config-precedence#

Defines how config file should be evaluated in combination of CLI options.

Typeone of "cli-override", "file-override", "prefer-file"

Default"cli-override"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.configPath#

Path to a Prettier configuration file (.prettierrc, package.json, prettier.config.js).

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.embedded-language-formatting#

Control how Prettier formats quoted code embedded in the file.

Typeone of "auto", "off"

Default"auto"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.end-of-line#

Which end of line characters to apply.

Typeone of "lf", "crlf", "cr", "auto"

Default"lf"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.html-whitespace-sensitivity#

How to handle whitespaces in HTML.

Typeone of "css", "strict", "ignore"

Default"css"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.ignore-path#

Path to a file containing patterns that describe files to ignore. By default, prettier looks for ./.gitignore and ./.prettierignore. Multiple values are accepted.

Typelist of (string or absolute path)

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.ignore-unknown#

Ignore unknown files.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.insert-pragma#

Insert @format pragma into file’s first docblock comment.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.jsx-single-quote#

Use single quotes in JSX.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.list-different#

Print the filenames of files that are different from Prettier formatting.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.log-level#

What level of logs to report.

Typeone of "silent", "error", "warn", "log", "debug"

Default"log"

Example"debug"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.no-bracket-spacing#

Do not print spaces between brackets.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.no-config#

Do not look for a configuration file.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.no-editorconfig#

Don’t take .editorconfig into account when parsing configuration.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.no-error-on-unmatched-pattern#

Prevent errors when pattern is unmatched.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.no-semi#

Do not print semicolons, except at the beginning of lines which may need them.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.parser#

Which parser to use.

Typeone of "", "flow", "babel", "babel-flow", "babel-ts", "typescript", "acorn", "espree", "meriyah", "css", "less", "scss", "json", "json5", "json-stringify", "graphql", "markdown", "mdx", "vue", "yaml", "glimmer", "html", "angular", "lwc"

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.plugins#

Add plugins from paths.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.print-width#

Line length that the printer will wrap on.

Typesigned integer

Default80

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.prose-wrap#

When to or if at all hard wrap prose to print width.

Typeone of "always", "never", "preserve"

Default"preserve"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.quote-props#

Change when properties in objects are quoted.

Typeone of "as-needed", "consistent", "preserve"

Default"as-needed"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.require-pragma#

Require either ‘@prettier’ or ‘@format’ to be present in the file’s first docblock comment.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.single-attribute-per-line#

Enforce single attribute per line in HTML, Vue andJSX.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.single-quote#

Number of spaces per indentation-level.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.tab-width#

Line length that the printer will wrap on.

Typesigned integer

Default2

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.trailing-comma#

Print trailing commas wherever possible in multi-line comma-separated syntactic structures.

Typeone of "all", "es5", "none"

Default"all"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.use-tabs#

Indent with tabs instead of spaces.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.vue-indent-script-and-style#

Indent script and style tags in Vue files.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.with-node-modules#

Process files inside ‘node_modules’ directory.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.prettier.settings.write#

Edit files in-place.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pretty-format-json#

pretty-format-json hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pretty-format-json.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.pretty-format-json.settings.autofix#

Automatically format JSON files.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pretty-format-json.settings.indent#

Control the indentation (either a number for a number of spaces or a string of whitespace). Defaults to 2 spaces.

Typenull or signed integer or string

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pretty-format-json.settings.no-ensure-ascii#

Preserve unicode characters instead of converting to escape sequences.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pretty-format-json.settings.no-sort-keys#

When autofixing, retain the original key ordering (instead of sorting the keys).

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pretty-format-json.settings.top-keys#

Keys to keep at the top of mappings.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.proselint#

proselint hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.proselint.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.proselint.settings.config#

Multiline-string configuration passed as config file.

Typestring

Default""

Example

''
  {
    "checks": {
      "typography.diacritical_marks": false
    }
  }
''

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.proselint.settings.configPath#

Path to the config file.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.proselint.settings.flags#

Flags passed to proselint.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.psalm#

psalm hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.psalm.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.psalm.settings.binPath#

Psalm binary path.

Typenull or string

Default

"${tools.psalm}/bin/psalm"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pylint#

pylint hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pylint.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.pylint.settings.binPath#

Pylint binary path. Should be used to specify Pylint binary from your Python environment.

Typenull or string

Default

"${tools.pylint}/bin/pylint"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pylint.settings.reports#

Whether to display a full report.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pylint.settings.score#

Whether to activate the evaluation score.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pyright#

pyright hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pyright.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.pyright.settings.binPath#

Pyright binary path. Should be used to specify the pyright executable in an environment containing your typing stubs.

Typenull or string

Default

"${tools.pyright}/bin/pyright"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pyupgrade#

pyupgrade hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.pyupgrade.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.pyupgrade.settings.binPath#

pyupgrade binary path. Should be used to specify the pyupgrade binary from your Python environment.

Typenull or string

Default

"${tools.pyupgrade}/bin/pyupgrade"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.regal#

regal hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.regal.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.regal.settings.flags#

Flags passed to regal. For available options run ‘regal lint –help’

Typestring

Default""

Example"--disable-category style"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.reuse#

reuse hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.reuse.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.reuse.settings.flags#

Flags passed to reuse. For available options run ‘reuse lint –help’

Typestring

Default""

Example"--json"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.revive#

revive hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.revive.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.revive.settings.configPath#

Path to the configuration TOML file.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.ripsecrets#

ripsecrets hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.ripsecrets.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.ripsecrets.settings.additionalPatterns#

Additional regex patterns used to find secrets. If there is a matching group in the regex the matched group will be tested for randomness before being reported as a secret.

Typelist of string

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rumdl#

rumdl hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rumdl.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.rumdl.settings.configuration#

See https://github.com/rvben/rumdl?tab=readme-ov-file#configuration

Typeattribute set

Default{ }

Example

{
  configuration = {
    MD013 = {
      line-length = 100;
    };
  };
}

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt#

Additional rustfmt settings

Override the rustfmt and cargo packages by setting hooks.rustfmt.packageOverrides.

hooks.rustfmt.packageOverrides.cargo = pkgs.cargo;
hooks.rustfmt.packageOverrides.rustfmt = pkgs.rustfmt;

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.rustfmt.packageOverrides.cargo#

The cargo package to use.

Typepackage

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.packageOverrides.rustfmt#

The rustfmt package to use.

Typepackage

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.all#

Format all packages, and also their local path-based dependencies

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.check#

Run rustfmt in check mode

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.color#

Coloring the output

Typeone of "auto", "always", "never"

Default"always"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.config#

Override configuration values

Typeattribute set

Default{ }

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.config-path#

Path to rustfmt.toml config file

Typenull or string

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.emit#

What data to emit and how

Typenull or one of "files", "stdout"

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.files-with-diff#

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.manifest-path#

Path to Cargo.toml

Typenull or string

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.message-format#

The output format of diagnostic messages

Typenull or one of "human", "short"

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.package#

Package(s) to check

Typelist of string matching the pattern [][*?!0-9A-Za-z_-]+

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.rustfmt.settings.verbose#

Use verbose output

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.shfmt#

shfmt hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.shfmt.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.shfmt.settings.binary-next-line#

Binary ops like && and | may start a line.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.shfmt.settings.case-indent#

Switch cases will be indented.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.shfmt.settings.func-next-line#

Function opening braces are placed on a separate line.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.shfmt.settings.indent#

0 for tabs, >0 for number of spaces.

Typenull or signed integer or string

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.shfmt.settings.keep-padding#

Keep column alignment paddings.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.shfmt.settings.language-dialect#

Shell language dialect.

Typenull or one of "auto", "bash", "posix", "mksh", "bats"

Default"auto"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.shfmt.settings.simplify#

Simplify the code.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.shfmt.settings.space-redirects#

Redirect operators will be followed by a space.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.sort-file-contents#

sort-file-contents-hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.sort-file-contents.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.sort-file-contents.settings.ignore-case#

Fold lower case to upper case characters.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.sort-file-contents.settings.unique#

Ensure each line is unique.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.statix#

statix hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.statix.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.statix.settings.config#

Path to statix.toml or its parent directory.

Typenull or string

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.statix.settings.format#

Error Output format.

Typeone of "stderr", "errfmt", "json"

Default"errfmt"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.statix.settings.ignore#

Globs of file patterns to skip.

Typenull or (list of string)

Defaultnull

Example

[
  "flake.nix"
  "_*"
]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.statix.settings.unrestricted#

Don’t respect .gitignore files.

Typeboolean

Defaultfalse

Exampletrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.treefmt#

Treefmt hook.

Include any additional formatters configured by treefmt as hooks.treefmt.settings.formatters.

hooks.treefmt.settings.formatters = [
  pkgs.nixpkgs-fmt
  pkgs.black
];

Override treefmt itself by setting hooks.treefmt.packageOverrides.treefmt.

hooks.treefmt.packageOverrides.treefmt = pkgs.treefmt;

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.treefmt.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.treefmt.packageOverrides.treefmt#

The treefmt package to use

Typepackage

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.treefmt.settings.fail-on-change#

Fail if some files require re-formatting.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.treefmt.settings.formatters#

The formatter packages configured by treefmt

Typelist of package

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.treefmt.settings.no-cache#

Ignore the evaluation cache entirely.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos#

typos hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.typos.settings.binary#

Whether to search binary files.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.color#

When to use generate output.

Typeone of "auto", "always", "never"

Default"auto"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.config#

Configuration as in https://github.com/crate-ci/typos/blob/master/docs/reference.md.

TypeTOML value

Default{ }

Example

{
  default = {
    binary = false;
  };
  files = {
    ignore-dot = true;
  };
  type = {
    py = {
      extend-glob = [ ];
    };
  };
}

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.configPath#

Path to a custom config file. Ignored if typos.settings.config is set.

Typestring

Default""

Example".typos.toml"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.diff#

Print a diff of what would change.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.exclude#

Ignore files and directories matching one of the globs.

Type(list of string) or string convertible to it

Default[ ]

Example

[
  "*.nix"
]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.force-exclude#

Respect excluded files even for paths passed explicitly.

Typeboolean

Defaulttrue

Examplefalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.format#

Output format to use.

Typeone of "silent", "brief", "long", "json"

Default"long"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.hidden#

Search hidden files and directories.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.ignored-words#

Spellings and words to ignore.

Typelist of string

Default[ ]

Example

[
  "MQTT"
  "mosquitto"
]

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.locale#

Which language to use for spell checking.

Typeone of "en", "en-us", "en-gb", "en-ca", "en-au"

Default"en"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.no-check-filenames#

Skip verifying spelling in file names.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.no-check-files#

Skip verifying spelling in files.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.no-unicode#

Only allow ASCII characters in identifiers.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.quiet#

Less output per occurrence.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.verbose#

More output per occurrence.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.typos.settings.write#

Fix spelling in files by writing them. Cannot be used with typos.settings.diff.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.uv-export#

uv export hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.uv-export.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.uv-export.settings.flags#

Flags passed to uv export

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.uv-export.settings.format#

Output format of the project’s lockfile.

Typeone of "requirements.txt", "pylock.toml"

Default"pylock.toml"

Example"requirements.txt"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.uv-export.settings.locked#

Assert that the uv.lock will remain unchanged. Requires that the lockfile is up-to-date. If the lockfile is missing or needs to be updated, uv will exit with an error.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.vale#

vale hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.vale.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.vale.settings.configPath#

Path to the config file.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.vale.settings.configuration#

Multiline-string configuration passed as config file.

Typestring

Default""

Example

''
  MinAlertLevel = suggestion
  [*]
  BasedOnStyles = Vale
''

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.vale.settings.flags#

Flags passed to vale.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.woodpecker-cli-lint#

woodpecker-cli lint hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.woodpecker-cli-lint.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.woodpecker-cli-lint.settings.pluginsPrivileged#

List of plugins, allowed to run in privileged mode

Typestrings concatenated with ","

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.woodpecker-cli-lint.settings.pluginsTrustedClone#

List of plugins, that are trusted to handle Git credentials in cloning steps. If not set, the program defaults to “docker.io/woodpeckerci/plugin-git:2.6.3,docker.io/woodpeckerci/plugin-git,quay.io/woodpeckerci/plugin-git”.

Typestrings concatenated with ","

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.woodpecker-cli-lint.settings.strict#

Whether to treat warnings as errors.

Typeboolean

Defaultfalse

Exampletrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.woodpecker-cli-lint.settings.workflowPath#

Path to the workflow config file/directory. If not set, the program looks for .woodpecker.ya?ml file or .woodpecker directory.

Typestring

Default""

Example".woodpecker.yml"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.yamlfmt#

yamlfmt hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.yamlfmt.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.yamlfmt.settings.configPath#

Path to a custom configuration file.

Typestring

Default""

Example".yamlfmt"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.yamlfmt.settings.lint-only#

Only lint the files, do not format them in place.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.yamllint#

yamllint hook

Typesubmodule

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.yamllint.enable#

Whether to enable this pre-commit hook.

Typeboolean

Defaultfalse

Declared ingit-hooks.nix/blob/master/modules/hook.nix

git-hooks.hooks.yamllint.settings.configData#

Serialized YAML object describing the configuration.

Typestring

Default""

Example"{extends: relaxed, rules: {line-length: {max: 120}}}"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.yamllint.settings.configPath#

Path to a custom configuration file.

Typestring

Default""

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.yamllint.settings.configuration#

Multiline-string configuration passed as config file. If set, configuration file set in yamllint.settings.configPath gets ignored.

Typestring

Default""

Example

''
  ---
  
  extends: relaxed
  
  rules:
    indentation: enable
''

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.yamllint.settings.format#

Format for parsing output.

Typeone of "parsable", "standard", "colored", "github", "auto"

Default"auto"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.yamllint.settings.preset#

The configuration preset to use.

Typeone of "default", "relaxed"

Default"default"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.hooks.yamllint.settings.strict#

Return non-zero exit code on warnings as well as errors.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.install.enable#

Whether to enable automatic installation of pre-commit hooks.

When set to false, hooks will not be installed into the git repository, but all other module functionality (like configuration generation) will still work.

Typeboolean

Defaulttrue

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.installStages#

The stages to install the hooks to.

Typelist of (string or anything)

Default[ ]

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.installationScript#

A bash snippet that installs the git hooks in the current repository.

Typestring

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.package#

The pre-commit package to use.

Typepackage

Defaultpkgs.pre-commit

Examplepkgs.prek

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.rootSrc#

The source of the project to be checked.

This is used in the derivation that performs the check.

If you use the flakeModule, the default is self.outPath; the whole flake sources.

Typeabsolute path

DefaultgitignoreSource config.src

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.run#

A derivation that tests whether the pre-commit hooks run cleanly on the entire project.

Typepackage

Default<derivation>

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.settings.rust.cargoManifestPath#

Path to Cargo.toml

Typenull or string

Defaultnull

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.settings.rust.check.cargoDeps#

Cargo dependencies needed to run the checks.

Typenull or (attribute set)

Defaultnull

Example"pkgs.rustPlatform.importCargoLock { lockFile = ./Cargo.lock; }"

Declared ingit-hooks.nix/blob/master/modules/hooks.nix

git-hooks.shellHook#

A shell hook that sets up the git hooks in a development shell.

Pass to mkShell as shellHook to use.

Typestring

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.src#

Root of the project. By default this will be filtered with the gitignoreSource function later, unless rootSrc is specified.

If you use the flakeModule, the default is self.outPath; the whole flake sources.

Typeabsolute path

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

git-hooks.tools#

Tool set from which nix-pre-commit-hooks will pick binaries.

nix-pre-commit-hooks comes with its own set of packages for this purpose.

Typelazy attribute set of (null or package)

Default

git-hooks.nix-pkgs.callPackage tools-dot-nix { inherit (pkgs) system; }

Declared ingit-hooks.nix/blob/master/modules/pre-commit.nix

hosts

hosts#

List of hosts entries.

Typeattribute set of (string or list of string)

Default{ }

Example

{
  "another-example.com" = [
    "::1"
    "127.0.0.1"
  ];
  "example.com" = "127.0.0.1";
}

Declared indevenv/blob/main/src/modules/integrations/hostctl.nix

hostsProfileName

hostsProfileName#

Profile name to use.

Typestring

Default"devenv-\<hash\>"

Declared indevenv/blob/main/src/modules/integrations/hostctl.nix

infoSections

infoSections#

Information about the environment

Typeattribute set of list of string

Default{ }

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

inputsFrom

inputsFrom#

A list of derivations whose build inputs will be merged into the shell environment.

Typelist of package

Default[ ]

Example

[
  pkgs.hello
  (pkgs.python3.withPackages (ps: [ ps.numpy ps.pandas ]))
]

Declared indevenv/blob/main/src/modules/top-level.nix

integrations

integrations.gitnr#

Declarative generation of ignore files using gitnr templates.

Typeattribute set of (submodule)

Default{ }

Example

{
  ".gitignore" = {
    enableDefaultTemplates = true;
    templates = [ "tt:go" "tt:node" ];
    content = [
      "*.env"
    ];
  };
}

Declared indevenv/blob/main/src/modules/integrations/gitnr.nix

integrations.gitnr.\<name\>.content#

Additional patterns to append to the generated ignore file. These patterns will be added after the templates are processed.

Typelist of string

Default[ ]

Example

[
  "*.log"
  "dist/"
]

Declared indevenv/blob/main/src/modules/integrations/gitnr.nix

integrations.gitnr.\<name\>.enableDefaultTemplates#

Prepend a sensible default set of TopTal templates.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/integrations/gitnr.nix

integrations.gitnr.\<name\>.package#

The gitnr package to use for generating templates.

Typepackage

Defaultpkgs.gitnr

Declared indevenv/blob/main/src/modules/integrations/gitnr.nix

integrations.gitnr.\<name\>.templates#

List of templates to include in the ignore file.

Template strings are passed directly to gitnr create.

Typelist of string

Default[ ]

Example

[
  "tt:linux"
  "tt:macos"
  "tt:windows"
]

Declared indevenv/blob/main/src/modules/integrations/gitnr.nix

keyFile

keyFile#

Custom key file name, uses mkcert default if unset

Typenull or string

Defaultnull

Example"mykey.pem"

Declared indevenv/blob/main/src/modules/integrations/mkcert.nix

languages

languages.ansible.enable#

Whether to enable tools for Ansible development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/ansible.nix

languages.ansible.lsp.enable#

Whether to enable Ansible Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/ansible.nix

languages.ansible.lsp.package#

The Ansible language server package to use.

Typenull or package

Defaultpkgs.ansible-language-server

Declared indevenv/blob/main/src/modules/languages/ansible.nix

languages.ansible.package#

The Ansible package to use.

Typepackage

Defaultpkgs.ansible

Declared indevenv/blob/main/src/modules/languages/ansible.nix

languages.c.debugger#

An optional debugger package to use with c. The default is lldb on macOS, gdb on Linux (if supported), or null otherwise.

Typenull or package

Defaultpkgs.gdb

Declared indevenv/blob/main/src/modules/languages/c.nix

languages.c.enable#

Whether to enable tools for C development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/c.nix

languages.c.lsp.enable#

Whether to enable C Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/c.nix

languages.c.lsp.package#

The C language server package to use.

Typepackage

Defaultpkgs.ccls

Declared indevenv/blob/main/src/modules/languages/c.nix

languages.clojure.enable#

Whether to enable tools for Clojure development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/clojure.nix

languages.clojure.lsp.enable#

Whether to enable Clojure Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/clojure.nix

languages.clojure.lsp.package#

The Clojure language server package to use.

Typepackage

Defaultpkgs.clojure-lsp

Declared indevenv/blob/main/src/modules/languages/clojure.nix

languages.cplusplus.enable#

Whether to enable tools for C++ development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/cplusplus.nix

languages.cplusplus.lsp.enable#

Whether to enable C++ Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/cplusplus.nix

languages.cplusplus.lsp.package#

The C++ language server package to use.

Typepackage

Defaultpkgs.ccls

Declared indevenv/blob/main/src/modules/languages/cplusplus.nix

languages.crystal.enable#

Whether to enable Enable tools for Crystal development..

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/crystal.nix

languages.crystal.lsp.enable#

Whether to enable Crystal Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/crystal.nix

languages.crystal.lsp.package#

The Crystal language server package to use.

Typepackage

Defaultpkgs.crystalline

Declared indevenv/blob/main/src/modules/languages/crystal.nix

languages.crystal.package#

The Crystal package to use.

Typepackage

Defaultpkgs.crystal

Declared indevenv/blob/main/src/modules/languages/crystal.nix

languages.crystal.shards#

Configuration for shards

Typesubmodule

Default{ }

Declared indevenv/blob/main/src/modules/languages/crystal.nix

languages.crystal.shards.package#

The Shards package to use.

Typepackage

Defaultpkgs.shards

Declared indevenv/blob/main/src/modules/languages/crystal.nix

languages.cue.enable#

Whether to enable tools for Cue development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/cue.nix

languages.cue.lsp.enable#

Whether to enable CUE Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/cue.nix

languages.cue.lsp.package#

The CUE language server package to use.

Typepackage

Defaultpkgs.cuelsp

Declared indevenv/blob/main/src/modules/languages/cue.nix

languages.cue.package#

The CUE package to use.

Typepackage

Defaultpkgs.cue

Declared indevenv/blob/main/src/modules/languages/cue.nix

languages.dart.enable#

Whether to enable tools for Dart development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/dart.nix

languages.dart.package#

The Dart package to use.

Typepackage

Defaultpkgs.dart

Declared indevenv/blob/main/src/modules/languages/dart.nix

languages.deno.enable#

Whether to enable tools for Deno development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/deno.nix

languages.deno.package#

Which package of Deno to use.

Typepackage

Defaultpkgs.deno

Declared indevenv/blob/main/src/modules/languages/deno.nix

languages.dotnet.enable#

Whether to enable tools for .NET development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/dotnet.nix

languages.dotnet.lsp.enable#

Whether to enable .NET Language Server.

Typeboolean

Default`true` if csharp-ls is available on the host platform, `false` otherwise

Exampletrue

Declared indevenv/blob/main/src/modules/languages/dotnet.nix

languages.dotnet.lsp.package#

The .NET language server package to use.

Typepackage

Defaultpkgs.csharp-ls

Declared indevenv/blob/main/src/modules/languages/dotnet.nix

languages.dotnet.package#

The .NET SDK package to use.

Typepackage

Defaultpkgs.dotnet-sdk

Declared indevenv/blob/main/src/modules/languages/dotnet.nix

languages.elixir.enable#

Whether to enable tools for Elixir development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/elixir.nix

languages.elixir.lsp.enable#

Whether to enable Elixir Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/elixir.nix

languages.elixir.lsp.package#

The Elixir language server package to use.

Typepackage

Defaultpkgs.beamPackages.elixir-ls

Declared indevenv/blob/main/src/modules/languages/elixir.nix

languages.elixir.package#

Which Elixir package to use.

Typepackage

Defaultpkgs.beamPackages.elixir

Declared indevenv/blob/main/src/modules/languages/elixir.nix

languages.elm.enable#

Whether to enable tools for Elm development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/elm.nix

languages.elm.lsp.enable#

Whether to enable Elm Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/elm.nix

languages.elm.lsp.package#

The Elm language server package to use.

Typepackage

Defaultpkgs.elmPackages.elm-language-server

Declared indevenv/blob/main/src/modules/languages/elm.nix

languages.erlang.enable#

Whether to enable tools for Erlang development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/erlang.nix

languages.erlang.lsp.enable#

Whether to enable Erlang Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/erlang.nix

languages.erlang.lsp.package#

The Erlang language server package to use.

Typepackage

Defaultpkgs.erlang-language-platform

Declared indevenv/blob/main/src/modules/languages/erlang.nix

languages.erlang.package#

Which Erlang package to use.

Typepackage

Defaultpkgs.beamPackages.erlang

Declared indevenv/blob/main/src/modules/languages/erlang.nix

languages.fortran.enable#

Whether to enable tools for Fortran Development..

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/fortran.nix

languages.fortran.lsp.enable#

Whether to enable Fortran Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/fortran.nix

languages.fortran.lsp.package#

The Fortran language server package to use.

Typepackage

Defaultpkgs.fortls

Declared indevenv/blob/main/src/modules/languages/fortran.nix

languages.fortran.package#

The Fortran package to use.

Typepackage

Defaultpkgs.gfortran

Declared indevenv/blob/main/src/modules/languages/fortran.nix

languages.gawk.enable#

Whether to enable tools for GNU Awk development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/gawk.nix

languages.gleam.enable#

Whether to enable tools for Gleam development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/gleam.nix

languages.gleam.package#

The Gleam package to use.

Typepackage

Defaultpkgs.gleam

Declared indevenv/blob/main/src/modules/languages/gleam.nix

languages.go.delve.enable#

Whether to enable Delve debugger.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/go.nix

languages.go.delve.package#

The Delve package to use. Override this to customize the build, e.g. to disable tests.

Typepackage

Defaultpkgs.delve

Declared indevenv/blob/main/src/modules/languages/go.nix

languages.go.enable#

Whether to enable tools for Go development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/go.nix

languages.go.enableHardeningWorkaround#

Enable hardening workaround required for Delve debugger (https://github.com/go-delve/delve/issues/3085)

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/languages/go.nix

languages.go.lsp.enable#

Whether to enable Go Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/go.nix

languages.go.lsp.package#

The Go language server package to use.

Typepackage

Defaultpkgs.gopls

Declared indevenv/blob/main/src/modules/languages/go.nix

languages.go.package#

The Go package to use.

Typepackage

Defaultpkgs.go

Declared indevenv/blob/main/src/modules/languages/go.nix

languages.go.version#

The Go version to use. This automatically sets the languages.go.package using go-overlay.

Typenull or string

Defaultnull

Example"1.22.0"

Declared indevenv/blob/main/src/modules/languages/go.nix

languages.hare.enable#

Whether to enable tools for Hare development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/hare.nix

languages.haskell.cabal.enable#

Whether to enable Cabal.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/haskell.nix

languages.haskell.cabal.package#

Cabal package to use.

Typepackage

Defaultpkgs.cabal-install

Declared indevenv/blob/main/src/modules/languages/haskell.nix

languages.haskell.enable#

Whether to enable tools for Haskell development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/haskell.nix

languages.haskell.lsp.enable#

Whether to enable Haskell Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/haskell.nix

languages.haskell.lsp.package#

The Haskell language server package to use.

Typepackage

Defaultpkgs.haskell-language-server

Declared indevenv/blob/main/src/modules/languages/haskell.nix

languages.haskell.package#

Haskell compiler to use.

Typepackage

Defaultpkgs.ghc

Declared indevenv/blob/main/src/modules/languages/haskell.nix

languages.haskell.stack.args#

Additional arguments to pass to stack. By default, stack is configured to use devenv’s GHC installation.

Typelist of string

Default[ "--no-nix" "--system-ghc" "--no-install-ghc" ]

Declared indevenv/blob/main/src/modules/languages/haskell.nix

languages.haskell.stack.enable#

Whether to enable Stack.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/haskell.nix

languages.haskell.stack.package#

Haskell stack package to use.

Typepackage

Defaultpkgs.stack

Declared indevenv/blob/main/src/modules/languages/haskell.nix

languages.helm.enable#

Whether to enable tools for Helm development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/helm.nix

languages.helm.lsp.enable#

Whether to enable Helm Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/helm.nix

languages.helm.lsp.package#

The Helm language server package to use.

Typepackage

Defaultpkgs.helm-ls

Declared indevenv/blob/main/src/modules/languages/helm.nix

languages.helm.package#

The Helm package to use.

Typepackage

Defaultpkgs.kubernetes-helm

Declared indevenv/blob/main/src/modules/languages/helm.nix

languages.helm.plugins#

List of Helm plugin names to include from pkgs.kubernetes-helmPlugins.

They will be symlinked into one directory and exposed via HELM_PLUGINS.

Typelist of string

Default[ ]

Example

[
  "helm-secrets"
  "helm-diff"
  "helm-unittest"
]

Declared indevenv/blob/main/src/modules/languages/helm.nix

languages.idris.enable#

Whether to enable tools for Idris development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/idris.nix

languages.idris.lsp.enable#

Whether to enable Idris Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/idris.nix

languages.idris.lsp.package#

The Idris language server package to use.

Typepackage

Defaultpkgs.idris2Packages.idris2Lsp

Declared indevenv/blob/main/src/modules/languages/idris.nix

languages.idris.package#

The Idris package to use.

Typepackage

Defaultpkgs.idris2

Examplepkgs.idris

Declared indevenv/blob/main/src/modules/languages/idris.nix

languages.java.enable#

Whether to enable tools for Java development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/java.nix

languages.java.gradle.enable#

Whether to enable gradle.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/java.nix

languages.java.gradle.package#

The Gradle package to use. The Gradle package by default inherits the JDK from languages.java.jdk.package.

Typepackage

Defaultpkgs.gradle.override { java = cfg.jdk.package; }

Declared indevenv/blob/main/src/modules/languages/java.nix

languages.java.jdk.package#

The JDK package to use. This will also become available as JAVA_HOME.

Typepackage

Defaultpkgs.jdk

Examplepkgs.jdk8

Declared indevenv/blob/main/src/modules/languages/java.nix

languages.java.lsp.enable#

Whether to enable Java Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/java.nix

languages.java.lsp.package#

The Java language server package to use. The Java language server package by default inherits the JDK from languages.java.jdk.package.

Typepackage

Defaultpkgs.jdt-language-server.override { jdk = cfg.jdk.package; }

Declared indevenv/blob/main/src/modules/languages/java.nix

languages.java.maven.enable#

Whether to enable maven.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/java.nix

languages.java.maven.package#

The Maven package to use. The Maven package by default inherits the JDK from languages.java.jdk.package.

Typepackage

Defaultpkgs.maven.override { jdk_headless = cfg.jdk.package; }

Declared indevenv/blob/main/src/modules/languages/java.nix

languages.javascript.bun.enable#

Whether to enable install bun.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.bun.install.enable#

Whether to enable bun install during devenv initialisation.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.bun.package#

The bun package to use.

Typepackage

Defaultpkgs.bun

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.corepack.enable#

Whether to enable wrappers for npm, pnpm and Yarn via Node.js Corepack.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.directory#

The JavaScript project’s root directory. Defaults to the root of the devenv project. Can be an absolute path or one relative to the root of the devenv project.

Typestring

Defaultconfig.devenv.root

Example"./directory"

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.enable#

Whether to enable tools for JavaScript development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.lsp.enable#

Whether to enable TypeScript Language Server for JavaScript.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.lsp.package#

The TypeScript/JavaScript language server package to use.

Typepackage

Defaultpkgs.typescript-language-server

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.nodejs.enable#

Whether to enable Node.js runtime.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.npm.enable#

Whether to enable install npm.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.npm.install.enable#

Whether to enable npm install during devenv initialisation.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.npm.package#

The npm package to use. Defaults to the npm output of the javascript package.

Typepackage

Defaultlanguages.javascript.package

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.package#

The Node.js package to use.

Typepackage

Defaultpkgs.nodejs-slim

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.pnpm.enable#

Whether to enable install pnpm.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.pnpm.install.enable#

Whether to enable pnpm install during devenv initialisation.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.pnpm.package#

The pnpm package to use.

Typepackage

Defaultpkgs.pnpm

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.yarn.enable#

Whether to enable install yarn.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.yarn.install.enable#

Whether to enable yarn install during devenv initialisation.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.javascript.yarn.package#

The yarn package to use.

Typepackage

Defaultpkgs.yarn

Declared indevenv/blob/main/src/modules/languages/javascript.nix

languages.jsonnet.enable#

Whether to enable tools for jsonnet development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/jsonnet.nix

languages.jsonnet.lsp.enable#

Whether to enable Jsonnet Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/jsonnet.nix

languages.jsonnet.lsp.package#

The Jsonnet language server package to use.

Typepackage

Defaultpkgs.jsonnet-language-server

Declared indevenv/blob/main/src/modules/languages/jsonnet.nix

languages.julia.enable#

Whether to enable tools for Julia development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/julia.nix

languages.julia.package#

The Julia package to use.

Typepackage

Defaultpkgs.julia-bin

Declared indevenv/blob/main/src/modules/languages/julia.nix

languages.kotlin.enable#

Whether to enable tools for Kotlin development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/kotlin.nix

languages.kotlin.lsp.enable#

Whether to enable Kotlin Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/kotlin.nix

languages.kotlin.lsp.package#

The Kotlin language server package to use.

Typepackage

Defaultpkgs.kotlin-language-server

Declared indevenv/blob/main/src/modules/languages/kotlin.nix

languages.lean4.enable#

Whether to enable tools for lean4 development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/lean4.nix

languages.lean4.package#

The lean4 package to use.

Typepackage

Defaultpkgs.lean4

Declared indevenv/blob/main/src/modules/languages/lean4.nix

languages.lobster.enable#

Whether to enable tools for Lobster development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/lobster.nix

languages.lobster.package#

Which Lobster package to use.

Typepackage

Defaultpkgs.lobster

Declared indevenv/blob/main/src/modules/languages/lobster.nix

languages.lua.enable#

Whether to enable tools for Lua development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/lua.nix

languages.lua.lsp.enable#

Whether to enable Lua Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/lua.nix

languages.lua.lsp.package#

The Lua language server package to use.

Typepackage

Defaultpkgs.lua-language-server

Declared indevenv/blob/main/src/modules/languages/lua.nix

languages.lua.package#

The Lua package to use.

Typepackage

Defaultpkgs.lua

Declared indevenv/blob/main/src/modules/languages/lua.nix

languages.nim.enable#

Whether to enable tools for Nim development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/nim.nix

languages.nim.lsp.enable#

Whether to enable Nim Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/nim.nix

languages.nim.lsp.package#

The Nim language server package to use.

Typepackage

Defaultpkgs.nimlangserver

Declared indevenv/blob/main/src/modules/languages/nim.nix

languages.nim.package#

The Nim package to use.

Typepackage

Defaultpkgs.nim

Declared indevenv/blob/main/src/modules/languages/nim.nix

languages.nix.enable#

Whether to enable tools for Nix development.

Typeboolean

Defaultfalse

Exampletrue

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

languages.nix.lsp.enable#

Whether to enable Nix Language Server.

Typeboolean

Defaulttrue

Exampletrue

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

languages.nix.lsp.package#

The Nix language server package to use.

Typepackage

Defaultpkgs.nixd

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

languages.ocaml.enable#

Whether to enable tools for OCaml development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/ocaml.nix

languages.ocaml.lsp.enable#

Whether to enable OCaml Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/ocaml.nix

languages.ocaml.lsp.package#

The OCaml language server package to use.

Typepackage

Defaultpkgs.ocamlPackages.ocaml-lsp

Declared indevenv/blob/main/src/modules/languages/ocaml.nix

languages.ocaml.packages#

The package set of OCaml to use

Typeattribute set

Defaultpkgs.ocaml-ng.ocamlPackages_4_12

Declared indevenv/blob/main/src/modules/languages/ocaml.nix

languages.odin.debugger#

An optional debugger package to use with odin. The default is gdb, if supported on the current system.

Typenull or package

Defaultpkgs.gdb

Declared indevenv/blob/main/src/modules/languages/odin.nix

languages.odin.enable#

Whether to enable tools for Odin Language.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/odin.nix

languages.odin.lsp.enable#

Whether to enable Odin Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/odin.nix

languages.odin.lsp.package#

The Odin language server package to use.

Typepackage

Defaultpkgs.ols

Declared indevenv/blob/main/src/modules/languages/odin.nix

languages.odin.package#

The odin package to use.

Typepackage

Defaultpkgs.odin

Declared indevenv/blob/main/src/modules/languages/odin.nix

languages.opentofu.enable#

Whether to enable tools for OpenTofu development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/opentofu.nix

languages.opentofu.lsp.enable#

Whether to enable OpenTofu Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/opentofu.nix

languages.opentofu.lsp.package#

The OpenTofu language server package to use.

Typepackage

Defaultpkgs.terraform-ls

Declared indevenv/blob/main/src/modules/languages/opentofu.nix

languages.opentofu.package#

The OpenTofu package to use.

Typepackage

Defaultpkgs.opentofu

Declared indevenv/blob/main/src/modules/languages/opentofu.nix

languages.pascal.enable#

Whether to enable tools for Pascal development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/pascal.nix

languages.pascal.lazarus.enable#

Whether to enable lazarus graphical IDE for the FreePascal language.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/pascal.nix

languages.perl.enable#

Whether to enable tools for Perl development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/perl.nix

languages.perl.lsp.enable#

Whether to enable Perl Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/perl.nix

languages.perl.lsp.package#

The Perl language server package to use.

Typepackage

Defaultpkgs.perlnavigator

Declared indevenv/blob/main/src/modules/languages/perl.nix

languages.perl.packages#

Perl packages to include

Typelist of string

Default[ ]

Example

[
  "Mojolicious"
]

Declared indevenv/blob/main/src/modules/languages/perl.nix

languages.php.disableExtensions#

PHP extensions to disable.

Typelist of string

Default[ ]

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.enable#

Whether to enable tools for PHP development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.extensions#

PHP extensions to enable.

Typelist of string

Default[ ]

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.extraConfig#

Extra configuration that should be put in the global section of the PHP-FPM configuration file. Do not specify the options error_log or daemonize here, since they are generated by NixOS.

Typenull or strings concatenated with "\n"

Defaultnull

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.phpOptions#

Options appended to the PHP configuration file php.ini.

Typestrings concatenated with "\n"

Default""

Example

''
  date.timezone = "CET"
''

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.pools#

PHP-FPM pools. If no pools are defined, the PHP-FPM service is disabled.

Typeattribute set of (submodule)

Default{ }

Example

{
  mypool = {
    user = "php";
    group = "php";
    phpPackage = pkgs.php;
    settings = {
      "pm" = "dynamic";
      "pm.max_children" = 75;
      "pm.start_servers" = 10;
      "pm.min_spare_servers" = 5;
      "pm.max_spare_servers" = 20;
      "pm.max_requests" = 500;
    };
  }
}

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.pools.\<name\>.extraConfig#

Extra lines that go into the pool configuration. See the documentation on php-fpm.conf for details on configuration directives.

Typenull or strings concatenated with "\n"

Defaultnull

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.pools.\<name\>.listen#

The address on which to accept FastCGI requests.

Typestring

Default""

Example"/path/to/unix/socket"

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.pools.\<name\>.phpEnv#

Environment variables used for this PHP-FPM pool.

Typeattribute set of string

Default{ }

Example

{
  HOSTNAME = "$HOSTNAME";
  TMP = "/tmp";
  TMPDIR = "/tmp";
  TEMP = "/tmp";
}

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.pools.\<name\>.phpOptions#

Options appended to the PHP configuration file php.ini used for this PHP-FPM pool.

Typestrings concatenated with "\n"

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.pools.\<name\>.phpPackage#

The PHP package to use for running this PHP-FPM pool.

Typepackage

Defaultphpfpm.phpPackage

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.pools.\<name\>.settings#

PHP-FPM pool directives. Refer to the “List of pool directives” section of https://www.php.net/manual/en/install.fpm.configuration.php%22 the manual for details. Note that settings names must be enclosed in quotes (e.g. "pm.max_children" instead of pm.max_children).

Typeattribute set of (string or signed integer or boolean)

Default{ }

Example

{
  "pm" = "dynamic";
  "pm.max_children" = 75;
  "pm.start_servers" = 10;
  "pm.min_spare_servers" = 5;
  "pm.max_spare_servers" = 20;
  "pm.max_requests" = 500;
}

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.pools.\<name\>.socket#

Path to the Unix socket file on which to accept FastCGI requests.

This option is read-only and managed by NixOS.

Typestring

Exampleconfig.env.DEVENV_STATE + "/php-fpm/\<name\>.sock"

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.fpm.settings#

PHP-FPM global directives.

Refer to the “List of global php-fpm.conf directives” section of https://www.php.net/manual/en/install.fpm.configuration.php for details.

Note that settings names must be enclosed in quotes (e.g. "pm.max_children" instead of pm.max_children).

You need not specify the options error_log or daemonize here, since they are already set.

Typeattribute set of (string or signed integer or boolean)

Default

{
  error_log = config.env.DEVENV_STATE + "/php-fpm/php-fpm.log";
}

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.ini#

PHP.ini directives. Refer to the “List of php.ini directives” of PHP’s

Typenull or strings concatenated with "\n"

Default""

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.lsp.enable#

Whether to enable PHP Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.lsp.package#

The PHP language server package to use.

Typepackage

Defaultpkgs.phpactor

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.package#

Allows you to override the default used package to adjust the settings or add more extensions. You can find the extensions using devenv search 'php extensions'

Typepackage

Defaultpkgs.php

Example

pkgs.php.buildEnv {
  extensions = { all, enabled }: with all; enabled ++ [ xdebug ];
  extraConfig = ''
    memory_limit=1G
  '';
};

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.packages#

Attribute set of packages including composer

Typesubmodule

Defaultpkgs

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.packages.composer#

composer package

Typenull or package

Defaultpkgs.phpPackages.composer

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.php.version#

The PHP version to use.

Typestring

Default""

Declared indevenv/blob/main/src/modules/languages/php.nix

languages.pkl.enable#

Whether to enable tools for Pkl development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/pkl.nix

languages.pkl.lsp.enable#

Whether to enable Pkl Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/pkl.nix

languages.pkl.lsp.package#

The Pkl language server package to use.

Typepackage

Defaultpkgs.pkl-lsp

Declared indevenv/blob/main/src/modules/languages/pkl.nix

languages.pkl.package#

The Pkl package to use.

Typepackage

Defaultpkgs.pkl

Declared indevenv/blob/main/src/modules/languages/pkl.nix

languages.purescript.enable#

Whether to enable tools for PureScript development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/purescript.nix

languages.purescript.lsp.enable#

Whether to enable PureScript Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/purescript.nix

languages.purescript.lsp.package#

The PureScript language server package to use. Uses purescript-overlay by default.

Typepackage

Defaultpurescript-overlay.packages.${pkgs.stdenv.system}.purescript-language-server

Declared indevenv/blob/main/src/modules/languages/purescript.nix

languages.purescript.package#

The PureScript compiler package to use. Uses purescript-overlay by default.

Typepackage

Defaultpurescript-overlay.packages.${pkgs.stdenv.system}.purs

Declared indevenv/blob/main/src/modules/languages/purescript.nix

languages.purescript.spago.enable#

Whether to enable Spago package manager.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/purescript.nix

languages.purescript.spago.package#

The Spago package manager to use. Uses purescript-overlay by default.

Typepackage

Defaultpurescript-overlay.packages.${pkgs.stdenv.system}.spago

Declared indevenv/blob/main/src/modules/languages/purescript.nix

languages.python.directory#

The Python project’s root directory. Defaults to the root of the devenv project. Can be an absolute path or one relative to the root of the devenv project.

Typestring

Defaultconfig.devenv.root

Example"./directory"

Declared indevenv/blob/main/src/modules/languages/python

languages.python.enable#

Whether to enable tools for Python development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/python

languages.python.import#

Import a Python project using uv2nix.

This function takes a path to a directory containing a pyproject.toml file and returns a derivation that builds the Python project using uv2nix.

Example usage:

let
  mypackage = config.languages.python.import ./path/to/python/project {};
in {
  languages.python.enable = true;
  packages = [ mypackage ];
}

Typefunction that evaluates to a(n) function that evaluates to a(n) package

Declared indevenv/blob/main/src/modules/languages/python

languages.python.libraries#

Additional libraries to make available to the Python interpreter.

This is useful when you want to use Python wheels that depend on native libraries.

Typelist of absolute path

Default

[ "${config.devenv.dotfile}/profile" ]

Declared indevenv/blob/main/src/modules/languages/python

languages.python.lsp.enable#

Whether to enable Python Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/python

languages.python.lsp.package#

The Python language server package to use.

Typepackage

Defaultpkgs.pyright

Declared indevenv/blob/main/src/modules/languages/python

languages.python.manylinux.enable#

Whether to install manylinux2014 libraries.

Enabled by default on linux;

This is useful when you want to use Python wheels that depend on manylinux2014 libraries.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/languages/python

languages.python.package#

The Python package to use.

Typepackage

Defaultpkgs.python3

Declared indevenv/blob/main/src/modules/languages/python

languages.python.patches.buildEnv.enable#

Whether to apply fixes to Python’s buildEnv for correct runtime initialization:

  • Executables use --inherit-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.rustflags#

Extra flags to pass to the Rust compiler.

Typestring

Default""

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.targets#

List of extra targets to install. Defaults to only the native target.

Typelist of string

Default[ ]

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.toolchain#

Rust component packages. May optionally define additional components, for example miri.

Typeopen submodule of attribute set of package

Defaultnixpkgs

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.toolchain.cargo#

cargo package

Typenull or package

Defaultpkgs.cargo

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.toolchain.clippy#

clippy package

Typenull or package

Defaultpkgs.clippy

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.toolchain.rust-analyzer#

rust-analyzer package

Typenull or package

Defaultpkgs.rust-analyzer

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.toolchain.rustc#

rustc package

Typenull or package

Defaultpkgs.rustc

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.toolchain.rustfmt#

rustfmt package

Typenull or package

Defaultpkgs.rustfmt

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.toolchainFile#

Path to a rust-toolchain or rust-toolchain.toml file for automatic toolchain configuration.

When set, devenv will use rust-overlay’s fromRustupToolchainFile to automatically configure the toolchain based on the file contents (channel, components, targets, profile).

This follows the standard Rust toolchain file format documented at: https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file

Cannot be used together with manual channel or version configuration.

Example:

languages.rust.toolchainFile = ./rust-toolchain.toml;

Typenull or absolute path

Defaultnull

Example./rust-toolchain.toml

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.toolchainPackage#

The aggregated toolchain package, which includes the configured components and targets. This is automatically set based on the channel and components configuration.

Typepackage

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.version#

Which version of rust to use, this value could be latest,1.81.0, 2021-01-01. Only works when languages.rust.channel is NOT nixpkgs.

Typestring

Default"latest"

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.rust.wild.enable#

Use wild as the linker.

wild is a very fast linker for Linux.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/languages/rust.nix

languages.scala.enable#

Whether to enable tools for Scala development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/scala.nix

languages.scala.lsp.enable#

Whether to enable Scala Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/scala.nix

languages.scala.lsp.package#

The Scala language server package to use.

Typepackage

Defaultpkgs.metals

Declared indevenv/blob/main/src/modules/languages/scala.nix

languages.scala.mill.enable#

Whether to enable mill, a simplified, fast build tool for Scala.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/scala.nix

languages.scala.mill.package#

The mill package to use.

Typepackage

Defaultpkgs.mill

Declared indevenv/blob/main/src/modules/languages/scala.nix

languages.scala.package#

The Scala package to use.

Typepackage

Defaultpkgs.scala_3

Declared indevenv/blob/main/src/modules/languages/scala.nix

languages.scala.sbt.enable#

Whether to enable sbt, the standard build tool for Scala.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/scala.nix

languages.scala.sbt.package#

The sbt package to use.

Typepackage

Defaultpkgs.sbt

Examplesbt-with-scala-native

Declared indevenv/blob/main/src/modules/languages/scala.nix

languages.shell.enable#

Whether to enable tools for shell development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/shell.nix

languages.shell.lsp.enable#

Whether to enable Shell Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/shell.nix

languages.shell.lsp.package#

The Shell language server package to use.

Typepackage

Defaultpkgs.bash-language-server

Declared indevenv/blob/main/src/modules/languages/shell.nix

languages.solidity.enable#

Whether to enable tools for Solidity development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/solidity.nix

languages.solidity.foundry.enable#

Whether to enable install Foundry.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/solidity.nix

languages.solidity.foundry.package#

Which Foundry package to use.

Typepackage

Defaultfoundry.defaultPackage.$${pkgs.stdenv.system}

Declared indevenv/blob/main/src/modules/languages/solidity.nix

languages.solidity.package#

Which compiler of Solidity to use.

Typepackage

Defaultpkgs.solc

Declared indevenv/blob/main/src/modules/languages/solidity.nix

languages.standardml.enable#

Whether to enable tools for Standard ML development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/standardml.nix

languages.standardml.lsp.enable#

Whether to enable Standard ML Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/standardml.nix

languages.standardml.lsp.package#

The Standard ML language server package to use.

Typepackage

Defaultpkgs.millet

Declared indevenv/blob/main/src/modules/languages/standardml.nix

languages.standardml.package#

The Standard ML package to use.

Typepackage

Defaultpkgs.mlton

Declared indevenv/blob/main/src/modules/languages/standardml.nix

languages.swift.enable#

Whether to enable tools for Swift development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/swift.nix

languages.swift.lsp.enable#

Whether to enable Swift Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/swift.nix

languages.swift.lsp.package#

The Swift language server package to use.

Typepackage

Defaultpkgs.sourcekit-lsp

Declared indevenv/blob/main/src/modules/languages/swift.nix

languages.swift.package#

The Swift package to use.

Typepackage

Defaultpkgs.swift

Declared indevenv/blob/main/src/modules/languages/swift.nix

languages.terraform.enable#

Whether to enable tools for Terraform development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/terraform.nix

languages.terraform.lsp.enable#

Whether to enable Terraform Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/terraform.nix

languages.terraform.lsp.package#

The Terraform language server package to use.

Typepackage

Defaultpkgs.terraform-ls

Declared indevenv/blob/main/src/modules/languages/terraform.nix

languages.terraform.package#

The Terraform package to use.

Typepackage

Defaultpkgs.terraform

Declared indevenv/blob/main/src/modules/languages/terraform.nix

languages.terraform.version#

The Terraform version to use. This automatically sets the languages.terraform.package using nixpkgs-terraform.

Typenull or string

Defaultnull

Example"1.5.0 or 1.6.2"

Declared indevenv/blob/main/src/modules/languages/terraform.nix

languages.texlive.base#

TeX Live package set to use

Typeunspecified value

Defaultpkgs.texliveSmall

Examplepkgs.texliveBasic

Declared indevenv/blob/main/src/modules/languages/texlive.nix

languages.texlive.enable#

Whether to enable TeX Live.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/texlive.nix

languages.texlive.lsp.enable#

Whether to enable TeX Live Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/texlive.nix

languages.texlive.lsp.package#

The TeX Live language server package to use.

Typepackage

Defaultpkgs.texlab

Declared indevenv/blob/main/src/modules/languages/texlive.nix

languages.texlive.packages#

Extra packages to add to the base TeX Live set

Typelist of string

Default[ ]

Example

[
  "algorithms"
  "latexmk"
]

Declared indevenv/blob/main/src/modules/languages/texlive.nix

languages.typescript.enable#

Whether to enable tools for TypeScript development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/typescript.nix

languages.typescript.lsp.enable#

Whether to enable TypeScript Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/typescript.nix

languages.typescript.lsp.package#

The TypeScript language server package to use.

Typepackage

Defaultpkgs.typescript-language-server

Declared indevenv/blob/main/src/modules/languages/typescript.nix

languages.typst.enable#

Whether to enable tools for Typst development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/typst.nix

languages.typst.fontPaths#

Directories to be searched for fonts.

Typelist of string

Default[]

Example[ "${pkgs.roboto}/share/fonts/truetype" ]

Declared indevenv/blob/main/src/modules/languages/typst.nix

languages.typst.lsp.enable#

Whether to enable Typst Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/typst.nix

languages.typst.lsp.package#

The Typst language server package to use.

Typepackage

Defaultpkgs.tinymist

Declared indevenv/blob/main/src/modules/languages/typst.nix

languages.typst.package#

Which package of Typst to use.

Typepackage

Defaultpkgs.typst

Declared indevenv/blob/main/src/modules/languages/typst.nix

languages.unison.enable#

Whether to enable tools for Unison development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/unison.nix

languages.unison.package#

Which package of Unison to use

Typepackage

Defaultpkgs.unison-ucm

Declared indevenv/blob/main/src/modules/languages/unison.nix

languages.v.enable#

Whether to enable tools for V development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/v.nix

languages.v.package#

The V package to use.

Typepackage

Defaultpkgs.vlang

Declared indevenv/blob/main/src/modules/languages/v.nix

languages.vala.enable#

Whether to enable tools for Vala development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/vala.nix

languages.vala.lsp.enable#

Whether to enable Vala Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/vala.nix

languages.vala.lsp.package#

The Vala language server package to use.

Typepackage

Defaultpkgs.vala-language-server

Declared indevenv/blob/main/src/modules/languages/vala.nix

languages.vala.package#

The Vala package to use.

Typepackage

Defaultpkgs.vala

Examplepkgs.vala_0_54

Declared indevenv/blob/main/src/modules/languages/vala.nix

languages.zig.enable#

Whether to enable tools for Zig development.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/languages/zig.nix

languages.zig.lsp.enable#

Whether to enable Zig Language Server.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/languages/zig.nix

languages.zig.lsp.package#

The Zig language server package to use.

Typepackage

Defaultpkgs.zls

Declared indevenv/blob/main/src/modules/languages/zig.nix

languages.zig.package#

Which package of Zig to use.

Typepackage

Defaultpkgs.zig

Declared indevenv/blob/main/src/modules/languages/zig.nix

languages.zig.version#

The Zig version to use. This automatically sets the languages.zig.package and languages.zig.lsp.package using zig-overlay.

Typenull or string

Defaultnull

Example"0.15.1"

Declared indevenv/blob/main/src/modules/languages/zig.nix

machines

machines#

Machines for NixOS, home-manager, and nix-darwin.

Typeattribute set of (submodule)

Default{ }

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

machines.\<name\>.home-manager#

Home Manager configuration for the machine.

Typenull or unspecified value

Defaultnull

Example

{
  home.username = "jdoe";
  home.homeDirectory = "/home/jdoe";
  programs.git.enable = true;
}

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

machines.\<name\>.nix-darwin#

nix-darwin configuration for the machine.

Typenull or unspecified value

Defaultnull

Example

{ pkgs, ... }: {
  environment.systemPackages = [
    pkgs.vim
  ];
  services.nix-daemon.enable = true;
}

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

machines.\<name\>.nixos#

NixOS configuration for the machine.

Typenull or unspecified value

Defaultnull

Example

{
  fileSystems."/".device = "/dev/sda1";
  boot.loader.systemd-boot.enable = true;
  services.openssh.enable = true;
}

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

machines.\<name\>.system#

System architecture for the machine.

Typestring

Defaultpkgs.stdenv.system

Example"x86_64-linux"

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

name

name#

Name of the project.

Typenull or string

Default"devenv-shell"

Declared indevenv/blob/main/src/modules/top-level.nix

opencode

opencode.agents#

Custom agents (placed in .opencode/agents/).

This option can either be:

  • an attribute set of agents, or
  • a path to a directory containing agent files.

Type(attribute set of (strings concatenated with "\n" or absolute path)) or absolute path

Default{ }

Example

{
  "code-reviewer" = ''
    # Code Review Agent
    Review code for best practices and potential issues.
  '';
  "documentation-writer" = ./agents/doc-writer.md;
}

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

opencode.commands#

Custom slash commands (placed in .opencode/commands/).

This option can either be:

  • an attribute set of commands, or
  • a path to a directory containing command files.

Type(attribute set of (strings concatenated with "\n" or absolute path)) or absolute path

Default{ }

Example

{
  "fix-tests" = ''
    # Fix Tests Command
    Analyze failing tests and suggest fixes.
  '';
  "review-pr" = ./commands/review-pr.md;
}

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

opencode.enable#

Whether to enable OpenCode configuration.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

opencode.mcp#

MCP servers written to opencode.jsonc under mcp.

This option mirrors OpenCode’s MCP configuration shape directly (local/remote, command, environment, url, headers, oauth, enabled, timeout, etc.).

Values from opencode.settings.mcp take precedence over this option when both define the same MCP server name.

Typeattribute set of anything

Default{ }

Example

{
  my-local = {
    type = "local";
    command = [ "devenv" "mcp" ];
    environment = {
      DEVENV_ROOT = "{env:DEVENV_ROOT}";
    };
  };

  context7 = {
    type = "remote";
    url = "https://mcp.example.com";
    headers = {
      Authorization = "Bearer TOKEN";
    };
  };
}

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

opencode.rules#

Global custom instructions (placed in .opencode/AGENTS.md).

Typestrings concatenated with "\n" or absolute path

Default""

Example

# Custom Development Rules
- Always write tests
- Use conventional commits
- Document public APIs

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

opencode.settings#

Attributes written to opencode.jsonc.

Typeattribute set of anything

Default{ }

Example

{
  editor = "nvim";
  theme = "dark";
  features = {
    autocomplete = true;
    git_integration = true;
  };
}

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

opencode.skills#

Custom skills for opencode.

This option can either be:

  • an attribute set defining skills, or
  • a path to a directory containing skill folders.

If an attribute set is used, each value can be:

  • inline content (creates .opencode/skills/\<name\>/SKILL.md)
  • a path to a file (creates .opencode/skills/\<name\>/SKILL.md)
  • a path to a directory (creates .opencode/skills/\<name\>/)

Type(attribute set of (strings concatenated with "\n" or absolute path or string)) or absolute path

Default{ }

Example

{
  "debug-helper" = ''
    # Debug Helper Skill
    Helps diagnose and fix bugs systematically.
  '';
  "api-generator" = ./skills/api-generator.md;
  "full-stack-skill" = ./skills/full-stack;
}

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

opencode.themes#

Custom themes for opencode.

This option can either be:

  • an attribute set defining themes, or
  • a path to a directory containing theme files.

Type(attribute set of ((attribute set of anything) or absolute path)) or absolute path

Default{ }

Example

{
  my-theme = {
    colors = {
      background = "#0f1115";
      foreground = "#d6d9e0";
    };
  };
  custom = ./themes/custom.json;
}

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

opencode.tools#

Custom tools for opencode.

This option can either be:

  • an attribute set defining tools, or
  • a path to a directory containing tool files.

Type(attribute set of (strings concatenated with "\n" or absolute path)) or absolute path

Default{ }

Example

{
  sample = "export default { name: \"sample-tool\"; };";
  lint = ./tools/lint.ts;
}

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

opencode.web.enable#

Whether to enable opencode web service.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

opencode.web.extraArgs#

Extra arguments to pass to opencode web.

These arguments override web server options in the configuration file.

Typelist of string

Default[ ]

Example

[
  "--hostname"
  "127.0.0.1"
  "--port"
  "4096"
]

Declared indevenv/blob/main/src/modules/integrations/opencode.nix

outputs

outputs#

Nix outputs for devenv build consumption.

TypeoutputOf (attribute set)

Default{ }

Example

{
  git = pkgs.git;
  foo = {
    ncdu = pkgs.ncdu;
  };
}

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

overlays

overlays#

List of overlays to apply to pkgs. Each overlay is a function that takes two arguments: final and prev. Supported by devenv 1.4.2 or newer.

Typelist of function that evaluates to a(n) function that evaluates to a(n) (attribute set)

Default[ ]

Example

[
  (final: prev: {
    hello = prev.hello.overrideAttrs (oldAttrs: {
      patches = (oldAttrs.patches or []) ++ [ ./hello-fix.patch ];
    });
  })
]

Declared indevenv/blob/main/src/modules/top-level.nix

packages

packages#

A list of packages to expose inside the developer environment. Search available packages using devenv search NAME.

Typelist of package

Default[ ]

Declared indevenv/blob/main/src/modules/top-level.nix

process

process.manager.adapter.client#

Client protocol used for attach, readiness, and individual process control.

Typeone of "none", "native-api"

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

process.manager.adapter.stop#

Adapter used to stop the running manager.

Typeone of "native-api", "command", "process-scope"

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

process.manager.adapter.terminal#

Terminal required by the manager launcher.

Typeone of "none", "controlling"

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

process.manager.after#

Bash code to execute after stopping processes.

Typestrings concatenated with "\n"

Default""

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

process.manager.args#

Additional arguments to pass to the process manager.

Typeattribute set

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

process.manager.before#

Bash code to execute before starting processes.

Typestrings concatenated with "\n"

Default""

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

process.manager.capabilities.background_start#

Whether the manager can remain running after the launching client exits.

Typeboolean

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

process.manager.capabilities.cold_start_subset#

Whether the manager can initially start a named subset of processes.

Typeboolean

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

process.manager.capabilities.devenv_attach#

Whether devenv can attach its interactive client to an existing manager.

Typeboolean

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

process.manager.capabilities.individual_control#

Whether devenv can start, stop, and restart individual processes through the manager.

Typeboolean

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

process.manager.capabilities.wait_ready#

Whether devenv can wait for process readiness through the manager.

Typeboolean

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

process.manager.implementation#

The process manager to use when running processes with devenv up.

Typeone of "hivemind", "honcho", "mprocs", "native", "overmind", "process-compose"

Default`native` for devenv 2.0+, `process-compose` otherwise

Example"process-compose"

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

process.managers.hivemind.adapter.client#

Client protocol used for attach, readiness, and individual process control.

Typeone of "none", "native-api"

Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix

process.managers.hivemind.adapter.stop#

Adapter used to stop the running manager.

Typeone of "native-api", "command", "process-scope"

Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix

process.managers.hivemind.adapter.terminal#

Terminal required by the manager launcher.

Typeone of "none", "controlling"

Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix

process.managers.hivemind.capabilities.background_start#

Whether the manager can remain running after the launching client exits.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix

process.managers.hivemind.capabilities.cold_start_subset#

Whether the manager can initially start a named subset of processes.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix

process.managers.hivemind.capabilities.devenv_attach#

Whether devenv can attach its interactive client to an existing manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix

process.managers.hivemind.capabilities.individual_control#

Whether devenv can start, stop, and restart individual processes through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix

process.managers.hivemind.capabilities.wait_ready#

Whether devenv can wait for process readiness through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix

process.managers.hivemind.package#

The hivemind package to use.

Typepackage

Defaultpkgs.hivemind

Declared indevenv/blob/main/src/modules/process-managers/hivemind.nix

process.managers.honcho.adapter.client#

Client protocol used for attach, readiness, and individual process control.

Typeone of "none", "native-api"

Declared indevenv/blob/main/src/modules/process-managers/honcho.nix

process.managers.honcho.adapter.stop#

Adapter used to stop the running manager.

Typeone of "native-api", "command", "process-scope"

Declared indevenv/blob/main/src/modules/process-managers/honcho.nix

process.managers.honcho.adapter.terminal#

Terminal required by the manager launcher.

Typeone of "none", "controlling"

Declared indevenv/blob/main/src/modules/process-managers/honcho.nix

process.managers.honcho.capabilities.background_start#

Whether the manager can remain running after the launching client exits.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/honcho.nix

process.managers.honcho.capabilities.cold_start_subset#

Whether the manager can initially start a named subset of processes.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/honcho.nix

process.managers.honcho.capabilities.devenv_attach#

Whether devenv can attach its interactive client to an existing manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/honcho.nix

process.managers.honcho.capabilities.individual_control#

Whether devenv can start, stop, and restart individual processes through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/honcho.nix

process.managers.honcho.capabilities.wait_ready#

Whether devenv can wait for process readiness through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/honcho.nix

process.managers.honcho.package#

The honcho package to use.

Typepackage

Defaultpkgs.honcho

Declared indevenv/blob/main/src/modules/process-managers/honcho.nix

process.managers.mprocs.adapter.client#

Client protocol used for attach, readiness, and individual process control.

Typeone of "none", "native-api"

Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix

process.managers.mprocs.adapter.stop#

Adapter used to stop the running manager.

Typeone of "native-api", "command", "process-scope"

Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix

process.managers.mprocs.adapter.terminal#

Terminal required by the manager launcher.

Typeone of "none", "controlling"

Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix

process.managers.mprocs.capabilities.background_start#

Whether the manager can remain running after the launching client exits.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix

process.managers.mprocs.capabilities.cold_start_subset#

Whether the manager can initially start a named subset of processes.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix

process.managers.mprocs.capabilities.devenv_attach#

Whether devenv can attach its interactive client to an existing manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix

process.managers.mprocs.capabilities.individual_control#

Whether devenv can start, stop, and restart individual processes through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix

process.managers.mprocs.capabilities.wait_ready#

Whether devenv can wait for process readiness through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix

process.managers.mprocs.package#

The mprocs package to use.

Typepackage

Defaultpkgs.mprocs

Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix

process.managers.mprocs.settings#

Top-level mprocs.yaml options

https://github.com/pvolok/mprocs?tab=readme-ov-file#config

TypeYAML 1.1 value

Default{ }

Declared indevenv/blob/main/src/modules/process-managers/mprocs.nix

process.managers.native.adapter.client#

Client protocol used for attach, readiness, and individual process control.

Typeone of "none", "native-api"

Declared indevenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.adapter.stop#

Adapter used to stop the running manager.

Typeone of "native-api", "command", "process-scope"

Declared indevenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.adapter.terminal#

Terminal required by the manager launcher.

Typeone of "none", "controlling"

Declared indevenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.capabilities.background_start#

Whether the manager can remain running after the launching client exits.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.capabilities.cold_start_subset#

Whether the manager can initially start a named subset of processes.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.capabilities.devenv_attach#

Whether devenv can attach its interactive client to an existing manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.capabilities.individual_control#

Whether devenv can start, stop, and restart individual processes through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.capabilities.wait_ready#

Whether devenv can wait for process readiness through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/native.nix

process.managers.overmind.adapter.client#

Client protocol used for attach, readiness, and individual process control.

Typeone of "none", "native-api"

Declared indevenv/blob/main/src/modules/process-managers/overmind.nix

process.managers.overmind.adapter.stop#

Adapter used to stop the running manager.

Typeone of "native-api", "command", "process-scope"

Declared indevenv/blob/main/src/modules/process-managers/overmind.nix

process.managers.overmind.adapter.terminal#

Terminal required by the manager launcher.

Typeone of "none", "controlling"

Declared indevenv/blob/main/src/modules/process-managers/overmind.nix

process.managers.overmind.capabilities.background_start#

Whether the manager can remain running after the launching client exits.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/overmind.nix

process.managers.overmind.capabilities.cold_start_subset#

Whether the manager can initially start a named subset of processes.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/overmind.nix

process.managers.overmind.capabilities.devenv_attach#

Whether devenv can attach its interactive client to an existing manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/overmind.nix

process.managers.overmind.capabilities.individual_control#

Whether devenv can start, stop, and restart individual processes through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/overmind.nix

process.managers.overmind.capabilities.wait_ready#

Whether devenv can wait for process readiness through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/overmind.nix

process.managers.overmind.package#

The overmind package to use.

Typepackage

Defaultpkgs.overmind

Declared indevenv/blob/main/src/modules/process-managers/overmind.nix

process.managers.process-compose.adapter.client#

Client protocol used for attach, readiness, and individual process control.

Typeone of "none", "native-api"

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.adapter.stop#

Adapter used to stop the running manager.

Typeone of "native-api", "command", "process-scope"

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.adapter.terminal#

Terminal required by the manager launcher.

Typeone of "none", "controlling"

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.capabilities.background_start#

Whether the manager can remain running after the launching client exits.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.capabilities.cold_start_subset#

Whether the manager can initially start a named subset of processes.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.capabilities.devenv_attach#

Whether devenv can attach its interactive client to an existing manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.capabilities.individual_control#

Whether devenv can start, stop, and restart individual processes through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.capabilities.wait_ready#

Whether devenv can wait for process readiness through the manager.

Typeboolean

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.package#

The process-compose package to use.

Typepackage

Defaultpkgs.process-compose

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.port#

The port to bind the process-compose server to.

Not used when unixSocket.enable is true.

Typesigned integer

Default8080

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.settings#

Top-level process-compose.yaml options

Example: https://github.com/F1bonacc1/process-compose/blob/main/process-compose.yaml

TypeYAML 1.1 value

Default{ }

Example

{
  availability = {
    backoff_seconds = 2;
    max_restarts = 5;
    restart = "on_failure";
  };
  depends_on = {
    some-other-process = {
      condition = "process_completed_successfully";
    };
  };
  environment = [
    "ENVVAR_FOR_THIS_PROCESS_ONLY=foobar"
  ];
}

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.tui.enable#

Enable the TUI (Terminal User Interface)

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.unixSocket.enable#

Whether to enable running the process-compose server over unix domain sockets instead of tcp.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

process.managers.process-compose.unixSocket.path#

Override the path to the unix socket.

Typestring

Default${config.devenv.runtime}/pc.sock

Declared indevenv/blob/main/src/modules/process-managers/process-compose.nix

processes

processes#

Processes can be started with devenv up and run in the foreground.

Typeattribute set of (submodule)

Default{ }

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

processes.\<name\>.after#

Tasks that must be ready before this process starts. Use task names like “devenv:processes:postgres” or “myapp:setup”. Supports @started, @ready (default for processes), and @completed suffixes for process dependencies. Supports @started, @succeeded (default for tasks), and @completed suffixes for task dependencies.

Typelist of string

Default[ ]

Example

[
  "devenv:processes:postgres"
  "myapp:migrations@succeeded"
]

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

processes.\<name\>.before#

Tasks that should start after this process is ready.

Typelist of string

Default[ ]

Example

[
  "devenv:processes:nginx"
]

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

processes.\<name\>.cwd#

Working directory to run the process in. If not specified, the current working directory will be used.

Typenull or string

Defaultnull

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

processes.\<name\>.env#

Environment variables to set for this process.

Typeattribute set of string

Default{ }

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

processes.\<name\>.exec#

Bash code to run the process.

Typestring

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

processes.\<name\>.linux#

Linux-specific process configuration.

Requires devenv 2.0+.

Typesubmodule

Default{ }

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

processes.\<name\>.linux.capabilities#

Linux capabilities to add as ambient capabilities for this process (e.g., “cap_net_admin”, “cap_sys_admin”).

Requires devenv 2.0+.

Typelist of string

Default[ ]

Example

[
  "cap_net_admin"
  "cap_sys_admin"
]

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

processes.\<name\>.listen#

Socket activation configuration for systemd-style socket passing.

Requires devenv 2.0+.

Typelist of (submodule)

Default[ ]

Example

[
  {
    address = "127.0.0.1:8080";
    kind = "tcp";
    name = "http";
  }
  {
    kind = "unix_stream";
    mode = 384;
    name = "admin";
    path = "$DEVENV_STATE/admin.sock";
  }
]

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

processes.\<name\>.listen.*.address#

TCP address (e.g., ‘127.0.0.1:8080’). Required for TCP sockets.

Typenull or string

Defaultnull

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

processes.\<name\>.listen.*.backlog#

Listen backlog size

Typenull or signed integer

Default128

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

processes.\<name\>.listen.*.kind#

Type of socket (tcp or unix_stream)

Typeone of "tcp", "unix_stream"

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

processes.\<name\>.listen.*.mode#

Unix socket file permissions (e.g., 384 for 0o600). Only for unix_stream.

Typenull or signed integer

Defaultnull

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

processes.\<name\>.listen.*.name#

Name of the socket (e.g., ‘http’, ‘admin’)

Typestring

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

processes.\<name\>.listen.*.path#

Unix socket path. Required for unix_stream sockets.

Typenull or string

Defaultnull

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

processes.\<name\>.ports#

Named ports with auto-allocation for this process.

Define ports with a base value and devenv will automatically find a free port starting from that base, incrementing until available.

The resolved port is available via config.processes.\<name\>.ports.\<port\>.value.

Requires devenv 2.0+.

Typeattribute set of (submodule)

Default{ }

Example

{
  http.allocate = 8080;
  admin.allocate = 9000;
}

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

processes.\<name\>.ports.\<name\>.allocate#

Base port for auto-allocation (increments until free)

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example8080

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

processes.\<name\>.ports.\<name\>.value#

Resolved port value (allocated by devenv)

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

DefaultAllocated port based on `allocate`

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

processes.\<name\>.process-compose#

process-compose.yaml specific process attributes.

Example: https://github.com/F1bonacc1/process-compose/blob/main/process-compose.yaml

Only used when using process.manager.implementation = "process-compose";

TypeYAML 1.1 value

Default{ }

Example

{
  availability = {
    backoff_seconds = 2;
    max_restarts = 5;
    restart = "on_failure";
  };
  depends_on = {
    some-other-process = {
      condition = "process_completed_successfully";
    };
  };
  environment = [
    "ENVVAR_FOR_THIS_PROCESS_ONLY=foobar"
  ];
}

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

processes.\<name\>.ready#

How to determine if this process is ready to serve.

Requires devenv 2.0+.

Typenull or (submodule)

Defaultnull

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

processes.\<name\>.ready.exec#

Shell command to execute. Exit 0 = ready.

Typenull or string

Defaultnull

Example"pg_isready -d template1"

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

processes.\<name\>.ready.failure_threshold#

Consecutive failures before marking unhealthy.

Typesigned integer

Default3

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

processes.\<name\>.ready.http#

HTTP readiness probe configuration.

Typesubmodule

Default{ }

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

processes.\<name\>.ready.http.get#

HTTP GET readiness check.

Typenull or (submodule)

Defaultnull

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

processes.\<name\>.ready.http.get.host#

Host to connect to.

Typestring

Default"127.0.0.1"

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

processes.\<name\>.ready.http.get.path#

HTTP path to request.

Typestring

Default"/"

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

processes.\<name\>.ready.http.get.port#

Port to connect to.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

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

processes.\<name\>.ready.http.get.scheme#

URL scheme (http or https).

Typestring

Default"http"

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

processes.\<name\>.ready.initial_delay#

Seconds to wait before first probe.

Typesigned integer

Default0

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

processes.\<name\>.ready.notify#

Enable systemd notify protocol for readiness signaling. The process must send READY=1 to the NOTIFY_SOCKET.

Typeboolean

Defaultfalse

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

processes.\<name\>.ready.period#

Seconds between probes.

Typesigned integer

Default10

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

processes.\<name\>.ready.probe_timeout#

Seconds before a single probe times out.

Typesigned integer

Default1

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

processes.\<name\>.ready.success_threshold#

Consecutive successes needed to be considered ready.

Typesigned integer

Default1

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

processes.\<name\>.ready.timeout#

Overall deadline in seconds for the process to become ready. null = no deadline.

Typenull or (unsigned integer, meaning >=0)

Defaultnull

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

processes.\<name\>.restart#

Process restart policy.

Typesubmodule

Default{ }

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

processes.\<name\>.restart.max#

Maximum restart attempts. null = unlimited.

Typenull or signed integer

Default5

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

processes.\<name\>.restart.on#

When to restart: never, always, or on_failure.

Typeone of "never", "always", "on_failure"

Default"on_failure"

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

processes.\<name\>.restart.window#

Sliding window in seconds for restart rate limiting. null = lifetime limit.

Typenull or (unsigned integer, meaning >=0)

Defaultnull

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

processes.\<name\>.shutdown#

Graceful shutdown signal and timeout

Typesubmodule

Default{ }

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

processes.\<name\>.shutdown.grace#

Seconds before shutdown escalates to SIGKILL

Typeunsigned integer, meaning >=0

Default5

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

processes.\<name\>.shutdown.signal#

Unix signal number used for graceful shutdown

Typeinteger between 1 and 31 (both inclusive)

Default15

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

processes.\<name\>.start#

Auto-start configuration for this process.

Typesubmodule

Default{ }

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

processes.\<name\>.start.enable#

Whether to start this process automatically with devenv up.

Disabled processes are still visible in the TUI as stopped and can be started manually by selecting them and pressing Enter.

Typeboolean

Defaulttrue

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

processes.\<name\>.watch#

File watching configuration for automatic process restarts.

Requires devenv 2.0+.

Typesubmodule

Default{ }

Example

{
  paths = [ ./src ];
  extensions = [ "rs" "toml" ];
  ignore = [ "target" ];
}

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

processes.\<name\>.watch.extensions#

File extensions to watch (e.g., “rs”, “js”, “py”). If empty, all file extensions are watched.

Requires devenv 2.0+.

Typelist of string

Default[ ]

Example

[
  "rs"
  "toml"
]

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

processes.\<name\>.watch.ignore#

Glob patterns to ignore (e.g., “.git”, “target”, “*.log”).

Requires devenv 2.0+.

Typelist of string

Default[ ]

Example

[
  "*.log"
  ".git"
  "target"
]

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

processes.\<name\>.watch.paths#

Paths to watch for changes (files or directories). When files in these paths change, the process is restarted (or, for a one-shot command that exits immediately, re-run).

Paths are resolved relative to the location of devenv.nix (the project root), not relative to the process’s cwd. Use path literals such as ./src; they are passed to the watcher as absolute paths.

Requires devenv 2.0+.

Typelist of absolute path

Default[ ]

Example

[ ./src ./config.yaml ]

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

processes.\<name\>.watchdog#

Systemd watchdog configuration.

Requires devenv 2.0+.

Typenull or (submodule)

Defaultnull

Example

{
  usec = 30000000; # 30 seconds
  require_ready = true;
}

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

processes.\<name\>.watchdog.require_ready#

Require READY=1 notification before enforcing watchdog

Typeboolean

Defaulttrue

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

processes.\<name\>.watchdog.usec#

Watchdog interval in microseconds

Typesigned integer

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

profiles

profiles#

Profile definitions that can be activated manually or automatically.

Typeopen submodule of lazy attribute set of (submodule)

Default{ }

Example

{
  # Manual profiles (activated via --profile)
  "base" = {
    module = {
      languages.nix.enable = true;
      packages = [ pkgs.git ];
    };
  };
  "python-3.14" = {
    extends = [ "base" ];
    module = {
      languages.python.version = "3.14";
    };
  };
  "backend" = {
    extends = [ "base" ];
    module = {
      services.postgres.enable = true;
      services.redis.enable = true;
    };
  };
  "fullstack" = {
    extends = [ "backend" "python-3.14" ];
    module = {
      env.FULL_STACK = "true";
    };
  };
  # Automatic hostname-based profiles
  hostname."work-laptop" = {
    extends = [ "backend" ];
    module = {
      env.WORK_ENV = "true";
    };
  };
  # Automatic user-based profiles
  user."alice" = {
    extends = [ "python-3.14" ];
    module = {
      env.USER_ROLE = "developer";
    };
  };
}

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

profiles.\<name\>.extends#

List of profile names to extend/inherit from.

Typelist of string

Default[ ]

Example

[
  "base"
  "backend"
]

profiles.\<name\>.module#

Additional configuration to merge when this profile is active.

Typemodule

Default{ }

profiles.hostname#

Profile definitions that are automatically activated based on the machine’s hostname.

Typelazy attribute set of (submodule)

Default{ }

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

profiles.hostname.\<name\>.extends#

List of profile names to extend/inherit from.

Typelist of string

Default[ ]

Example

[
  "base"
  "backend"
]

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

profiles.hostname.\<name\>.module#

Additional configuration to merge when this profile is active.

Typemodule

Default{ }

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

profiles.user#

Profile definitions that are automatically activated based on the username.

Typelazy attribute set of (submodule)

Default{ }

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

profiles.user.\<name\>.extends#

List of profile names to extend/inherit from.

Typelist of string

Default[ ]

Example

[
  "base"
  "backend"
]

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

profiles.user.\<name\>.module#

Additional configuration to merge when this profile is active.

Typemodule

Default{ }

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

scripts

scripts#

A set of scripts available when the environment is active.

Typeattribute set of (submodule)

Default{ }

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

scripts.\<name\>.binary#

Override the binary name from the default package.meta.mainProgram

Typenull or string

Defaultnull

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

scripts.\<name\>.description#

Description of the script.

Typestring

Default""

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

scripts.\<name\>.exec#

Shell code to execute when the script is run, or path to a script file.

Typestring or absolute path

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

scripts.\<name\>.package#

The package to use to run the script.

Typepackage

Defaultpkgs.bash

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

scripts.\<name\>.packages#

Packages to be available in PATH when the script runs.

Typelist of package

Default[]

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

secretspec

secretspec.enable#

Whether secretspec integration is enabled (automatically true when secrets are loaded)

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/integrations/secretspec.nix

secretspec.profile#

The secretspec profile that was used to load secrets (read-only)

Typenull or string

Defaultnull

Declared indevenv/blob/main/src/modules/integrations/secretspec.nix

secretspec.provider#

The explicit secretspec provider override selected through devenv, if any (read-only)

Typenull or string

Defaultnull

Declared indevenv/blob/main/src/modules/integrations/secretspec.nix

secretspec.secrets#

Secrets loaded from secretspec.toml (read-only)

Typeattribute set of string

Default{ }

Declared indevenv/blob/main/src/modules/integrations/secretspec.nix

services

services.adminer.enable#

Whether to enable Adminer process.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/adminer.nix

services.adminer.listen#

Listen address for the Adminer.

Typestring

Default"127.0.0.1:8080"

Declared indevenv/blob/main/src/modules/services/adminer.nix

services.adminer.package#

Which package of Adminer to use.

Typepackage

Defaultpkgs.adminer

Declared indevenv/blob/main/src/modules/services/adminer.nix

services.blackfire.client-id#

Sets the client id used to authenticate with Blackfire. You can find your personal client-id at https://blackfire.io/my/settings/credentials.

Typestring

Default""

Declared indevenv/blob/main/src/modules/services/blackfire.nix

services.blackfire.client-token#

Sets the client token used to authenticate with Blackfire. You can find your personal client-token at https://blackfire.io/my/settings/credentials.

Typestring

Default""

Declared indevenv/blob/main/src/modules/services/blackfire.nix

services.blackfire.enable#

Whether to enable Blackfire profiler agent

It automatically installs Blackfire PHP extension. .

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/blackfire.nix

services.blackfire.enableApm#

Whether to enable Enables application performance monitoring, requires special subscription. .

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/blackfire.nix

services.blackfire.package#

Which package of blackfire to use

Typepackage

Defaultpkgs.blackfire

Declared indevenv/blob/main/src/modules/services/blackfire.nix

services.blackfire.server-id#

Sets the server id used to authenticate with Blackfire. You can find your personal server-id at https://blackfire.io/my/settings/credentials.

Typestring

Default""

Declared indevenv/blob/main/src/modules/services/blackfire.nix

services.blackfire.server-token#

Sets the server token used to authenticate with Blackfire. You can find your personal server-token at https://blackfire.io/my/settings/credentials.

Typestring

Default""

Declared indevenv/blob/main/src/modules/services/blackfire.nix

services.blackfire.socket#

Sets the server socket path

Typestring

Default"tcp://127.0.0.1:8307"

Declared indevenv/blob/main/src/modules/services/blackfire.nix

services.caddy.adapter#

Name of the config adapter to use. See https://caddyserver.com/docs/config-adapters for the full list.

Typestring

Default"caddyfile"

Example"nginx"

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.caddy.ca#

Certificate authority ACME server. The default (Let’s Encrypt production server) should be fine for most people. Set it to null if you don’t want to include any authority (or if you want to write a more fine-graned configuration manually).

Typenull or string

Default"https://acme-v02.api.letsencrypt.org/directory"

Example"https://acme-staging-v02.api.letsencrypt.org/directory"

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.caddy.config#

Verbatim Caddyfile to use.

Refer to https://caddyserver.com/docs/caddyfile for more information.

Caddy v2 supports multiple config formats via adapters (see services.caddy.adapter).

Typestrings concatenated with "\n"

Default""

Example

''
  # Global options block
  {
    debug
  }
  
  # Site block
  example.com {
    encode gzip
    log
    root /srv/http
  }
''

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.caddy.dataDir#

The data directory, for storing certificates. Before 17.09, this would create a .caddy directory. With 17.09 the contents of the .caddy directory are in the specified data directory instead. Caddy v2 replaced CADDYPATH with XDG directories. See https://caddyserver.com/docs/conventions#file-locations.

Typeabsolute path

Default"${config.env.DEVENV_STATE}/caddy"

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.caddy.email#

Email address (for Let’s Encrypt certificate).

Typestring

Default""

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.caddy.enable#

Whether to enable Caddy web server.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.caddy.package#

Caddy package to use.

Typepackage

Defaultpkgs.caddy

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.caddy.resume#

Use saved config, if any (and prefer over configuration passed with caddy.config).

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.caddy.virtualHosts#

Declarative vhost config.

Typeattribute set of (submodule)

Default{ }

Example

{
  "hydra.example.com" = {
    serverAliases = [ "www.hydra.example.com" ];
    extraConfig = ''''
      encode gzip
      log
      root /srv/http
    '''';
  };
};

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.caddy.virtualHosts.\<name\>.extraConfig#

These lines go into the vhost verbatim.

Typestrings concatenated with "\n"

Default""

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.caddy.virtualHosts.\<name\>.serverAliases#

Additional names of virtual hosts served by this virtual host configuration.

Typelist of string

Default[ ]

Example

[
  "www.example.org"
  "example.org"
]

Declared indevenv/blob/main/src/modules/services/caddy.nix

services.cassandra.allowClients#

Enables or disables the native transport server (CQL binary protocol)

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/cassandra.nix

services.cassandra.clusterName#

The name of the cluster

Typestring

Default"Test Cluster"

Declared indevenv/blob/main/src/modules/services/cassandra.nix

services.cassandra.enable#

Whether to enable Add Cassandra process script..

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/cassandra.nix

services.cassandra.extraConfig#

Extra options to be merged into cassandra.yaml as nix attribute set.

Typeattribute set

Default{ }

Example

{
  commitlog_sync_batch_window_in_ms = 3;
}

Declared indevenv/blob/main/src/modules/services/cassandra.nix

services.cassandra.jvmOpts#

Options to pass to the JVM through the JVM_OPTS environment variable

Typelist of string

Default[ ]

Declared indevenv/blob/main/src/modules/services/cassandra.nix

services.cassandra.listenAddress#

Listen address

Typestring

Default"127.0.0.1"

Example"127.0.0.1"

Declared indevenv/blob/main/src/modules/services/cassandra.nix

services.cassandra.package#

Which version of Cassandra to use

Typepackage

Defaultpkgs.cassandra_4

Examplepkgs.cassandra_4;

Declared indevenv/blob/main/src/modules/services/cassandra.nix

services.cassandra.seedAddresses#

The addresses of hosts designated as contact points of the cluster

Typelist of string

Default

[
  "127.0.0.1"
]

Declared indevenv/blob/main/src/modules/services/cassandra.nix

services.clickhouse.config#

ClickHouse configuration in YAML.

Typestrings concatenated with "\n"

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.enable#

Whether to enable clickhouse-server.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.httpPort#

Which http port to run clickhouse on.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default8123

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.keeper.enable#

Whether to enable keeper_server in ClickHouse.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.keeper.port#

Which port to run clickhouse keeper service on.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default9181

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.keeper.raft.port#

Which http port to use clickhouse keeper for raft consensus.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default9234

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.macros.enable#

Whether to enable macros in ClickHouse.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.package#

Which package of clickhouse to use

Typepackage

Defaultpkgs.clickhouse

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.port#

Which port to run clickhouse on.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default9000

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.remoteServers.enable#

Whether to enable remote_servers in ClickHouse.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.timezone#

Which timezone to use for ClickHouse.

Typenull or string

Defaultnull

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.clickhouse.usersConfig#

Your users.yaml as a Nix attribute set. Check the documentation for possible options.

TypeYAML 1.1 value

Default{ }

Example

{
  profiles = {};

  users = {
    default = {
      profile = "default";
      password_sha256_hex = "36dd292533174299fb0c34665df468bb881756ca9eaf9757d0cfde38f9ededa1";  # `echo -n verysecret | sha256sum`
    };
  };
}

Declared indevenv/blob/main/src/modules/services/clickhouse.nix

services.cockroachdb.enable#

Whether to enable Add CockroachDB process. .

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/cockroachdb.nix

services.cockroachdb.http_addr#

The hostname or IP address to bind to for HTTP requests.

Typestring

Default"localhost:8080"

Declared indevenv/blob/main/src/modules/services/cockroachdb.nix

services.cockroachdb.listen_addr#

The address/hostname and port to listen on.

Typestring

Default"localhost:26257"

Declared indevenv/blob/main/src/modules/services/cockroachdb.nix

services.cockroachdb.package#

The CockroachDB package to use.

Typeunspecified value

Defaultpkgs.cockroachdb

Declared indevenv/blob/main/src/modules/services/cockroachdb.nix

services.couchdb.baseDir#

The directory where CouchDB will store its data.

Typestring

Defaultconfig.env.DEVENV_STATE + "/couchdb"

Declared indevenv/blob/main/src/modules/services/couchdb.nix

services.couchdb.enable#

Whether to enable CouchDB process.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/couchdb.nix

services.couchdb.package#

Which version of CouchDB to use

Typepackage

Defaultpkgs.couchdb3

Declared indevenv/blob/main/src/modules/services/couchdb.nix

services.couchdb.settings#

CouchDB configuration. To learn more about all settings, see the CouchDB configuration reference.

Typeopen submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))

Default{ }

Example

{
  couchdb = {
    database_dir = baseDir;
    single_node = true;
    view_index_dir = baseDir;
    uri_file = "${config.services.couchdb.baseDir}/couchdb.uri";
  };
  admins = {
    "admin_username" = "pass";
  };
  chttpd = {
    bind_address = "127.0.0.1";
    port = 5984;
  };
}

Declared indevenv/blob/main/src/modules/services/couchdb.nix

services.couchdb.settings.chttpd.bind_address#

Defines the IP address by which CouchDB will be accessible.

Typestring

Default"127.0.0.1"

Declared indevenv/blob/main/src/modules/services/couchdb.nix

services.couchdb.settings.chttpd.port#

Defined the port number to listen.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default5984

Declared indevenv/blob/main/src/modules/services/couchdb.nix

services.couchdb.settings.couchdb.database_dir#

Specifies location of CouchDB database files (*.couch named). This location should be writable and readable for the user the CouchDB service runs as (couchdb by default).

Typeabsolute path

Defaultconfig.env.DEVENV_STATE + "/couchdb"

Declared indevenv/blob/main/src/modules/services/couchdb.nix

services.couchdb.settings.couchdb.single_node#

When this configuration setting is set to true, automatically create the system databases on startup. Must be set false for a clustered CouchDB installation.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/couchdb.nix

services.couchdb.settings.couchdb.uri_file#

This file contains the full URI that can be used to access this instance of CouchDB. It is used to help discover the port CouchDB is running on (if it was set to 0 (e.g. automatically assigned any free one). This file should be writable and readable for the user that runs the CouchDB service (couchdb by default).

Typeabsolute path

Defaultconfig.env.DEVENV_STATE + "/couchdb"/couchdb.uri

Declared indevenv/blob/main/src/modules/services/couchdb.nix

services.couchdb.settings.couchdb.view_index_dir#

Specifies location of CouchDB view index files. This location should be writable and readable for the user that runs the CouchDB service (couchdb by default).

Typeabsolute path

Defaultconfig.env.DEVENV_STATE + "/couchdb"

Declared indevenv/blob/main/src/modules/services/couchdb.nix

services.dynamodb-local.enable#

Whether to enable DynamoDB Local.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/dynamodb-local.nix

services.dynamodb-local.package#

Which package of DynamoDB to use.

Typepackage

Defaultpkgs.dynamodb-local

Declared indevenv/blob/main/src/modules/services/dynamodb-local.nix

services.dynamodb-local.port#

Listen port for DynamoDB Local.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default8000

Declared indevenv/blob/main/src/modules/services/dynamodb-local.nix

services.dynamodb-local.sharedDb#

If true, enables the -sharedDb flag for DynamoDB Local. When enabled, DynamoDB Local creates a single database file named shared-local-instance.db. Every program that connects to DynamoDB accesses this file. If you delete the file, you lose any data stored in it.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/dynamodb-local.nix

services.elasticmq.enable#

Whether to enable elasticmq-server.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/elasticmq.nix

services.elasticmq.package#

Which package of elasticmq-server-bin to use

Typepackage

Defaultpkgs.elasticmq-server-bin

Declared indevenv/blob/main/src/modules/services/elasticmq.nix

services.elasticmq.settings#

Configuration for elasticmq-server

Typestrings concatenated with "\n"

Default""

Declared indevenv/blob/main/src/modules/services/elasticmq.nix

services.elasticsearch.cluster_name#

Elasticsearch name that identifies your cluster for auto-discovery.

Typestring

Default"elasticsearch"

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.enable#

Whether to enable elasticsearch.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.extraCmdLineOptions#

Extra command line options for the elasticsearch launcher.

Typelist of string

Default[ ]

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.extraConf#

Extra configuration for elasticsearch.

Typestring

Default""

Example

''
  node.name: "elasticsearch"
  node.master: true
  node.data: false
''

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.extraJavaOptions#

Extra command line options for Java.

Typelist of string

Default[ ]

Example

[
  "-Djava.net.preferIPv4Stack=true"
]

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.listenAddress#

Elasticsearch listen address.

Typestring

Default"127.0.0.1"

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.logging#

Elasticsearch logging configuration.

Typestring

Default

''
  logger.action.name = org.elasticsearch.action
  logger.action.level = info
  appender.console.type = Console
  appender.console.name = console
  appender.console.layout.type = PatternLayout
  appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n
  rootLogger.level = info
  rootLogger.appenderRef.console.ref = console
''

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.package#

Elasticsearch package to use.

Typepackage

Defaultpkgs.elasticsearch7

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.plugins#

Extra elasticsearch plugins

Typelist of package

Default[ ]

Example[ pkgs.elasticsearchPlugins.discovery-ec2 ]

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.port#

Elasticsearch port to listen for HTTP traffic.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default9200

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.single_node#

Start a single-node cluster

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.elasticsearch.tcp_port#

Elasticsearch port for the node to node communication.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default9300

Declared indevenv/blob/main/src/modules/services/elasticsearch.nix

services.garage.adminAddress#

IP address and port of the admin API.

Typestring

Default"127.0.0.1:3903"

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.adminToken#

Admin API bearer token. Hard-coded for single-node dev; production deployments override this with a real secret.

Typestring

Default"devtoken"

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.afterStart#

Bash code to execute after the server is running and the cluster layout is applied. The garage CLI in scope already points at the local instance via the generated config.

Typestrings concatenated with "\n"

Default""

Example

''
  garage key new --name app-key
  garage bucket allow --read --write --owner my-bucket --key app-key
''

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.buckets#

List of buckets to ensure exist on startup.

Typelist of string

Default[ ]

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.enable#

Whether to enable Garage S3-compatible object storage.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.extraConfig#

Additional garage.toml snippet appended to the generated config.

Typestrings concatenated with "\n"

Default""

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.package#

Garage package to use.

Typepackage

Defaultpkgs.garage_2

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.region#

S3 region label reported by the server. Defaults to AWS’s canonical us-east-1.

Typestring

Default"us-east-1"

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.replicationFactor#

Cluster replication factor. Single-node devenv setups always use 1.

Typesigned integer

Default1

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.rpcSecret#

RPC secret as 64 hex characters. Hard-coded for single-node dev; production deployments override this with a real secret.

Typestring

Default"0000000000000000000000000000000000000000000000000000000000000000"

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.s3Address#

IP address and port of the S3 API.

Typestring

Default"127.0.0.1:3900"

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.ui.enable#

Whether to enable a simple web UI.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.ui.port#

On which port the UI should run.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default3919

Example3919

Declared indevenv/blob/main/src/modules/services/garage.nix

services.garage.ui.start#

Whether to start the web UI automatically. When false it can be started manually. Only applies when ui.enable = true.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/garage.nix

services.httpbin.bind#

Addresses for httpbin to listen on.

Typelist of string

Default

[
  "127.0.0.1:8080"
]

Declared indevenv/blob/main/src/modules/services/httpbin.nix

services.httpbin.enable#

Whether to enable httpbin.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/httpbin.nix

services.httpbin.extraArgs#

Gunicorn CLI arguments for httpbin.

Typelist of string

Default[ ]

Declared indevenv/blob/main/src/modules/services/httpbin.nix

services.influxdb.enable#

Whether to enable influxdb.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/influxdb.nix

services.influxdb.extraArgs#

Additional arguments passed to influxd during startup.

Typelist of string

Default[ ]

Example

[
  "--flux-log-enabled"
]

Declared indevenv/blob/main/src/modules/services/influxdb.nix

services.influxdb.package#

Which package of InfluxDB server to use

Typepackage

Defaultpkgs.influxdb2-server

Declared indevenv/blob/main/src/modules/services/influxdb.nix

services.influxdb.port#

The TCP port for the InfluxDB HTTP API.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default8086

Declared indevenv/blob/main/src/modules/services/influxdb.nix

services.kafka.configFiles.log4jProperties#

Kafka log4j property configuration file path

Typeabsolute path

Default"pkgs.writeText \"log4j.properties\" cfg.log4jProperties"

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.configFiles.serverProperties#

Kafka server.properties configuration file path. Defaults to the rendered settings.

Typeabsolute path

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.connect.enable#

Whether to enable Kafka Connect.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.initialConnectors#

List of Kafka Connect connectors to set up initially

Typelist of (open submodule of lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string)))

Default[ ]

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.initialConnectors.*.config#

Initial configuration for the connector

Typeattribute set

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.initialConnectors.*.name#

Name of the connector

Typestring

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.settings#

{file}connect-standalone.properties.

Note that .properties files contain mappings from string to string. Keys with dots are NOT represented by nested attrs in these settings, but instead as quoted strings (ie. settings."broker.id", NOT settings.broker.id).

Typeopen submodule of lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string))

Default{ }

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.settings."bootstrap.servers"#

A list of host/port pairs to use for establishing the initial connection to the Kafka cluster.

Typelist of string

Default

[
  "localhost:9092"
]

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.settings."key.converter"#

The key converter to use for the connector.

Typestring

Default"org.apache.kafka.connect.json.JsonConverter"

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.settings."key.converter.schemas.enable"#

Whether the key converter should include schema information in the message.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.settings."offset.flush.interval.ms"#

Interval at which to try committing offsets for tasks

Typesigned integer

Default10000

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.settings."offset.storage.file.filename"#

The file to store connector offsets in. By storing offsets on disk, a standalone process can be stopped and started on a single node and resume where it previously left off.

Typestring

Default${config.env.DEVENV_STATE}/kafka/connect/connect.offsets

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.settings."plugin.path"#

The list should consist of top level directories that include any combination of: a) directories immediately containing jars with plugins and their dependencies b) uber-jars with plugins and their dependencies c) directories immediately containing the package directory structure of classes of plugins and their dependencies Note: symlinks will be followed to discover dependencies or plugins.

Typenull or (list of (string or absolute path))

Defaultnull

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.settings."value.converter"#

The value converter to use for the connector.

Typestring

Default"org.apache.kafka.connect.json.JsonConverter"

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.settings."value.converter.schemas.enable"#

Whether the value converter should include schema information in the message.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.connect.settings.listeners#

List of listeners for Kafka Connect (By default Kafka Connect listens on http://localhost:8083)

Typenull or (list of string)

Defaultnull

Example

[
  "http://localhost:8080"
]

Declared indevenv/blob/main/src/modules/services/kafka-connect.nix

services.kafka.defaultMode#

Which defaults to set for the mode Kafka should run in

  • kraft (default): Run Kafka in KRaft mode, Which requires no extra configuration.
  • zookeeper: Run Kafka in Zookeeper mode, this requires more configuration.

Typeone of "zookeeper", "kraft"

Default"kraft"

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.enable#

Whether to enable Apache Kafka.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.formatLogDirs#

Whether to format log dirs in KRaft mode if all log dirs are unformatted, ie. they contain no meta.properties.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.formatLogDirsIgnoreFormatted#

Whether to ignore already formatted log dirs when formatting log dirs, instead of failing. Useful when replacing or adding disks.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.jre#

The JRE with which to run Kafka

Typepackage

Defaultpkgs.apacheKafka.passthru.jre

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.jvmOptions#

Extra command line options for the JVM running Kafka.

Typelist of string

Default[ ]

Example

[
  "-Djava.net.preferIPv4Stack=true"
  "-Dcom.sun.management.jmxremote"
  "-Dcom.sun.management.jmxremote.local.only=true"
]

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.log4jProperties#

Kafka log4j property configuration.

Typestrings concatenated with "\n"

Default

''
  log4j.rootLogger=INFO, stdout
  
  log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
''

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.package#

The apacheKafka package to use.

Typepackage

Defaultpkgs.apacheKafka

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.settings#

Kafka broker configuration {file}server.properties.

Note that .properties files contain mappings from string to string. Keys with dots are NOT represented by nested attrs in these settings, but instead as quoted strings (ie. settings."broker.id", NOT settings.broker.id).

Typeopen submodule of lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string))

Default{ }

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.settings."broker.id"#

Broker ID. -1 or null to auto-allocate in zookeeper mode.

Typenull or signed integer

Defaultnull

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.settings."log.dirs"#

Log file directories.

Typelist of absolute path

Default[ "${config.devenv.state + "/kafka"}/logs" ]

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.kafka.settings.listeners#

Kafka Listener List. See listeners. If you change this, you should also update the readiness probe.

Typelist of string

Default

[
  "PLAINTEXT://localhost:9092"
]

Declared indevenv/blob/main/src/modules/services/kafka.nix

services.keycloak.database.type#

The type of database Keycloak should connect to. If you use dev-mem, the realm export over script keycloak-realm-export-* does not work.

Typeone of "dev-mem", "dev-file"

Default"dev-file"

Example"dev-mem"

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.enable#

Whether to enable the Keycloak identity and access management server.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.initialAdminPassword#

Initial password set for the temporary admin user. The password is not stored safely and should be changed immediately in the admin panel.

See Admin bootstrap and recovery for details.

Typestring

Default"admin"

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.package#

The keycloak package to use.

Typepackage

Defaultpkgs.keycloak

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.plugins#

Keycloak plugin jar, ear files or derivations containing them. Packaged plugins are available through pkgs.keycloak.plugins.

Typelist of absolute path

Default[ ]

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.processes.exportRealms#

Global toggle to enable/disable the realms export process keycloak-realm-export-all if any realms have realms.«name».export == true.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.realms#

Specify the realms you want to import on start up and export on a manual start of process/script ‘keycloak-realm-export-all’.

Typeattribute set of (submodule)

Default{ }

Example

{
  myrealm = {
    path = "./myfolder/export.json";
    import = true; # default
    export = true;
  };
}

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.realms.\<name\>.export#

If you want to export that realm on process/script launch keycloak-export-realms.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.realms.\<name\>.import#

If you want to import that realm on start up, if the realm does not yet exist.

Typeboolean

Defaulttrue

Exampletrue

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.realms.\<name\>.path#

The path (string, relative to DEVENV_ROOT) where you want to import (or export) this realm «name» to. If not set and import is true this realm is not imported. If not set and export is true its exported to $DEVENV_STATE/keycloak/realm-export/«name».json.

Typenull or relative path not in the Nix store

Defaultnull

Example"./realms/a.json"

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.scripts.exportRealm#

Global toggle to enable/disable the single realm export script keycloak-realm-export.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.settings#

Configuration options corresponding to parameters set in {file}conf/keycloak.conf.

Most available options are documented at https://www.keycloak.org/server/all-config.

Options containing secret data should be set to an attribute set containing the attribute _secret - a string pointing to a file containing the value the option should be set to. See the example to get a better picture of this: in the resulting {file}conf/keycloak.conf file, the https-key-store-password key will be set to the contents of the {file}/run/keys/store_password file.

Typeopen submodule of attribute set of (null or string or signed integer or boolean or attribute set of absolute path)

Example

{
  hostname = "localhost";
  https-key-store-file = "/path/to/file";
  https-key-store-password = { _secret = "/run/keys/store_password"; };
}

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.settings.hostname#

The hostname part of the public URL used as base for all frontend requests.

See https://www.keycloak.org/server/hostname for more information about hostname configuration.

Typestring

Default"localhost"

Example"localhost"

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.settings.http-host#

On which address Keycloak should accept new connections.

Typestring

Default"::"

Example"::1"

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.settings.http-port#

On which port Keycloak should listen for new HTTP connections.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default8080

Example8080

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.settings.http-relative-path#

The path relative to / for serving resources.

::: {.note} In versions of Keycloak using Wildfly (<17), this defaulted to /auth. If upgrading from the Wildfly version of Keycloak, i.e. a NixOS version before 22.05, you’ll likely want to set this to /auth to keep compatibility with your clients.

See https://www.keycloak.org/migration/migrating-to-quarkus for more information on migrating from Wildfly to Quarkus. :::

Typestring

Default"/"

Example"/auth"

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.settings.https-port#

On which port Keycloak should listen for new HTTPS connections. If its not set, its disabled.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default34429

Example34429

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.sslCertificate#

The path to a PEM formatted certificate to use for TLS/SSL connections.

Typenull or relative path not in the Nix store

Defaultnull

Example"/run/keys/ssl_cert"

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.keycloak.sslCertificateKey#

The path to a PEM formatted private key to use for TLS/SSL connections.

Typenull or relative path not in the Nix store

Defaultnull

Example"/run/keys/ssl_key"

Declared indevenv/blob/main/src/modules/services/keycloak.nix

services.mailhog.additionalArgs#

Additional arguments passed to mailhog.

Typelist of strings concatenated with "\n"

Default[ ]

Example

[
  "-invite-jim"
]

Declared indevenv/blob/main/src/modules/services/mailhog.nix

services.mailhog.apiListenAddress#

Listen address for API.

Typestring

Default"127.0.0.1:8025"

Declared indevenv/blob/main/src/modules/services/mailhog.nix

services.mailhog.enable#

Whether to enable mailhog process.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/mailhog.nix

services.mailhog.package#

Which package of mailhog to use

Typepackage

Defaultpkgs.mailhog

Declared indevenv/blob/main/src/modules/services/mailhog.nix

services.mailhog.smtpListenAddress#

Listen address for SMTP.

Typestring

Default"127.0.0.1:1025"

Declared indevenv/blob/main/src/modules/services/mailhog.nix

services.mailhog.uiListenAddress#

Listen address for UI.

Typestring

Default"127.0.0.1:8025"

Declared indevenv/blob/main/src/modules/services/mailhog.nix

services.mailpit.additionalArgs#

Additional arguments passed to mailpit.

Typelist of strings concatenated with "\n"

Default[ ]

Example

[
  "--max=500"
]

Declared indevenv/blob/main/src/modules/services/mailpit.nix

services.mailpit.enable#

Whether to enable mailpit process.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/mailpit.nix

services.mailpit.package#

Which package of mailpit to use

Typepackage

Defaultpkgs.mailpit

Declared indevenv/blob/main/src/modules/services/mailpit.nix

services.mailpit.smtpListenAddress#

Listen address for SMTP.

Typestring

Default"127.0.0.1:1025"

Declared indevenv/blob/main/src/modules/services/mailpit.nix

services.mailpit.uiListenAddress#

Listen address for UI.

Typestring

Default"127.0.0.1:8025"

Declared indevenv/blob/main/src/modules/services/mailpit.nix

services.meilisearch.enable#

Whether to enable Meilisearch.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/meilisearch.nix

services.meilisearch.environment#

Defines the running environment of Meilisearch.

Typeone of "development", "production"

Default"development"

Declared indevenv/blob/main/src/modules/services/meilisearch.nix

services.meilisearch.listenAddress#

Meilisearch listen address.

Typestring

Default"127.0.0.1"

Declared indevenv/blob/main/src/modules/services/meilisearch.nix

services.meilisearch.listenPort#

Meilisearch port to listen on.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default7700

Declared indevenv/blob/main/src/modules/services/meilisearch.nix

services.meilisearch.logLevel#

Defines how much detail should be present in Meilisearch’s logs. Meilisearch currently supports four log levels, listed in order of increasing verbosity:

  • ‘ERROR’: only log unexpected events indicating Meilisearch is not functioning as expected
  • ‘WARN:’ log all unexpected events, regardless of their severity
  • ‘INFO:’ log all events. This is the default value
  • ‘DEBUG’: log all events and including detailed information on Meilisearch’s internal processes. Useful when diagnosing issues and debugging

Typestring

Default"INFO"

Declared indevenv/blob/main/src/modules/services/meilisearch.nix

services.meilisearch.maxIndexSize#

Sets the maximum size of the index. Value must be given in bytes or explicitly stating a base unit. For example, the default value can be written as 107374182400, ‘107.7Gb’, or ‘107374 Mb’. Default is 100 GiB

Typestring

Default"107374182400"

Declared indevenv/blob/main/src/modules/services/meilisearch.nix

services.meilisearch.noAnalytics#

Deactivates analytics. Analytics allow Meilisearch to know how many users are using Meilisearch, which versions and which platforms are used. This process is entirely anonymous.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/meilisearch.nix

services.meilisearch.package#

Which Meilisearch package to use

Typepackage

Default"pkgs.meilisearch"

Declared indevenv/blob/main/src/modules/services/meilisearch.nix

services.memcached.bind#

The IP interface to bind to. null means “all interfaces”.

Typenull or string

Default"127.0.0.1"

Example"127.0.0.1"

Declared indevenv/blob/main/src/modules/services/memcached.nix

services.memcached.enable#

Whether to enable memcached process.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/memcached.nix

services.memcached.package#

Which package of memcached to use

Typepackage

Defaultpkgs.memcached

Declared indevenv/blob/main/src/modules/services/memcached.nix

services.memcached.port#

The TCP port to accept connections. If port 0 is specified memcached will not listen on a TCP socket.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default11211

Declared indevenv/blob/main/src/modules/services/memcached.nix

services.memcached.startArgs#

Additional arguments passed to memcached during startup.

Typelist of strings concatenated with "\n"

Default[ ]

Example

[
  "--memory-limit=100M"
]

Declared indevenv/blob/main/src/modules/services/memcached.nix

services.minio.accessKey#

Access key of 5 to 20 characters in length that clients use to access the server.

Typestring

Default"minioadmin"

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.afterStart#

Bash code to execute after minio is running.

Typestrings concatenated with "\n"

Default""

Example

''
  mc anonymous set download local/mybucket
''

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.browser#

Enable or disable access to web UI.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.buckets#

List of buckets to ensure exist on startup.

Typelist of string

Default[ ]

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.clientConfig#

Contents of the mc config.json, as a nix attribute set.

By default, local is configured to connect to the devenv minio service. Use lib.mkForce null to use your regular mc configuration from $HOME/.mc instead.

Typenull or JSON value

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.clientPackage#

MinIO client package to use.

Typepackage

Defaultpkgs.minio-client

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.consoleAddress#

IP address and port of the web UI (console).

Typestring

Default"127.0.0.1:9001"

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.enable#

Whether to enable MinIO Object Storage.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.listenAddress#

IP address and port of the server.

Typestring

Default"127.0.0.1:9000"

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.package#

MinIO package to use.

Typepackage

Defaultpkgs.minio

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.region#

The physical location of the server. By default it is set to us-east-1, which is same as AWS S3’s and MinIO’s default region.

Typestring

Default"us-east-1"

Declared indevenv/blob/main/src/modules/services/minio.nix

services.minio.secretKey#

Specify the Secret key of 8 to 40 characters in length that clients use to access the server.

Typestring

Default"minioadmin"

Declared indevenv/blob/main/src/modules/services/minio.nix

services.mongodb.additionalArgs#

Additional arguments passed to mongod.

Typelist of strings concatenated with "\n"

Default

[
  "--noauth"
]

Example

[
  "--port"
  "27017"
  "--noauth"
]

Declared indevenv/blob/main/src/modules/services/mongodb.nix

services.mongodb.enable#

Whether to enable MongoDB process and expose utilities.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/mongodb.nix

services.mongodb.initDatabasePassword#

This used in conjunction with initDatabaseUsername, create a new user and set that user’s password. This user is created in the admin authentication database and given the role of root, which is a “superuser” role.

Typestring

Default""

Example"secret"

Declared indevenv/blob/main/src/modules/services/mongodb.nix

services.mongodb.initDatabaseUsername#

This used in conjunction with initDatabasePassword, create a new user and set that user’s password. This user is created in the admin authentication database and given the role of root, which is a “superuser” role.

Typestring

Default""

Example"mongoadmin"

Declared indevenv/blob/main/src/modules/services/mongodb.nix

services.mongodb.package#

Which MongoDB package to use.

Typepackage

Defaultpkgs.mongodb-ce

Declared indevenv/blob/main/src/modules/services/mongodb.nix

services.mongodb.replication.enable#

Whether to enable MongoDB replication with a 1-node replica-set..

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/mongodb.nix

services.mongodb.replication.replSet#

Replica-set name

Typestring

Default"rs0"

Example"rs0"

Declared indevenv/blob/main/src/modules/services/mongodb.nix

services.mosquitto.bind#

The IP interface to bind to. null means “all interfaces”.

Typenull or string

Default"127.0.0.1"

Example"127.0.0.1"

Declared indevenv/blob/main/src/modules/services/mosquitto.nix

services.mosquitto.enable#

Whether to enable mosquitto MQTT broker.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/mosquitto.nix

services.mosquitto.extraConfig#

Additional text to append to mosquitto.conf.

Typestrings concatenated with "\n"

Default""

Example

''
  max_queued_messages 1000
''

Declared indevenv/blob/main/src/modules/services/mosquitto.nix

services.mosquitto.package#

Which package of mosquitto to use

Typepackage

Defaultpkgs.mosquitto

Declared indevenv/blob/main/src/modules/services/mosquitto.nix

services.mosquitto.port#

The TCP port to accept MQTT connections.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default1883

Declared indevenv/blob/main/src/modules/services/mosquitto.nix

services.mysql.enable#

Whether to enable MySQL process and expose utilities.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.ensureUsers#

Ensures that the specified users exist and have at least the ensured permissions. The MySQL users will be identified using Unix socket authentication. This authenticates the Unix user with the same name only, and that without the need for a password. This option will never delete existing users or remove permissions, especially not when the value of this option is changed. This means that users created and permissions assigned once through this option or otherwise have to be removed manually.

Typelist of (submodule)

Default[ ]

Example

[
  {
    name = "devenv";
    ensurePermissions = {
      "devenv.*" = "ALL PRIVILEGES";
    };
  }
]

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.ensureUsers.*.ensurePermissions#

Permissions to ensure for the user, specified as attribute set. The attribute names specify the database and tables to grant the permissions for, separated by a dot. You may use wildcards here. The attribute values specfiy the permissions to grant. You may specify one or multiple comma-separated SQL privileges here. For more information on how to specify the target and on which privileges exist, see the GRANT syntax. The attributes are used as GRANT ${attrName} ON ${attrValue}.

Typeattribute set of string

Default{ }

Example

{
  "database.*" = "ALL PRIVILEGES";
  "*.*" = "SELECT, LOCK TABLES";
}

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.ensureUsers.*.host#

Host of the user to ensure.

Typestring

Default"localhost"

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.ensureUsers.*.name#

Name of the user to ensure.

Typestring

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.ensureUsers.*.password#

Password of the user to ensure.

Typenull or string

Defaultnull

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.importTimeZones#

Whether to import tzdata on the first startup of the mysql server

Typenull or boolean

Defaultnull

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.initialDatabases#

List of database names and their initial schemas that should be used to create databases on the first startup of MySQL. The schema attribute is optional: If not specified, an empty database is created.

Typelist of (submodule)

Default[ ]

Example

[
  { name = "foodatabase"; schema = ./foodatabase.sql; }
  { name = "bardatabase"; }
]

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.initialDatabases.*.name#

The name of the database to create.

Typestring

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.initialDatabases.*.schema#

The initial schema of the database; if null (the default), an empty database is created.

Typenull or absolute path

Defaultnull

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.package#

Which package of MySQL to use

Typepackage

Defaultpkgs.mariadb

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.settings#

MySQL configuration.

Typelazy attribute set of lazy attribute set of anything

Default{ }

Example

{
  mysqld = {
    key_buffer_size = "6G";
    table_cache = 1600;
    log-error = "/var/log/mysql_err.log";
    plugin-load-add = [ "server_audit" "ed25519=auth_ed25519" ];
  };
  mysqldump = {
    quick = true;
    max_allowed_packet = "16M";
  };
}

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.mysql.useDefaultsExtraFile#

Whether to use defaults-exta-file for the mysql command instead of defaults-file. This is useful if you want to provide a config file on the command line. However this can problematic if you have MySQL installed globaly because its config might leak into your environment. This option does not affect the mysqld command.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/mysql.nix

services.nats.authorization.enable#

Whether to enable authorization for client connections.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.authorization.password#

Password required for client connections. Only used if authorization is enabled. Warning: This will be visible in the Nix store.

Typestring

Default""

Example"nats-pass"

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.authorization.token#

Token required for client connections. Alternative to user/password authentication. Warning: This will be visible in the Nix store.

Typestring

Default""

Example"my-secret-token"

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.authorization.user#

Username required for client connections. Only used if authorization is enabled.

Typestring

Default""

Example"nats-user"

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.clientAdvertise#

Client URL to advertise to other servers in a cluster. Useful when running behind NAT or in containers.

Typestring

Default""

Example"localhost:4222"

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.debug#

Enable debug logging for troubleshooting.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.enable#

Whether to enable the NATS messaging server.

NATS is a simple, secure and high performance messaging system for cloud native applications, IoT messaging, and microservices architectures.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.host#

Network host to listen on for client connections. Set to “0.0.0.0” to listen on all interfaces. Default is localhost for security.

Typestring

Default"127.0.0.1"

Example"0.0.0.0"

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.jetstream.enable#

Whether to enable JetStream persistence layer for streaming and queues.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.jetstream.maxFileStore#

Maximum disk space for file-based streams. Use suffixes: K, M, G, T for sizes.

Typestring

Default"10G"

Example"100G"

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.jetstream.maxMemory#

Maximum memory for in-memory streams. Use suffixes: K, M, G, T for sizes.

Typestring

Default"1G"

Example"512M"

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.logFile#

Path to log file. If empty, logs to stdout. Stdout is recommended for devenv as logs are captured by process manager.

Typestring

Default""

Example"/var/log/nats-server.log"

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.monitoring.enable#

Enable HTTP monitoring endpoint. Provides /healthz, /varz, /connz, and other monitoring endpoints. Highly recommended for production deployments.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.monitoring.port#

Port for HTTP monitoring endpoint. Access monitoring at http://host:port/varz

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default8222

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.package#

Which NATS server package to use.

Typepackage

Defaultpkgs.nats-server

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.port#

Port to listen on for client connections.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default4222

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.serverName#

Server name for identification in clusters. If empty, NATS will auto-generate a unique name.

Typestring

Default""

Example"nats-dev-1"

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.settings#

Additional NATS server configuration as a Nix attribute set. This will be converted to NATS config file format.

Use this for advanced features like:

  • TLS/SSL configuration
  • Clustering with routes
  • MQTT gateway
  • WebSocket support
  • Custom authorization

See https://docs.nats.io/running-a-nats-service/configuration

Typeattribute set

Default{ }

Example

{
  tls = {
    cert_file = "/path/to/cert.pem";
    key_file = "/path/to/key.pem";
    verify = true;
  };
  cluster = {
    name = "my-cluster";
    listen = "0.0.0.0:6222";
    routes = [
      "nats://node1:6222"
      "nats://node2:6222"
    ];
  };
}

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nats.trace#

Enable protocol tracing for deep debugging. Warning: Very verbose output.

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/nats.nix

services.nginx.defaultMimeTypes#

Default MIME types for NGINX, as MIME types definitions from NGINX are very incomplete, we use by default the ones bundled in the mailcap package, used by most of the other Linux distributions.

Typeabsolute path

Default${pkgs.mailcap}/etc/nginx/mime.types

Example${pkgs.nginx}/conf/mime.types

Declared indevenv/blob/main/src/modules/services/nginx.nix

services.nginx.enable#

Whether to enable nginx.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/nginx.nix

services.nginx.eventsConfig#

The nginx events configuration.

Typestrings concatenated with "\n"

Default""

Declared indevenv/blob/main/src/modules/services/nginx.nix

services.nginx.httpConfig#

The nginx configuration.

Typestrings concatenated with "\n"

Default""

Declared indevenv/blob/main/src/modules/services/nginx.nix

services.nginx.package#

The nginx package to use.

Typepackage

Defaultpkgs.nginx

Declared indevenv/blob/main/src/modules/services/nginx.nix

services.nixseparatedebuginfod.cache.directory#

Override the directory where files downloaded from the substituter are stored.

Default is $XDG_CACHE_DIR/nixseparatedebuginfod2.

Typenull or string

Defaultnull

Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix

services.nixseparatedebuginfod.cache.expiration#

How long to keep cache entries. A number followed by a unit.

Typestring

Default"1d"

Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix

services.nixseparatedebuginfod.enable#

Whether to enable nixseparatedebuginfod.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix

services.nixseparatedebuginfod.host#

IP address for nixseparatedebuginfod to listen on.

Typestring

Default"127.0.0.1"

Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix

services.nixseparatedebuginfod.package#

nixseparatedebuginfod package to use.

Typepackage

Defaultpkgs.nixseparatedebuginfod2

Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix

services.nixseparatedebuginfod.port#

Port for nixseparatedebuginfod to listen on.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default1949

Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix

services.nixseparatedebuginfod.substituters#

Substituters to fetch debuginfo from.

Typelist of string

Default

[
  "local:"
  "https://cache.nixos.org"
]

Declared indevenv/blob/main/src/modules/services/nixseparatedebuginfod.nix

services.opensearch.enable#

Whether to enable OpenSearch.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.extraCmdLineOptions#

Extra command line options for the OpenSearch launcher.

Typelist of string

Default[ ]

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.extraJavaOptions#

Extra command line options for Java.

Typelist of string

Default[ ]

Example

[
  "-Djava.net.preferIPv4Stack=true"
]

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.logging#

OpenSearch logging configuration.

Typestring

Default

''
  logger.action.name = org.opensearch.action
  logger.action.level = info
  appender.console.type = Console
  appender.console.name = console
  appender.console.layout.type = PatternLayout
  appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n
  rootLogger.level = info
  rootLogger.appenderRef.console.ref = console
''

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.package#

The OpenSearch package to use.

Typepackage

Defaultpkgs.opensearch

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.settings#

OpenSearch configuration.

Typeopen submodule of (YAML 1.1 value)

Default{ }

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.settings."cluster.name"#

The name of the cluster.

Typestring

Default"opensearch"

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.settings."discovery.type"#

The type of discovery to use.

Typestring

Default"single-node"

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.settings."http.port"#

The port to listen on for HTTP traffic.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default9200

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.settings."network.host"#

Which port this service should listen on.

Typestring

Default"127.0.0.1"

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.settings."plugins.security.disabled"#

Whether to disable the security plugin. When set to false, SSL configuration is required. To enable SSL, set plugins.security.ssl.transport.keystore_filepath or both plugins.security.ssl.transport.server.pemcert_filepath and plugins.security.ssl.transport.client.pemcert_filepath.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opensearch.settings."transport.port"#

The port to listen on for transport traffic.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default9300

Declared indevenv/blob/main/src/modules/services/opensearch.nix

services.opentelemetry-collector.configFile#

Override the configuration file used by OpenTelemetry Collector. By default, a configuration is generated from services.opentelemetry-collector.settings.

If overriding, enable the health_check extension to allow the readiness probe to check whether the Collector is ready. Otherwise, disable the readiness probe by setting processes.opentelemetry-collector.ready = lib.mkForce null;.

Typenull or absolute path

Defaultnull

Example

pkgs.writeTextFile { name = "otel-config.yaml"; text = "..."; }

Declared indevenv/blob/main/src/modules/services/opentelemetry-collector.nix

services.opentelemetry-collector.enable#

Whether to enable opentelemetry-collector.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/opentelemetry-collector.nix

services.opentelemetry-collector.package#

The OpenTelemetry Collector package to use

Typepackage

Defaultpkgs.opentelemetry-collector-contrib

Declared indevenv/blob/main/src/modules/services/opentelemetry-collector.nix

services.opentelemetry-collector.settings#

OpenTelemetry Collector configuration. Refer to https://opentelemetry.io/docs/collector/configuration/ for more information on how to configure the Collector.

Typeopen submodule of (YAML 1.1 value)

DefaultdefaultSettings

Declared indevenv/blob/main/src/modules/services/opentelemetry-collector.nix

services.postgres.createDatabase#

Create a database named like current user on startup. Only applies when initialDatabases is an empty list.

Typeboolean

Defaulttrue

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.enable#

Whether to enable Add PostgreSQL process. .

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.extensions#

Additional PostgreSQL extensions to install.

The available extensions are:

  • age
  • anonymizer
  • apache_datasketches
  • callPackage
  • citus
  • cstore_fdw
  • h3-pg
  • hypopg
  • ip4r
  • jsonb_deep_sum
  • lantern
  • omnigres
  • periods
  • pg-gvm
  • pg-semver
  • pg_auto_failover
  • pg_background
  • pg_bigm
  • pg_byteamagic
  • pg_cron
  • pg_csv
  • pg_ed25519
  • pg_embedding
  • pg_graphql
  • pg_hint_plan
  • pg_hll
  • pg_ivm
  • pg_libversion
  • pg_net
  • pg_partman
  • pg_rational
  • pg_relusage
  • pg_repack
  • pg_roaringbitmap
  • pg_safeupdate
  • pg_search
  • pg_similarity
  • pg_squeeze
  • pg_tle
  • pg_topn
  • pg_uuidv7
  • pgaudit
  • pgddl
  • pgjwt
  • pgmq
  • pgroonga
  • pgrouting
  • pgsodium
  • pgsql-http
  • pgtap
  • pgvecto-rs
  • pgvector
  • pgvectorscale
  • pgx_ulid
  • plperl
  • plpgsql_check
  • plpython3
  • plr
  • pltcl
  • plv8
  • pointcloud
  • postgis
  • repmgr
  • rum
  • smlar
  • sqlite_fdw
  • system_stats
  • tds_fdw
  • temporal_tables
  • timescaledb
  • timescaledb-apache
  • timescaledb_toolkit
  • tsja
  • vectorchord
  • wal2json

Typenull or (function that evaluates to a(n) list of package)

Defaultnull

Example

extensions: [
  extensions.pg_cron
  extensions.postgis
  extensions.timescaledb
];

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.hbaConf#

The contents of a custom pg_hba.conf file to copy into the postgres installation. This allows for custom connection rules that you want to establish on the server.

Typenull or string

Defaultnull

Example

builtins.readFile ./my-custom/directory/to/pg_hba.conf

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.initdbArgs#

Additional arguments passed to initdb during data dir initialisation.

Typelist of strings concatenated with "\n"

Default

[
  "--locale=C"
  "--encoding=UTF8"
]

Example

[
  "--data-checksums"
  "--allow-group-access"
]

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.initialDatabases#

List of database names and their initial schemas that should be used to create databases on the first startup of Postgres. The schema attribute is optional: If not specified, an empty database is created.

Typelist of (submodule)

Default[ ]

Example

[
  {
    name = "foodatabase";
    schema = ./foodatabase.sql;
  }
  { name = "bardatabase"; }
]

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.initialDatabases.*.initialSQL#

SQL commands to run on this specific database during it’s initialization. Multiple SQL expressions can be separated by semicolons.

Typenull or string

Defaultnull

Example

CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT);
INSERT INTO users (name) VALUES ('admin');
CREATE EXTENSION IF NOT EXISTS pg_uuidv7;

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.initialDatabases.*.name#

The name of the database to create.

Typestring

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.initialDatabases.*.pass#

Password of the database owner role. Requires user to be set.

Typenull or string

Defaultnull

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.initialDatabases.*.schema#

The initial schema of the database; if null (the default), an empty database is created.

Typenull or absolute path

Defaultnull

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.initialDatabases.*.user#

Username of owner of the database. If set, a role with this name is created and the database is owned by it. If null, the default $USER is used.

Typenull or string

Defaultnull

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.initialScript#

Initial SQL commands to run during database initialization. This can be multiple SQL expressions separated by a semi-colon. Use initialScript for server-wide setup, such as creating roles or configuring global settings. For database-specific initialization, use initialSQL within initialDatabases. initialScript is executed after the initialDatabases setup is done.

Typenull or string

Defaultnull

Example

CREATE ROLE postgres SUPERUSER;
CREATE ROLE bar;

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.listen_addresses#

A comma-separated list of TCP/IP address(es) on which the server should listen for connections.

By default, the server only accepts connections over unix sockets.

This option is parsed to set the PGHOST environment variable.

Special values:

  • ‘*’ to listen on all available network interfaces.
  • ‘0.0.0.0’ to listen on all available IPv4 network interfaces.
  • ‘::’ to listen on all available IPv6 network interfaces.
  • ‘localhost’ to listen only on the loopback interface.
  • ‘’ (empty string) disables TCP/IP connections and listens only on the unix socket.

Typestring

Default""

Example"127.0.0.1"

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.package#

The PostgreSQL package to use. Use this to override the default with a specific version.

Typepackage

Defaultpkgs.postgresql

Example

pkgs.postgresql_15

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.port#

The TCP port to accept connections.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default5432

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.postgres.settings#

PostgreSQL configuration. Refer to https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE for an overview of postgresql.conf.

String values will automatically be enclosed in single quotes. Single quotes will be escaped with two single quotes as described by the upstream documentation linked above.

Typeattribute set of (boolean or floating point number or signed integer or string)

Default{ }

Example

{
  log_connections = true;
  log_statement = "all";
  logging_collector = true
  log_disconnections = true
  log_destination = lib.mkForce "syslog";
}

Declared indevenv/blob/main/src/modules/services/postgres.nix

services.prometheus.advanced.storage#

Storage configuration

Typeattribute set

Default{ }

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.advanced.tsdb#

TSDB configuration

Typeattribute set

Default{ }

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.alerting#

Alerting configuration

Typenull or (attribute set)

Defaultnull

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.enable#

Whether to enable Prometheus monitoring system.

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.experimentalFeatures.enableExemplars#

Enable exemplar storage

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.experimentalFeatures.enableOTLP#

Enable OTLP receiver

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.experimentalFeatures.enableTracing#

Enable tracing

Typeboolean

Defaultfalse

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.extraArgs#

Additional arguments to pass to Prometheus

Typestring

Default""

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.globalConfig#

Global Prometheus configuration

Typeattribute set

Default

{
  evaluation_interval = "1m";
  scrape_interval = "1m";
  scrape_timeout = "10s";
}

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.package#

Which package of Prometheus to use

Typepackage

Defaultpkgs.prometheus

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.port#

Port for Prometheus web interface.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default9090

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.remoteRead#

Remote read configurations

Typelist of (attribute set)

Default[ ]

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.remoteWrite#

Remote write configurations

Typelist of (attribute set)

Default[ ]

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.ruleFiles#

List of rule files to load

Typelist of string

Default[ ]

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.scrapeConfigs#

List of scrape configurations

Typelist of (attribute set)

Default[ ]

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.storage.path#

Path where Prometheus will store its database

Typestring

Default${config.devenv.state}/prometheus

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.prometheus.storage.retentionTime#

How long to retain data

Typestring

Default"15d"

Declared indevenv/blob/main/src/modules/services/prometheus.nix

services.rabbitmq.configItems#

Configuration options in RabbitMQ’s new config file format, which is a simple key-value format that can not express nested data structures. This is known as the rabbitmq.conf file, although outside NixOS that filename may have Erlang syntax, particularly prior to RabbitMQ 3.7.0. If you do need to express nested data structures, you can use config option. Configuration from config will be merged into these options by RabbitMQ at runtime to form the final configuration. See https://www.rabbitmq.com/configure.html#config-items For the distinct formats, see https://www.rabbitmq.com/configure.html#config-file-formats

Typeattribute set of string

Default{ }

Example

{
  "auth_backends.1.authn" = "rabbit_auth_backend_ldap";
  "auth_backends.1.authz" = "rabbit_auth_backend_internal";
}

Declared indevenv/blob/main/src/modules/services/rabbitmq.nix

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., “cap_net_admin”, “cap_sys_admin”).

Requires devenv 2.0+.

Typelist of string

Default[ ]

Example

[
  "cap_net_admin"
  "cap_sys_admin"
]

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

tasks.\<name\>.process.listen#

Socket activation configuration for systemd-style socket passing.

Typelist of (submodule)

Default[ ]

Example

[
  {
    address = "127.0.0.1:8080";
    kind = "tcp";
    name = "http";
  }
  {
    kind = "unix_stream";
    mode = 384;
    name = "admin";
    path = "$DEVENV_STATE/admin.sock";
  }
]

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

tasks.\<name\>.process.listen.*.address#

TCP address (e.g., ‘127.0.0.1:8080’). Required for TCP sockets.

Typenull or string

Defaultnull

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

tasks.\<name\>.process.listen.*.backlog#

Listen backlog size

Typenull or signed integer

Default128

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

tasks.\<name\>.process.listen.*.kind#

Type of socket (tcp or unix_stream)

Typeone of "tcp", "unix_stream"

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

tasks.\<name\>.process.listen.*.mode#

Unix socket file permissions (e.g., 384 for 0o600). Only for unix_stream.

Typenull or signed integer

Defaultnull

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

tasks.\<name\>.process.listen.*.name#

Name of the socket (e.g., ‘http’, ‘admin’)

Typestring

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

tasks.\<name\>.process.listen.*.path#

Unix socket path. Required for unix_stream sockets.

Typenull or string

Defaultnull

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

tasks.\<name\>.process.ports#

Allocated ports for this process (name -> port number). Populated automatically from process port allocation.

Typeattribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default{ }

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

tasks.\<name\>.process.ready#

How to determine if this process task is ready to serve.

Typenull or (submodule)

Defaultnull

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

tasks.\<name\>.process.ready.exec#

Shell command to execute. Exit 0 = ready.

Typenull or string

Defaultnull

Example"pg_isready -d template1"

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

tasks.\<name\>.process.ready.failure_threshold#

Consecutive failures before marking unhealthy.

Typesigned integer

Default3

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

tasks.\<name\>.process.ready.http#

HTTP readiness probe configuration.

Typesubmodule

Default{ }

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

tasks.\<name\>.process.ready.http.get#

HTTP GET readiness check.

Typenull or (submodule)

Defaultnull

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

tasks.\<name\>.process.ready.http.get.host#

Host to connect to.

Typestring

Default"127.0.0.1"

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

tasks.\<name\>.process.ready.http.get.path#

HTTP path to request.

Typestring

Default"/"

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

tasks.\<name\>.process.ready.http.get.port#

Port to connect to.

Type16 bit unsigned integer; between 0 and 65535 (both inclusive)

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

tasks.\<name\>.process.ready.http.get.scheme#

URL scheme (http or https).

Typestring

Default"http"

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

tasks.\<name\>.process.ready.initial_delay#

Seconds to wait before first probe.

Typesigned integer

Default0

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

tasks.\<name\>.process.ready.notify#

Enable systemd notify protocol for readiness signaling. The process must send READY=1 to the NOTIFY_SOCKET.

Typeboolean

Defaultfalse

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

tasks.\<name\>.process.ready.period#

Seconds between probes.

Typesigned integer

Default10

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

tasks.\<name\>.process.ready.probe_timeout#

Seconds before a single probe times out.

Typesigned integer

Default1

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

tasks.\<name\>.process.ready.success_threshold#

Consecutive successes needed to be considered ready.

Typesigned integer

Default1

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

tasks.\<name\>.process.ready.timeout#

Overall deadline in seconds for the process to become ready. null = no deadline.

Typenull or (unsigned integer, meaning >=0)

Defaultnull

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

tasks.\<name\>.process.restart#

Process restart policy.

Typesubmodule

Default{ }

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

tasks.\<name\>.process.restart.max#

Maximum restart attempts. null = unlimited.

Typenull or signed integer

Default5

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

tasks.\<name\>.process.restart.on#

When to restart: never, always, or on_failure.

Typeone of "never", "always", "on_failure"

Default"on_failure"

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

tasks.\<name\>.process.restart.window#

Sliding window in seconds for restart rate limiting. null = lifetime limit.

Typenull or (unsigned integer, meaning >=0)

Defaultnull

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

tasks.\<name\>.process.shutdown#

Graceful shutdown signal and timeout.

Typesubmodule

Default{ }

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

tasks.\<name\>.process.shutdown.grace#

Seconds before shutdown escalates to SIGKILL.

Typeunsigned integer, meaning >=0

Default5

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

tasks.\<name\>.process.shutdown.signal#

Unix signal number used for graceful shutdown.

Typeinteger between 1 and 31 (both inclusive)

Default15

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

tasks.\<name\>.process.start#

Auto-start configuration for this process.

Typesubmodule

Default{ }

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

tasks.\<name\>.process.start.enable#

Whether to start this process automatically.

Typeboolean

Defaulttrue

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

tasks.\<name\>.process.watch#

File watching configuration for automatic process restarts.

Typesubmodule

Default{ }

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

tasks.\<name\>.process.watch.extensions#

File extensions to watch (e.g., “rs”, “js”, “py”). If empty, all file extensions are watched.

Typelist of string

Default[ ]

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

tasks.\<name\>.process.watch.ignore#

Glob patterns to ignore (e.g., “.git”, “target”, “*.log”).

Typelist of string

Default[ ]

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

tasks.\<name\>.process.watch.paths#

Paths to watch for changes (files or directories). When files in these paths change, the process will be restarted.

Typelist of string

Default[ ]

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

tasks.\<name\>.process.watchdog#

Systemd watchdog configuration.

Typenull or (submodule)

Defaultnull

Example

{
  usec = 30000000; # 30 seconds
  require_ready = true;
}

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

tasks.\<name\>.process.watchdog.require_ready#

Require READY=1 notification before enforcing watchdog

Typeboolean

Defaulttrue

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

tasks.\<name\>.process.watchdog.usec#

Watchdog interval in microseconds

Typesigned integer

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

tasks.\<name\>.showOutput#

Always show task output (stdout and stderr), regardless of whether the task succeeds or fails.

Typeboolean

Defaultfalse

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

tasks.\<name\>.status#

Check if the command should be ran

Typenull or string

Defaultnull

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

tasks.\<name\>.type#

Type of task:

  • oneshot: Task runs once and completes (default)
  • process: Task is a long-running process

Typeone of "oneshot", "process"

Default"oneshot"

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

treefmt

treefmt.config#

treefmt configuration.

Typesubmodule

Default{ }

Declared indevenv/blob/main/src/modules/integrations/treefmt.nix

treefmt.config.build.check#

Create a flake check to test that the given project tree is already formatted.

Input argument is the path to the project tree (usually ‘self’).

Typefunction that evaluates to a(n) package

DefaultDefault check implementation

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.build.configFile#

Contains the generated config file derived from the settings.

Typeabsolute path

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.build.devShell#

The development shell with treefmt and its underlying programs

Typepackage

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.build.programs#

Attrset of formatter programs enabled in treefmt configuration.

The key of the attrset is the formatter name, with the value being the package used to do the formatting.

Typeattribute set of package

DefaultPrograms used in configuration

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.build.wrapper#

The treefmt package, wrapped with the config file.

Typepackage

Defaultwrapped `treefmt` command

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.enableDefaultExcludes#

Enable the default excludes in the treefmt configuration.

Typeboolean

Defaulttrue

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.package#

The treefmt package to use.

Typepackage

Defaultpkgs.treefmt

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.pkgs#

Nixpkgs to use in treefmt.

Typelazy attribute set of raw value

Declared indevenv/blob/main/src/modules/integrations/treefmt.nix

treefmt.config.programs.actionlint.enable#

Whether to enable actionlint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/actionlint.nix

treefmt.config.programs.aiken.enable#

Whether to enable aiken.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/aiken.nix

treefmt.config.programs.alejandra.enable#

Whether to enable alejandra.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/alejandra.nix

treefmt.config.programs.asmfmt.enable#

Whether to enable asmfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/asmfmt.nix

treefmt.config.programs.autocorrect.enable#

Whether to enable autocorrect.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.context#

Enable or disable in a specific context.

Typenull or (submodule)

Defaultnull

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.context.codeblock#

Enable or disable to format codeblock in Markdown or AsciiDoc etc.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"error"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.fileTypes#

Configure the files associations, you config is higher priority than default.

Typenull or (attribute set of string)

Defaultnull

Example

{
  "*.js" = "javascript";
  ".mdx" = "markdown";
  Rakefile = "ruby";
  rb = "ruby";
}

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules#

Configure rules for autocorrect formatting.

Typenull or (submodule)

Defaultnull

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.fullwidth#

Convert to fullwidth.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"error"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.halfwidth-punctuation#

Fullwidth punctuations to halfwidth in english.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"error"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.halfwidth-word#

Fullwidth alphanumeric characters to halfwidth.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"error"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.no-space-fullwidth#

Remove space near the fullwidth.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"error"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.space-backticks#

Add space between ``, when near the CJK.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"error"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.space-bracket#

Add space between brackets (), [] when near the CJK.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"error"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.space-dash#

Add space between dash -.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"off"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.space-dollar#

Add space between dollar $ when near the CJK.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"off"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.space-punctuation#

Add space between some punctuations.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"error"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.space-word#

Auto add spacing between CJK (Chinese, Japanese, Korean) and English words.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"off"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.rules.spellcheck#

Spellcheck.

Typenull or one of "off", "error", "warning"

Defaultnull

Example"warning"

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.spellcheck#

Spellcheck configuration.

Typenull or (submodule)

Defaultnull

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.spellcheck.words#

Correct Words (Case insensitive) for by Spellcheck.

Typenull or (list of string)

Defaultnull

Example

[
  "GitHub"
  "App Store"
  "AppStore = App Store"
  "Git"
  "Node.js"
  "nodejs = Node.js"
  "VIM"
  "DNS"
  "HTTP"
  "SSL"
]

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.settings.textRules#

Configure special rules for some texts.

Typenull or (attribute set of (null or one of "off", "error", "warning"))

Defaultnull

Example

{
  "Hello你好" = "warning";
  "Hi你好" = "off";
}

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.autocorrect.threads#

Number of threads, 0 - use number of CPU. [default: 0]

Typenull or signed integer

Defaultnull

Example2

Declared intreefmt-nix/blob/main/programs/autocorrect.nix

treefmt.config.programs.beautysh.enable#

Whether to enable beautysh.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/beautysh.nix

treefmt.config.programs.beautysh.indent_size#

Sets the number of spaces to be used in indentation.

Typesigned integer

Default2

Example4

Declared intreefmt-nix/blob/main/programs/beautysh.nix

treefmt.config.programs.biome.enable#

Whether to enable biome.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/biome.nix

treefmt.config.programs.biome.formatCommand#

The command to run Biome with.

Typeone of "format", "lint", "check"

Default"check"

Example"format"

Declared intreefmt-nix/blob/main/programs/biome.nix

treefmt.config.programs.biome.formatUnsafe#

Allows to format a document that has unsafe fixes.

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/biome.nix

treefmt.config.programs.biome.settings#

Raw Biome configuration (must conform to Biome JSON schema)

TypeJSON value

Default{ }

Example

{
  formatter = {
    indentStyle = "space";
    lineWidth = 100;
  };
  javascript = {
    formatter = {
      lineWidth = 120;
      quoteStyle = "single";
    };
  };
  json = {
    formatter = {
      enabled = false;
    };
  };
}

Declared intreefmt-nix/blob/main/programs/biome.nix

treefmt.config.programs.biome.validate.enable#

Whether to validate treefmt.config.programs.biome.settings.

Typeboolean

Defaulttrue

Examplefalse

Declared intreefmt-nix/blob/main/programs/biome.nix

treefmt.config.programs.biome.validate.schema#

The biome schema file to validate against

Typeabsolute path

Default

Fetches `"https://biomejs.dev/schemas/${biomeVersion}/schema.json"` using `pkgs.fetchurl`.

Example

pkgs.fetchurl {
  url = "https://biomejs.dev/schemas/2.1.2/schema.json"
  hash = "sha256-n4Y16J7g34e0VdQzRItu/P7n5oppkY4Vm4P1pQxOILU=";
}

Declared intreefmt-nix/blob/main/programs/biome.nix

treefmt.config.programs.black.enable#

Whether to enable black.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/black.nix

treefmt.config.programs.buf.enable#

Whether to enable buf.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/buf.nix

treefmt.config.programs.buildifier.enable#

Whether to enable buildifier.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/buildifier.nix

treefmt.config.programs.cabal-fmt.enable#

Whether to enable cabal-fmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/cabal-fmt.nix

treefmt.config.programs.cabal-gild.enable#

Whether to enable cabal-gild.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/cabal-gild.nix

treefmt.config.programs.clang-format.enable#

Whether to enable clang-format.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/clang-format.nix

treefmt.config.programs.clang-tidy.compileCommandsPath#

used to read a compile command database

Typenull or absolute path or string

Defaultnull

Example"/my/cmake/build/directory"

Declared intreefmt-nix/blob/main/programs/clang-tidy.nix

treefmt.config.programs.clang-tidy.configFile#

Specify the path of .clang-tidy or custom config file

Typenull or absolute path

Defaultnull

Example"/some/path/myTidyConfigFile"

Declared intreefmt-nix/blob/main/programs/clang-tidy.nix

treefmt.config.programs.clang-tidy.enable#

Whether to enable clang-tidy.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/clang-tidy.nix

treefmt.config.programs.clang-tidy.quiet#

Run clang-tidy in quiet mode

Typeboolean

Defaulttrue

Declared intreefmt-nix/blob/main/programs/clang-tidy.nix

treefmt.config.programs.cljfmt.enable#

Whether to enable cljfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/cljfmt.nix

treefmt.config.programs.cmake-format.enable#

Whether to enable cmake-format.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/cmake-format.nix

treefmt.config.programs.csharpier.enable#

Whether to enable csharpier.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/csharpier.nix

treefmt.config.programs.cue.enable#

Whether to enable cue.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/cue.nix

treefmt.config.programs.d2.enable#

Whether to enable d2.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/d2.nix

treefmt.config.programs.dart-format.enable#

Whether to enable dart-format.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/dart-format.nix

treefmt.config.programs.deadnix.enable#

Whether to enable deadnix.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/deadnix.nix

treefmt.config.programs.deadnix.no-lambda-arg#

Whether to enable Don’t check lambda parameter arguments.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/deadnix.nix

treefmt.config.programs.deadnix.no-lambda-pattern-names#

Whether to enable Don’t check lambda attrset pattern names (don’t break nixpkgs callPackage).

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/deadnix.nix

treefmt.config.programs.deadnix.no-underscore#

Whether to enable Don’t check any bindings that start with a _.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/deadnix.nix

treefmt.config.programs.deno.enable#

Whether to enable deno.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/deno.nix

treefmt.config.programs.detekt.buildUponDefaultConfig#

Preconfigures detekt with a bunch of rules and some opinionated defaults for you. Allows additional provided configurations to override the defaults.

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/detekt.nix

treefmt.config.programs.detekt.configFile#

Path to detekt configuration file

Typenull or absolute path

Defaultnull

Example"./detekt-config.yml"

Declared intreefmt-nix/blob/main/programs/detekt.nix

treefmt.config.programs.detekt.enable#

Whether to enable detekt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/detekt.nix

treefmt.config.programs.dfmt.enable#

Whether to enable dfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/dfmt.nix

treefmt.config.programs.dhall.enable#

Whether to enable dhall.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/dhall.nix

treefmt.config.programs.dhall.lint#

Whether to lint in addition to formatting.

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/dhall.nix

treefmt.config.programs.djlint.enable#

Whether to enable djlint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/djlint.nix

treefmt.config.programs.djlint.ignoreRules#

Which H-rules to ignore

Typelist of string

Default[ ]

Declared intreefmt-nix/blob/main/programs/djlint.nix

treefmt.config.programs.djlint.indent#

Default indentation depth in spaces

Typeunsigned integer, meaning >=0

Default4

Declared intreefmt-nix/blob/main/programs/djlint.nix

treefmt.config.programs.djlint.lint#

Whether to lint in addition to formatting.

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/djlint.nix

treefmt.config.programs.dnscontrol.enable#

Whether to enable dnscontrol.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/dnscontrol.nix

treefmt.config.programs.dockerfmt.enable#

Whether to enable dockerfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/dockerfmt.nix

treefmt.config.programs.dockfmt.enable#

Whether to enable dockfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/dockfmt.nix

treefmt.config.programs.dos2unix.enable#

Whether to enable dos2unix.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/dos2unix.nix

treefmt.config.programs.dprint.enable#

Whether to enable dprint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/dprint.nix

treefmt.config.programs.dprint.settings#

Configuration to generate dprint.json with

Typeopen submodule of (JSON value)

Default{ }

Declared intreefmt-nix/blob/main/programs/dprint.nix

treefmt.config.programs.dprint.settings.extends#

Configurations to extend.

Typenull or string or list of string

Defaultnull

Example"https://dprint.dev/path/to/config/file.v1.json"

Declared intreefmt-nix/blob/main/programs/dprint.nix

treefmt.config.programs.dprint.settings.incremental#

Whether to format files only when they change.

Typenull or boolean

Defaultnull

Exampletrue

Declared intreefmt-nix/blob/main/programs/dprint.nix

treefmt.config.programs.dprint.settings.indentWidth#

The number of characters for an indent

Typenull or signed integer

Defaultnull

Example2

Declared intreefmt-nix/blob/main/programs/dprint.nix

treefmt.config.programs.dprint.settings.lineWidth#

The width of a line the printer will try to stay under. Note that the printer may exceed this width in certain cases.

Typenull or signed integer

Defaultnull

Example80

Declared intreefmt-nix/blob/main/programs/dprint.nix

treefmt.config.programs.dprint.settings.newLineKind#

The kind of newline to use (one of: auto, crlf, lf, system).

Typenull or string

Defaultnull

Example"auto"

Declared intreefmt-nix/blob/main/programs/dprint.nix

treefmt.config.programs.dprint.settings.plugins#

Array of plugin URLs to format files.

Typenull or (list of string)

Defaultnull

Example

# (recommended) using plugins from nixpkgs
# plugins is the list of all available dprint plugins in nixpkgs
(pkgs.dprint-plugins.getPluginList (
  plugins: with plugins; [
    dprint-plugin-toml
    dprint-plugin-dockerfile
    g-plane-pretty_yaml
    # (pkgs.callPackage ./dprint/plugins/sample.nix {})
  ]
))
# (not recommended) using url plugins
# treefmt then only works outside the nix sandbox, so treefmt nix flake check will fail
++ [
  "https://plugins.dprint.dev/json-0.17.2.wasm"
  "https://plugins.dprint.dev/markdown-0.15.2.wasm"
  "https://plugins.dprint.dev/typescript-0.84.4.wasm"
]

Declared intreefmt-nix/blob/main/programs/dprint.nix

treefmt.config.programs.dprint.settings.useTabs#

Whether to use tabs (true) or spaces (false) for indentation.

Typenull or boolean

Defaultnull

Exampletrue

Declared intreefmt-nix/blob/main/programs/dprint.nix

treefmt.config.programs.dscanner.enable#

Whether to enable dscanner.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/dscanner.nix

treefmt.config.programs.efmt.enable#

Whether to enable efmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/efmt.nix

treefmt.config.programs.elm-format.enable#

Whether to enable elm-format.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/elm-format.nix

treefmt.config.programs.erlfmt.enable#

Whether to enable erlfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/erlfmt.nix

treefmt.config.programs.erlfmt.print-width#

The line length that formatter would wrap on

Typesigned integer

Default100

Example80

Declared intreefmt-nix/blob/main/programs/erlfmt.nix

treefmt.config.programs.fantomas.dotnet-sdk#

The dotnet-sdk package to use.

Typepackage

Defaultpkgs.dotnet-sdk

Declared intreefmt-nix/blob/main/programs/fantomas.nix

treefmt.config.programs.fantomas.enable#

Whether to enable fantomas.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/fantomas.nix

treefmt.config.programs.fish_indent.enable#

Whether to enable fish_indent.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/fish_indent.nix

treefmt.config.programs.flake-edit.enable#

Whether to enable flake-edit.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/flake-edit.nix

treefmt.config.programs.flake-edit.noLock#

Skip updating the lockfile after editing flake.nix

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/flake-edit.nix

treefmt.config.programs.flake-edit.settings.follow.aliases#

Mapping of canonical input names to alternative names. Allows nested inputs like “nixpkgs-lib” to follow “nixpkgs”.

Typeattribute set of list of string

Default{ }

Example

{
  nixpkgs = [
    "nixpkgs-lib"
  ];
}

Declared intreefmt-nix/blob/main/programs/flake-edit.nix

treefmt.config.programs.flake-edit.settings.follow.ignore#

List of inputs to ignore when following. Supports simple names (“systems”) or full paths (“crane.nixpkgs”).

Typelist of string

Default[ ]

Example

[
  "systems"
  "crane.flake-utils"
]

Declared intreefmt-nix/blob/main/programs/flake-edit.nix

treefmt.config.programs.fnlfmt.enable#

Whether to enable fnlfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/fnlfmt.nix

treefmt.config.programs.formatjson5.enable#

Whether to enable formatjson5.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/formatjson5.nix

treefmt.config.programs.formatjson5.indent#

Indent by the given number of spaces

Typesigned integer

Default4

Declared intreefmt-nix/blob/main/programs/formatjson5.nix

treefmt.config.programs.formatjson5.noTrailingCommas#

Suppress trailing commas (otherwise added by default)

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/formatjson5.nix

treefmt.config.programs.formatjson5.oneElementLines#

Objects or arrays with a single child should collapse to a single line

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/formatjson5.nix

treefmt.config.programs.formatjson5.sortArrays#

Sort arrays of primitive values (string, number, boolean, or null) lexicographically

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/formatjson5.nix

treefmt.config.programs.fourmolu.enable#

Whether to enable fourmolu.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/fourmolu.nix

treefmt.config.programs.fourmolu.ghcOpts#

Which GHC language extensions to enable

Typeunspecified value

Default

[
  "BangPatterns"
  "PatternSynonyms"
  "TypeApplications"
]

Declared intreefmt-nix/blob/main/programs/fourmolu.nix

treefmt.config.programs.fprettify.enable#

Whether to enable fprettify.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/fprettify.nix

treefmt.config.programs.gdformat.enable#

Whether to enable gdformat.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/gdformat.nix

treefmt.config.programs.genemichaels.enable#

Whether to enable genemichaels, a Rust code formatter.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.genemichaels.settings.comment_errors_fatal#

If reformatting comments results in an error, abort formatting the document.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.genemichaels.settings.comment_width#

Maximum relative line length for comments (past the comment indentation level). Can be null to disable relative wrapping. If disabled, still wraps at max_width.

Typenull or (positive integer, meaning >0)

Default80

Examplenull

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.genemichaels.settings.keep_max_blank_lines#

Genemichaels will replace line breaks with it’s own deterministic line breaks. You can use this to keep extra line breaks (1 will keep up to 1 extra line break) during comment extraction. This is unused during formatting.

Typeunsigned integer, meaning >=0

Default0

Example1

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.genemichaels.settings.max_width#

Ideal maximum line width. If there’s an unbreakable element the line won’t be split.

Typepositive integer, meaning >0

Default120

Example80

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.genemichaels.settings.root_splits#

When breaking a child element, also break all parent elements.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.genemichaels.settings.split_attributes#

Break a #[] on a separate line before the element it’s associated with.

Typeboolean

Defaulttrue

Examplefalse

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.genemichaels.settings.split_brace_threshold#

Break a () or {} if it has greater than this number of children. Set to null to disable breaking due to high child counts.

Typenull or (positive integer, meaning >0)

Default1

Examplenull

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.genemichaels.settings.split_where#

Put the where clause on a new line.

Typeboolean

Defaulttrue

Examplefalse

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.genemichaels.settingsFile#

The configuration file used by genemichaels.

Typeabsolute path

DefaultGenerated JSON file from `treefmt.config.programs.genemichaels.settings`

Example./.genemichaels.json

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.genemichaels.threadCount#

How many threads to use for formatting multiple files. Set to null to default to the number of cores on the system.

Typenull or (unsigned integer, meaning >=0)

Defaultnull

Example1

Declared intreefmt-nix/blob/main/programs/genemichaels.nix

treefmt.config.programs.gleam.enable#

Whether to enable gleam.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/gleam.nix

treefmt.config.programs.gofmt.enable#

Whether to enable gofmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/gofmt.nix

treefmt.config.programs.gofumpt.enable#

Whether to enable gofumpt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/gofumpt.nix

treefmt.config.programs.gofumpt.extra#

Whether to enable extra rules.

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/gofumpt.nix

treefmt.config.programs.goimports.enable#

Whether to enable goimports.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/goimports.nix

treefmt.config.programs.golangci-lint.buildTags#

Build tags to use during analysis

Typelist of string

Default[ ]

Example

[
  "integration"
  "e2e"
]

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.concurrency#

Number of CPUs to use (auto-configured by default)

Typenull or signed integer

Defaultnull

Example4

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.configFile#

Path to golangci-lint configuration file

Typenull or string

Defaultnull

Example".golangci.yml"

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.disableLinters#

Disable specific linters

Typelist of string

Default[ ]

Example

[
  "typecheck"
]

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.enable#

Whether to enable golangci-lint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.enableLinters#

Enable specific linters

Typelist of string

Default[ ]

Example

[
  "govet"
  "errcheck"
  "staticcheck"
]

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.enableOnly#

Override configuration to run only specific linter(s)

Typelist of string

Default[ ]

Example

[
  "govet"
  "gofmt"
]

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.fastOnly#

Run only fast linters from enabled linters set

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.maxIssuesPerLinter#

Maximum issues per linter (default: 50)

Typenull or signed integer

Defaultnull

Example50

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.maxSameIssues#

Maximum count of same issues (default: 3)

Typenull or signed integer

Defaultnull

Example3

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.newFromRev#

Show only new issues created after git revision REV

Typenull or string

Defaultnull

Example"HEAD~1"

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.noConfig#

Don’t read any configuration file

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.tests#

Analyze test files

Typeboolean

Defaulttrue

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.timeout#

Timeout for total work (e.g., ‘5m’, ‘1h’, ‘10s’)

Typenull or string

Defaultnull

Example"5m"

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golangci-lint.verbose#

Enable verbose output

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/golangci-lint.nix

treefmt.config.programs.golines.enable#

Whether to enable golines.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/golines.nix

treefmt.config.programs.golines.maxLength#

Target maximum line length (default: 100)

Typenull or signed integer

Defaultnull

Example100

Declared intreefmt-nix/blob/main/programs/golines.nix

treefmt.config.programs.golines.tabLength#

Length of a tab (default: 4)

Typenull or signed integer

Defaultnull

Example4

Declared intreefmt-nix/blob/main/programs/golines.nix

treefmt.config.programs.google-java-format.aospStyle#

Whether to use AOSP (Android Open Source Project) indentation. In a few words, use 4-space indentation rather than the conventional 2-space indentation width that Google uses.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/google-java-format.nix

treefmt.config.programs.google-java-format.enable#

Whether to enable google-java-format.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/google-java-format.nix

treefmt.config.programs.hclfmt.enable#

Whether to enable hclfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/hclfmt.nix

treefmt.config.programs.hlint.enable#

Whether to enable hlint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/hlint.nix

treefmt.config.programs.hujsonfmt.enable#

Whether to enable hujsonfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/hujsonfmt.nix

treefmt.config.programs.isort.enable#

Whether to enable isort.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/isort.nix

treefmt.config.programs.isort.profile#

The profile to use for isort.

Typestring

Default""

Declared intreefmt-nix/blob/main/programs/isort.nix

treefmt.config.programs.json-sort-cli.autofix#

Update files with fixes instead of just reporting. Defaults to false.

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix

treefmt.config.programs.json-sort-cli.enable#

Whether to enable json-sort-cli.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix

treefmt.config.programs.json-sort-cli.end-of-line#

Specify the desired line ending for output. Defaults to system line ending. Overrides .editorconfig settings if an .editorconfig is found.

Typenull or one of "lf", "crlf", "cr", "unset"

Defaultnull

Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix

treefmt.config.programs.json-sort-cli.indent-size#

Number of spaces to indent, or the string “tab” to use tabs. Defaults to 2 spaces. Overrides .editorconfig settings if an .editorconfig is found.

Typesigned integer

Default2

Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix

treefmt.config.programs.json-sort-cli.indent-style#

Specify the desired indentation style for output. Defaults to space. Overrides .editorconfig settings if an .editorconfig is found.

Typeone of "space", "tab"

Default"space"

Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix

treefmt.config.programs.json-sort-cli.insert-final-newline#

Insert a final newline after the sort. Defaults to false. Overrides .editorconfig settings if an .editorconfig is found.

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/json-sort-cli.nix

treefmt.config.programs.jsonfmt.enable#

Whether to enable jsonfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/jsonfmt.nix

treefmt.config.programs.jsonnet-lint.enable#

Whether to enable jsonnet-lint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/jsonnet-lint.nix

treefmt.config.programs.jsonnetfmt.enable#

Whether to enable jsonnetfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/jsonnetfmt.nix

treefmt.config.programs.just.enable#

Whether to enable just.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/just.nix

treefmt.config.programs.kdlfmt.enable#

Whether to enable kdlfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/kdlfmt.nix

treefmt.config.programs.keep-sorted.enable#

Whether to enable keep-sorted.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/keep-sorted.nix

treefmt.config.programs.ktfmt.enable#

Whether to enable ktfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/ktfmt.nix

treefmt.config.programs.ktlint.enable#

Whether to enable ktlint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/ktlint.nix

treefmt.config.programs.latexindent.enable#

Whether to enable latexindent.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/latexindent.nix

treefmt.config.programs.leptosfmt.enable#

Whether to enable leptosfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/leptosfmt.nix

treefmt.config.programs.mbake.enable#

Whether to enable mbake.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.auto_insert_phony_declarations#

Whether to automatically insert .PHONY declarations for non-file targets

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.ensure_final_newline#

Whether to ensure the file ends with a newline

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.fix_missing_recipe_tabs#

Whether to fix recipe lines that are missing tabs

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.group_phony_declarations#

Whether to group all .PHONY declarations together

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.indent_nested_conditionals#

Whether to indent nested conditional blocks (ifdef, ifndef, etc.)

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.max_consecutive_empty_lines#

Maximum number of consecutive empty lines allowed

Typenull or (unsigned integer, meaning >=0)

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.max_line_length#

Maximum line length before wrapping

Typenull or (unsigned integer, meaning >=0)

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.normalize_empty_lines#

Whether to normalize empty lines

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.normalize_line_continuations#

Whether to normalize line continuation backslashes

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.phony_at_top#

Whether to place .PHONY declarations at the top of the file

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.remove_trailing_whitespace#

Whether to remove trailing whitespace from lines

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.space_after_colon#

Whether to add a space after colons in rules

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.space_around_assignment#

Whether to add spaces around assignment operators (=, :=, etc.)

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.space_before_colon#

Whether to add a space before colons in rules

Typenull or boolean

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mbake.settings.tab_width#

Tab width in spaces for display purposes

Typenull or (unsigned integer, meaning >=0)

Defaultnull

Declared intreefmt-nix/blob/main/programs/mbake.nix

treefmt.config.programs.mdformat.enable#

Whether to enable mdformat.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/mdformat.nix

treefmt.config.programs.mdformat.plugins#

Plugins for mdformat that extend its functionality (for Markdown extensions, formatting code blocks, etc).

See mdformat docs for a (non-exhaustive) list of plugins.

Typefunction that evaluates to a(n) list of package

Default

ps: [ ];

Example

ps: [
  ps.mdformat-footnote
  ps.mdformat-gfm
];

Declared intreefmt-nix/blob/main/programs/mdformat.nix

treefmt.config.programs.mdformat.settings.end-of-line#

Output file line ending mode.

Typenull or one of "crlf", "lf", "keep"

Defaultnull

Example"lf"

Declared intreefmt-nix/blob/main/programs/mdformat.nix

treefmt.config.programs.mdformat.settings.number#

Apply consecutive numbering to ordered lists.

Typeboolean

Defaultfalse

Examplefalse

Declared intreefmt-nix/blob/main/programs/mdformat.nix

treefmt.config.programs.mdformat.settings.wrap#

Paragraph word wrap mode. Set to an INTEGER to wrap at that length.

Typenull or signed integer or one of "keep", "no"

Defaultnull

Example"keep"

Declared intreefmt-nix/blob/main/programs/mdformat.nix

treefmt.config.programs.mdsh.enable#

Whether to enable mdsh.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/mdsh.nix

treefmt.config.programs.meson.editorconfig#

Try to read configuration from .editorconfig

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/meson.nix

treefmt.config.programs.meson.enable#

Whether to enable meson.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/meson.nix

treefmt.config.programs.mix-format.enable#

Whether to enable mix-format.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/mix-format.nix

treefmt.config.programs.muon.editorconfig#

Try to read configuration from .editorconfig

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/muon.nix

treefmt.config.programs.muon.enable#

Whether to enable muon.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/muon.nix

treefmt.config.programs.mypy.directories#

Directories to run mypy in

Typeattribute set of (submodule)

Default

{
  "" = { };
}

Example

{
  "" = {
    modules = [
      "mymodule"
      "tests"
    ];
  };
  subdir = { };
}

Declared intreefmt-nix/blob/main/programs/mypy.nix

treefmt.config.programs.mypy.directories.\<name\>.directory#

Directory to run mypy in

Typestring

Default"‹name›"

Declared intreefmt-nix/blob/main/programs/mypy.nix

treefmt.config.programs.mypy.directories.\<name\>.extraPythonPackages#

Extra packages to add to PYTHONPATH

Typelist of package

Default[ ]

Example[ pkgs.python3.pkgs.requests ]

Declared intreefmt-nix/blob/main/programs/mypy.nix

treefmt.config.programs.mypy.directories.\<name\>.extraPythonPaths#

Extra paths to add to PYTHONPATH. Paths are interpreted relative to the directory options and are added before extraPythonPackages.

Typelist of string

Default[ ]

Example

[
  "path/to/my/module"
]

Declared intreefmt-nix/blob/main/programs/mypy.nix

treefmt.config.programs.mypy.directories.\<name\>.modules#

Modules to check

Typelist of string

Default

[
  ""
]

Example

[
  "mymodule"
  "tests"
]

Declared intreefmt-nix/blob/main/programs/mypy.nix

treefmt.config.programs.mypy.directories.\<name\>.options#

Options to pass to mypy

Typelist of string

Default[ ]

Example

[
  "--ignore-missing-imports"
]

Declared intreefmt-nix/blob/main/programs/mypy.nix

treefmt.config.programs.mypy.enable#

Whether to enable mypy.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/mypy.nix

treefmt.config.programs.nbstripout.enable#

Whether to enable nbstripout.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/nbstripout.nix

treefmt.config.programs.nickel.enable#

Whether to enable nickel.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/nickel.nix

treefmt.config.programs.nimpretty.enable#

Whether to enable nimpretty.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/nimpretty.nix

treefmt.config.programs.nixf-diagnose.autoFix#

Whether to automatically apply fixes to source files.

Typeboolean

Defaulttrue

Declared intreefmt-nix/blob/main/programs/nixf-diagnose.nix

treefmt.config.programs.nixf-diagnose.enable#

Whether to enable nixf-diagnose.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/nixf-diagnose.nix

treefmt.config.programs.nixf-diagnose.ignore#

Diagnostics to ignore, specified by their ID.

Typelist of string

Default[ ]

Example

[
  "sema-primop-overridden"
]

Declared intreefmt-nix/blob/main/programs/nixf-diagnose.nix

treefmt.config.programs.nixf-diagnose.only#

Only run this diagnostic.

Typenull or string

Defaultnull

Example"sema-primop-overridden"

Declared intreefmt-nix/blob/main/programs/nixf-diagnose.nix

treefmt.config.programs.nixf-diagnose.variableLookup#

Whether to enable variable lookup analysis.

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/nixf-diagnose.nix

treefmt.config.programs.nixfmt.enable#

Whether to enable nixfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/nixfmt.nix

treefmt.config.programs.nixfmt.indent#

Number of spaces to use for indentation [default: 2]

Typenull or signed integer

Defaultnull

Example4

Declared intreefmt-nix/blob/main/programs/nixfmt.nix

treefmt.config.programs.nixfmt.strict#

Enable a stricter formatting mode that isn’t influenced as much by how the input is formatted.

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/nixfmt.nix

treefmt.config.programs.nixfmt.width#

Maximum width in characters [default: 100]

Typenull or signed integer

Defaultnull

Example120

Declared intreefmt-nix/blob/main/programs/nixfmt.nix

treefmt.config.programs.nixpkgs-fmt.enable#

Whether to enable nixpkgs-fmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/nixpkgs-fmt.nix

treefmt.config.programs.ocamlformat.configFile#

Path to the .ocamlformat file. Used to pick the right version of ocamlformat if passed.

Typenull or absolute path

Defaultnull

Declared intreefmt-nix/blob/main/programs/ocamlformat.nix

treefmt.config.programs.ocamlformat.enable#

Whether to enable ocamlformat.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/ocamlformat.nix

treefmt.config.programs.ocamlformat.pkgs#

The package set used to get the ocamlformat package at a specific version.

Typelazy attribute set of raw value

DefaultNixpkgs from context

Declared intreefmt-nix/blob/main/programs/ocamlformat.nix

treefmt.config.programs.odinfmt.enable#

Whether to enable odinfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/odinfmt.nix

treefmt.config.programs.opa.enable#

Whether to enable opa.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/opa.nix

treefmt.config.programs.ormolu.enable#

Whether to enable ormolu.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/ormolu.nix

treefmt.config.programs.ormolu.ghcOpts#

Which GHC language extensions to enable

Typeunspecified value

Default

[
  "BangPatterns"
  "PatternSynonyms"
  "TypeApplications"
]

Declared intreefmt-nix/blob/main/programs/ormolu.nix

treefmt.config.programs.oxfmt.enable#

Whether to enable oxfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/oxfmt.nix

treefmt.config.programs.oxipng.alpha#

Whether to enable Perform additional optimization on images with an alpha channel.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/oxipng.nix

treefmt.config.programs.oxipng.enable#

Whether to enable oxipng.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/oxipng.nix

treefmt.config.programs.oxipng.opt#

Set the optimization level preset

Typestring

Default"2"

Example"max"

Declared intreefmt-nix/blob/main/programs/oxipng.nix

treefmt.config.programs.oxipng.scale16#

Whether to enable Forcibly reduce images with 16 bits per channel to 8 bits per channel.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/oxipng.nix

treefmt.config.programs.oxipng.strip#

Strip metadata chunks

Typenull or string

Defaultnull

Example"safe"

Declared intreefmt-nix/blob/main/programs/oxipng.nix

treefmt.config.programs.packer.enable#

Whether to enable packer.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/packer.nix

treefmt.config.programs.perltidy.enable#

Whether to enable perltidy.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/perltidy.nix

treefmt.config.programs.perltidy.perltidyrc#

A path for perltidy’s configuration file, usually named .perltidyrc

Typenull or absolute path

Defaultnull

Declared intreefmt-nix/blob/main/programs/perltidy.nix

treefmt.config.programs.php-cs-fixer.configFile#

Path to php-cs-fixer config file.

Typestring or absolute path

Default"./.php-cs-fixer.php"

Example"./.php-cs-fixer.dist.php"

Declared intreefmt-nix/blob/main/programs/php-cs-fixer.nix

treefmt.config.programs.php-cs-fixer.enable#

Whether to enable php-cs-fixer.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/php-cs-fixer.nix

treefmt.config.programs.pinact.enable#

Whether to enable pinact.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/pinact.nix

treefmt.config.programs.pinact.settings#

Configuration for pinact, see

for supported values.

Typeopen submodule of (YAML 1.1 value)

Default{ }

Declared intreefmt-nix/blob/main/programs/pinact.nix

treefmt.config.programs.pinact.update#

Update actions to latest versions.

Typeboolean

Defaulttrue

Declared intreefmt-nix/blob/main/programs/pinact.nix

treefmt.config.programs.pinact.verify#

Verify if pairs of commit SHA and version are correct.

Typeboolean

Defaulttrue

Declared intreefmt-nix/blob/main/programs/pinact.nix

treefmt.config.programs.prettier.enable#

Whether to enable prettier.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.arrowParens#

Include parentheses around a sole arrow function parameter.

Typenull or one of "always", "avoid"

Defaultnull

Example"always"

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.bracketSameLine#

Put > of opening tags on the last line instead of on a new line.

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.bracketSpacing#

Print spaces between brackets

Typenull or boolean

Defaultnull

Exampletrue

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.cursorOffset#

Print (to stderr) where a cursor at the given position would move to after formatting. This option cannot be used with –range-start and –range-end.

Typenull or signed integer

Defaultnull

Example-1

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.editorconfig#

Whether parse the .editorconfig file in your project and convert its properties to the corresponding Prettier configuration. This configuration will be overridden by .prettierrc, etc.

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.embeddedLanguageFormatting#

Control how Prettier formats quoted code embedded in the file.

Typenull or one of "auto", "off"

Defaultnull

Example"auto"

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.endOfLine#

Which end of line characters to apply.

Typenull or one of "lf", "crlf", "cr", "auto"

Defaultnull

Example"lf"

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.filepath#

Specify the input filepath. This will be used to do parser inference.

Typenull or string

Defaultnull

Example"example.js"

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.htmlWhitespaceSensitivity#

How to handle whitespaces in HTML.

Typenull or one of "css", "strict", "ignore"

Defaultnull

Example"css"

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.insertPragma#

Insert @format pragma into file’s first docblock commentypes.

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.jsxSingleQuote#

Use single quotes in JSX

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.overrides#

Provide a list of patterns to override prettier configuration.

Typenull or (list of (attribute set))

Defaultnull

Example

{
  files = [
    "*.html"
    "legacy/**/*.js"
  ];
  options = {
    tabwidth = 4;
  };
}

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.parser#

Which parser to use.

Typenull or one of "flow", "babel", "babel-flow", "babel-ts", "typescript", "acorn", "espree", "meriyah", "css", "less", "scss", "json", "json5", "json-stringify", "graphql", "markdown", "mdx", "vue", "yaml", "glimmer", "html", "angular", "lwc" or string

Defaultnull

Example"typescript"

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.pluginSearchDirs#

Custom directory that contains prettier plugins in node_modules subdirectory. Overrides default behavior when plugins are searched relatively to the location of Prettier.\nMultiple values are accepted.

Typenull or (list of string) or value false (singular enum)

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.plugins#

Add a plugin. Multiple plugins can be passed as separate --plugins.

Typenull or (list of string)

Defaultnull

Example

[
  "@prettier/plugin-xml"
]

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.printWidth#

The line length where Prettier will try wrap.

Typenull or signed integer

Defaultnull

Example80

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.proseWrap#

How to wrap prose.

Typenull or one of "always", "never", "preserve"

Defaultnull

Example"preserve"

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.quoteProps#

Change when properties in objects are quoted

Typenull or one of "as-needed", "consistent", "preserve"

Defaultnull

Example"as-needed"

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.rangeEnd#

Format code ending at a given character offset (exclusive). The range will extend forwards to the end of the selected statementypes. This option cannot be used with –cursor-offsetypes.

Typenull or string

Defaultnull

Example0

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.rangeStart#

Format code starting at a given character offsetypes. The range will extend backwards to the start of the first line containing the selected statementypes. his option cannot be used with –cursor-offsetypes.

Typenull or signed integer

Defaultnull

Example0

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.requirePragma#

Require either ‘@prettier’ or ‘@format’ to be present in the file’s first docblock comment\nin order for it to be formatted.

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.semi#

Print semicolons.

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.singleAttributePerLine#

Enforce single attribute per line in HTML, Vue and JSX.

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.singleQuote#

Use single quotes instead of double quotes.

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.tabWidth#

Number of spaces per indentation level.

Typenull or signed integer

Defaultnull

Example2

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.trailingComma#

Print trailing commas wherever possible when multi-line.

Typenull or one of "es5", "none", "all"

Defaultnull

Example"es5"

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.useTabs#

Indent with tabs instead of spaces

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.prettier.settings.vueIndentScriptAndStyle#

Indent script and style tags in Vue files.

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/prettier.nix

treefmt.config.programs.protolint.enable#

Whether to enable protolint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/protolint.nix

treefmt.config.programs.qmlformat.enable#

Whether to enable qmlformat.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/qmlformat.nix

treefmt.config.programs.rstfmt.enable#

Whether to enable rstfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/rstfmt.nix

treefmt.config.programs.rstfmt.line_length#

Sets the line length.

Typesigned integer

Default72

Example80

Declared intreefmt-nix/blob/main/programs/rstfmt.nix

treefmt.config.programs.rubocop.enable#

Whether to enable rubocop.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/rubocop.nix

treefmt.config.programs.ruff-check.enable#

Whether to enable ruff-check.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/ruff-check.nix

treefmt.config.programs.ruff-check.extendSelect#

–extend-select options

Typelist of string

Default[ ]

Example

[
  "I"
]

Declared intreefmt-nix/blob/main/programs/ruff-check.nix

treefmt.config.programs.ruff-format.enable#

Whether to enable ruff-format.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/ruff-format.nix

treefmt.config.programs.ruff-format.lineLength#

Set the line-length.

Typenull or signed integer

Defaultnull

Example79

Declared intreefmt-nix/blob/main/programs/ruff-format.nix

treefmt.config.programs.rufo.enable#

Whether to enable rufo.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/rufo.nix

treefmt.config.programs.rumdl-check.enable#

Whether to enable rumdl-check.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/rumdl-check.nix

treefmt.config.programs.rumdl-format.enable#

Whether to enable rumdl-format.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/rumdl-format.nix

treefmt.config.programs.rustfmt.edition#

Rust edition to target when formatting

Typestring

Default"2024"

Declared intreefmt-nix/blob/main/programs/rustfmt.nix

treefmt.config.programs.rustfmt.enable#

Whether to enable rustfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/rustfmt.nix

treefmt.config.programs.scalafmt.enable#

Whether to enable scalafmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/scalafmt.nix

treefmt.config.programs.shellcheck.enable#

Whether to enable shellcheck.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/shellcheck.nix

treefmt.config.programs.shellcheck.external-sources#

Whether to enable Allow sources outside of includes.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/shellcheck.nix

treefmt.config.programs.shellcheck.extra-checks#

List of optional checks to enable (or “all”)

Typelist of string

Default[ ]

Example

[
  "all"
]

Declared intreefmt-nix/blob/main/programs/shellcheck.nix

treefmt.config.programs.shellcheck.severity#

Minimum severity of errors to consider (“error”, “warning”, “info”, “style”)

Typenull or string

Defaultnull

Declared intreefmt-nix/blob/main/programs/shellcheck.nix

treefmt.config.programs.shellcheck.source-path#

Specify path when looking for sourced files (“SCRIPTDIR” for script’s dir)

Typenull or string

Defaultnull

Declared intreefmt-nix/blob/main/programs/shellcheck.nix

treefmt.config.programs.shfmt.enable#

Whether to enable shfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/shfmt.nix

treefmt.config.programs.shfmt.indent_size#

Sets the number of spaces to be used in indentation. Uses tabs if set to zero.

Typenull or signed integer

Default2

Example4

Declared intreefmt-nix/blob/main/programs/shfmt.nix

treefmt.config.programs.shfmt.simplify#

Enables the -s (--simplify) flag, which simplifies code where possible.

Typeboolean

Defaulttrue

Declared intreefmt-nix/blob/main/programs/shfmt.nix

treefmt.config.programs.shfmt.useEditorConfig#

Whether to enable Use .editorconfig file for formatting. This is mutually exlusive with all other settings. See shfmt docs. .

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/shfmt.nix

treefmt.config.programs.sizelint.enable#

Whether to enable sizelint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/sizelint.nix

treefmt.config.programs.sizelint.failOnWarn#

Whether to enable fail-on-warn.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/sizelint.nix

treefmt.config.programs.sizelint.settings#

Configuration to generate sizelint.toml with

Typeopen submodule of (TOML value)

Default{ }

Declared intreefmt-nix/blob/main/programs/sizelint.nix

treefmt.config.programs.sql-formatter.dialect#

The sql dialect to use for formatting

Typenull or one of "bigquery", "db2", "db2i", "hive", "mariadb", "mysql", "n1ql", "plsql", "postgresql", "redshift", "spark", "sqlite", "sql", "tidb", "trino", "transactsql", "tsql", "singlestoredb", "snowflake"

Defaultnull

Example"postgresql"

Declared intreefmt-nix/blob/main/programs/sql-formatter.nix

treefmt.config.programs.sql-formatter.enable#

Whether to enable sql-formatter.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/sql-formatter.nix

treefmt.config.programs.sqlfluff-lint.enable#

Whether to enable sqlfluff-lint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/sqlfluff-lint.nix

treefmt.config.programs.sqlfluff.dialect#

The sql dialect to use for formatting

Typenull or one of "db2", "ansi", "soql", "tsql", "hive", "trino", "mysql", "oracle", "sqlite", "duckdb", "exasol", "athena", "mariadb", "vertica", "teradata", "redshift", "sparksql", "bigquery", "postgres", "greenplum", "snowflake", "materializ", "clickhouse", "databricks"

Defaultnull

Example"sqlite"

Declared intreefmt-nix/blob/main/programs/sqlfluff.nix

treefmt.config.programs.sqlfluff.enable#

Whether to enable sqlfluff.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/sqlfluff.nix

treefmt.config.programs.sqruff.enable#

Whether to enable sqruff.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/sqruff.nix

treefmt.config.programs.statix.disabled-lints#

List of ignored lints. Run statix list to see all available lints.

Typelist of string

Default[ ]

Example

[
  "empty_pattern"
]

Declared intreefmt-nix/blob/main/programs/statix.nix

treefmt.config.programs.statix.enable#

Whether to enable statix.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/statix.nix

treefmt.config.programs.stylish-haskell.enable#

Whether to enable stylish-haskell.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/stylish-haskell.nix

treefmt.config.programs.stylua.enable#

Whether to enable stylua.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/stylua.nix

treefmt.config.programs.stylua.settings.call_parentheses#

Whether parentheses should be applied on function calls with a single string/table argument. Always applies parentheses in all cases. NoSingleString omits parentheses on calls with a single string argument. Similarly, NoSingleTable omits parentheses on calls with a single table argument. None omits parentheses in both cases.

Note: parentheses are still kept in situations where removal can lead to obscurity (e.g. foo "bar".setup -> foo("bar").setup, since the index is on the call result, not the string).

Input removes all automation and preserves parentheses only if they were present in input code: consistency is not enforced.

Typenull or one of "Always", "NoSingleString", "NoSingleTable", "None", "Input"

Defaultnull

Example"Always"

Declared intreefmt-nix/blob/main/programs/stylua.nix

treefmt.config.programs.stylua.settings.collapse_simple_statement#

Specify whether to collapse simple statements.

Typenull or one of "Never", "FunctionOnly", "ConditionalOnly", "Always"

Defaultnull

Example"Never"

Declared intreefmt-nix/blob/main/programs/stylua.nix

treefmt.config.programs.stylua.settings.column_width#

Approximate line length for printing.

Used as a guide for line wrapping - this is not a hard requirement: lines may fall under or over the limit.

Typenull or signed integer

Defaultnull

Example120

Declared intreefmt-nix/blob/main/programs/stylua.nix

treefmt.config.programs.stylua.settings.indent_type#

Indent type.

Typenull or one of "Tabs", "Spaces"

Defaultnull

Example"Tabs"

Declared intreefmt-nix/blob/main/programs/stylua.nix

treefmt.config.programs.stylua.settings.indent_width#

Character size of single indentation.

If indent_type is set to Tabs, this option is used as a heuristic to determine column width only.

Typenull or signed integer

Defaultnull

Example4

Declared intreefmt-nix/blob/main/programs/stylua.nix

treefmt.config.programs.stylua.settings.line_endings#

Line endings type.

Typenull or one of "Unix", "Windows"

Defaultnull

Example"Unix"

Declared intreefmt-nix/blob/main/programs/stylua.nix

treefmt.config.programs.stylua.settings.quote_style#

Quote style for string literals.

AutoPrefer styles will prefer the specified quote style, but fall back to the alternative if it has fewer string escapes. Force styles always use the specified style regardless of escapes.

Typenull or one of "AutoPreferDouble", "AutoPreferSingle", "ForceDouble", "ForceSingle"

Defaultnull

Example"AutoPreferDouble"

Declared intreefmt-nix/blob/main/programs/stylua.nix

treefmt.config.programs.stylua.settings.sort_requires.enabled#

StyLua has built-in support for sorting require statements. We group consecutive require statements into a single “block”, and then requires are sorted only within that block. Blocks of requires do not move around the file.

We only include requires of the form local NAME = require(EXPR), and sort lexicographically based on NAME. (We also sort Roblox services of the form local NAME = game:GetService(EXPR))

Typenull or boolean

Defaultnull

Examplefalse

Declared intreefmt-nix/blob/main/programs/stylua.nix

treefmt.config.programs.swift-format.enable#

Whether to enable swift-format.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/swift-format.nix

treefmt.config.programs.taplo.enable#

Whether to enable taplo.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/taplo.nix

treefmt.config.programs.taplo.settings#

Configuration to generate taplo.toml with

Typeopen submodule of (TOML value)

Default{ }

Declared intreefmt-nix/blob/main/programs/taplo.nix

treefmt.config.programs.templ.enable#

Whether to enable templ.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/templ.nix

treefmt.config.programs.terraform.enable#

Whether to enable terraform.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/terraform.nix

treefmt.config.programs.texfmt.enable#

Whether to enable texfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/texfmt.nix

treefmt.config.programs.tilt.enable#

Whether to enable tilt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/tilt.nix

treefmt.config.programs.toml-sort.all#

Whether to enable sort ALL keys.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/toml-sort.nix

treefmt.config.programs.toml-sort.enable#

Whether to enable toml-sort.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/toml-sort.nix

treefmt.config.programs.typos.binary#

Search binary files

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.configFile#

Custom config file

Typenull or string

Defaultnull

Example"typos.toml"

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.enable#

Whether to enable typos.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.hidden#

Search hidden files and directories

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.isolated#

Ignore implicit configuration files

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.locale#

Language locale to suggest corrections for [possible values: en, en-us, en-gb, en-ca, en-au]

Typenull or one of "en", "en-us", "en-gb", "en-ca", "en-au"

Defaultnull

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.noCheckFilenames#

Skip verifying spelling in file names

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.noCheckFiles#

Skip verifying spelling in files

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.noIgnore#

Don’t respect ignore files

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.noIgnoreDot#

Don’t respect .ignore files

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.noIgnoreGlobal#

Don’t respect global ignore files

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.noIgnoreParent#

Don’t respect ignore files in parent directories

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.noIgnoreVCS#

Don’t respect ignore files in vsc directories

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.noUnicode#

Only allow ASCII characters in identifiers

Typeboolean

Defaultfalse

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.sort#

Sort results

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typos.threads#

The approximate number of threads to use [default: 0]

Typenull or signed integer

Defaultnull

Example2

Declared intreefmt-nix/blob/main/programs/typos.nix

treefmt.config.programs.typstyle.enable#

Whether to enable typstyle.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/typstyle.nix

treefmt.config.programs.typstyle.indentWidth#

Number of spaces per indent level (default: 2).

Typenull or signed integer

Defaultnull

Example4

Declared intreefmt-nix/blob/main/programs/typstyle.nix

treefmt.config.programs.typstyle.lineWidth#

Maximum line width in characters (default: 80).

Typenull or signed integer

Defaultnull

Example100

Declared intreefmt-nix/blob/main/programs/typstyle.nix

treefmt.config.programs.typstyle.wrapText#

Whether to enable line wrapping of markup text.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/typstyle.nix

treefmt.config.programs.wgslfmt.enable#

Whether to enable wgslfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/wgslfmt.nix

treefmt.config.programs.wgslfmt.tabs#

Whether to enable Use tabs for indentation (instead of spaces).

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/wgslfmt.nix

treefmt.config.programs.xmllint.enable#

Whether to enable xmllint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/xmllint.nix

treefmt.config.programs.yamlfmt.enable#

Whether to enable yamlfmt.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/yamlfmt.nix

treefmt.config.programs.yamlfmt.settings#

Configuration for yamlfmt, see

for supported values.

Typeopen submodule of (YAML 1.1 value)

Default{ }

Declared intreefmt-nix/blob/main/programs/yamlfmt.nix

treefmt.config.programs.yamllint.enable#

Whether to enable yamllint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/yamllint.nix

treefmt.config.programs.yamllint.settings#

Configuration for yamllint, see

for supported values.

Typeopen submodule of (YAML 1.1 value)

Default{ }

Declared intreefmt-nix/blob/main/programs/yamllint.nix

treefmt.config.programs.yapf.enable#

Whether to enable yapf.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/yapf.nix

treefmt.config.programs.zig.enable#

Whether to enable zig.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/zig.nix

treefmt.config.programs.zizmor.enable#

Whether to enable zizmor.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/zizmor.nix

treefmt.config.programs.zprint.enable#

Whether to enable zprint.

Typeboolean

Defaultfalse

Exampletrue

Declared intreefmt-nix/blob/main/programs/zprint.nix

treefmt.config.programs.zprint.zprintOpts#

Clojure map containing zprint options.

Typenull or string

Defaultnull

Example"{:width 90}"

Declared intreefmt-nix/blob/main/programs/zprint.nix

treefmt.config.projectRootFile#

File to look for to determine the root of the project in the build.wrapper. Set to null to let treefmt use its native detection.

Typenull or string

Default".git/config"

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.settings#

The contents of treefmt.toml

Typeopen submodule of (TOML value)

Default{ }

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.settings.excludes#

A global list of paths to exclude. Supports glob.

Typelist of string

Default[ ]

Example

[
  "node_modules/*"
]

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.settings.formatter#

Set of formatters to use

Typeattribute set of (open submodule of (TOML value))

Default{ }

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.settings.formatter.\<name\>.command#

Executable obeying the treefmt formatter spec

TypePath to executable

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.settings.formatter.\<name\>.excludes#

List of files to exclude for formatting. Supports globbing. Takes precedence over the includes.

Typelist of string

Default[ ]

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.settings.formatter.\<name\>.includes#

List of files to include for formatting. Supports globbing.

Typelist of string

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.settings.formatter.\<name\>.options#

List of arguments to pass to the command

Typelist of string

Default[ ]

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.config.settings.on-unmatched#

Log paths that did not match any formatters at the specified log level.

Typenull or one of "debug", "info", "warn", "error", "fatal"

Defaultnull

Declared intreefmt-nix/blob/main/module-options.nix

treefmt.enable#

Whether to enable treefmt integration (through treefmt-nix).

Typeboolean

Defaultfalse

Exampletrue

Declared indevenv/blob/main/src/modules/integrations/treefmt.nix

unsetEnvVars

unsetEnvVars#

A list of removed environment variables to make the shell/direnv more lean.

Typelist of string

Default

[
  "HOST_PATH"
  "NIX_BUILD_CORES"
  "__structuredAttrs"
  "buildInputs"
  "buildPhase"
  "builder"
  "depsBuildBuild"
  "depsBuildBuildPropagated"
  "depsBuildTarget"
  "depsBuildTargetPropagated"
  "depsHostHost"
  "depsHostHostPropagated"
  "depsTargetTarget"
  "depsTargetTargetPropagated"
  "dontAddDisableDepTrack"
  "doCheck"
  "doInstallCheck"
  "nativeBuildInputs"
  "out"
  "outputs"
  "patches"
  "phases"
  "preferLocalBuild"
  "propagatedBuildInputs"
  "propagatedNativeBuildInputs"
  "shell"
  "shellHook"
  "stdenv"
  "strictDeps"
]

Declared indevenv/blob/main/src/modules/top-level.nix


Last updated Oct 08, 2026