devenv.nix options
packages
A list of packages to expose inside the developer environment. Search available packages using devenv search NAME
.
Type: list of package
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix
certificates
List of domains to generate certificates for.
Type: list of string
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/mkcert.nix
container.isBuilding
Set to true when the environment is building a container.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/containers.nix
containers
Container specifications that can be built, copied and ran using devenv container
.
Type: attribute set of (submodule)
Default:
{ }
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/containers.nix
containers.<name>.copyToRoot
Add a path to the container. Defaults to the whole git repo.
Type: null or path
Default:
"self"
Declared by: - https://github.com/cachix/devenv/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.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/containers.nix
containers.<name>.entrypoint
Entrypoint of the container.
Type: list of anything
Default:
[ entrypoint ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/containers.nix
containers.<name>.isBuilding
Set to true when the environment is building this container.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/containers.nix
containers.<name>.name
Name of the container.
Type: null or string
Default:
"top-level name or containers.mycontainer.name"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/containers.nix
containers.<name>.registry
Registry to push the container to.
Type: null or string
Default:
"docker://"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/containers.nix
containers.<name>.startupCommand
Command to run in the container.
Type: null or string or package
Default:
null
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/containers.nix
containers.<name>.version
Version/tag of the container.
Type: null or string
Default:
"latest"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/containers.nix
devcontainer.enable
Whether to enable generation .devcontainer.json for devenv integration.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings
Devcontainer settings.
Type: JSON value
Default:
{ }
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings.customizations.vscode.extensions
List of preinstalled VSCode extensions.
Type: list of string
Default:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings.image
The name of an image in a container registry.
Type: string
Default:
"ghcr.io/cachix/devenv:latest"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings.overrideCommand
Override the default command.
Type: anything
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix
devcontainer.settings.updateContentCommand
Command to run after container creation.
Type: anything
Default:
"devenv ci"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix
devenv.debug
Whether to enable debug mode of devenv enterShell script.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/debug.nix
devenv.flakesIntegration
Tells if devenv is being imported by a flake.nix file
Type: boolean
Default:
true
when devenv is invoked via the flake integration; false
otherwise.
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/update-check.nix
devenv.latestVersion
The latest version of devenv.
Type: string
Default:
"0.6.2"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/update-check.nix
devenv.warnOnNewVersion
Whether to warn when a new version of devenv is available.
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/update-check.nix
difftastic.enable
Integrate difftastic into git: https://difftastic.wilfred.me.uk/.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/difftastic.nix
enterShell
Bash code to execute when entering the shell.
Type: strings concatenated with ā\nā
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix
env
Environment variables to be exposed inside the developer environment.
Type: lazy attribute set of anything
Default:
{ }
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix
hosts
List of hosts entries.
Type: attribute set of string
Default:
{ }
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/hostctl.nix
hostsProfileName
Profile name to use.
Type: string
Default:
"devenv-16a3de0b53062f3b6e6678a84f28e04344732e0002fcad6af20ffbeaa0491014"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/hostctl.nix
infoSections
Information about the environment
Type: attribute set of list of string
Default:
{ }
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/info.nix
languages.ansible.enable
Whether to enable tools for Ansible development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/ansible.nix
languages.ansible.package
The Ansible package to use.
Type: package
Default:
pkgs.ansible
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/ansible.nix
languages.c.enable
Whether to enable tools for C development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/c.nix
languages.clojure.enable
Whether to enable tools for Clojure development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/clojure.nix
languages.cplusplus.enable
Whether to enable tools for C++ development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix
languages.crystal.enable
Whether to enable Enable tools for Crystal development..
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/crystal.nix
languages.cue.enable
Whether to enable tools for Cue development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/cue.nix
languages.cue.package
The CUE package to use.
Type: package
Default:
pkgs.cue
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/cue.nix
languages.dart.enable
Whether to enable tools for Dart development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/dart.nix
languages.dart.package
The Dart package to use.
Type: package
Default:
pkgs.dart
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/dart.nix
languages.deno.enable
Whether to enable tools for Deno development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/deno.nix
languages.dotnet.enable
Whether to enable tools for .NET development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/dotnet.nix
languages.dotnet.package
The .NET SDK package to use.
Type: package
Default:
pkgs.dotnet-sdk
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/dotnet.nix
languages.elixir.enable
Whether to enable tools for Elixir development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/elixir.nix
languages.elixir.package
Which package of Elixir to use.
Type: package
Default:
pkgs.elixir
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/elixir.nix
languages.elm.enable
Whether to enable tools for Elm development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/elm.nix
languages.erlang.enable
Whether to enable tools for Erlang development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/erlang.nix
languages.erlang.package
Which package of Erlang to use.
Type: package
Default:
pkgs.erlang
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/erlang.nix
languages.gawk.enable
Whether to enable tools for GNU Awk development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/gawk.nix
languages.gleam.enable
Whether to enable tools for Gleam development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/gleam.nix
languages.gleam.package
The Gleam package to use.
Type: package
Default:
pkgs.gleam
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/gleam.nix
languages.go.enable
Whether to enable tools for Go development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/go.nix
languages.go.package
The Go package to use.
Type: package
Default:
pkgs.go
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/go.nix
languages.haskell.enable
Whether to enable tools for Haskell development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.package
Haskell compiler to use.
Type: package
Default:
"pkgs.ghc"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.languageServer
Haskell language server to use.
Type: null or package
Default:
"pkgs.haskell-language-server"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix
languages.haskell.stack
Haskell stack to use.
Type: null or package
Default:
"pkgs.stack"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix
languages.java.enable
Whether to enable tools for Java development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/java.nix
languages.java.gradle.enable
Whether to enable gradle.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/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
.
Type: package
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/java.nix
languages.java.jdk.package
The JDK package to use.
This will also become available as JAVA_HOME
.
Type: package
Default:
pkgs.jdk
Example:
pkgs.jdk8
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/java.nix
languages.java.maven.enable
Whether to enable maven.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/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
.
Type: package
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/java.nix
languages.javascript.enable
Whether to enable tools for JavaScript development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.package
The Node package to use.
Type: package
Default:
pkgs.nodejs
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix
languages.javascript.corepack.enable
Whether to enable shims for package managers besides npm.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix
languages.julia.enable
Whether to enable tools for Julia development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/julia.nix
languages.julia.package
The Julia package to use.
Type: package
Default:
pkgs.julia-bin
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/julia.nix
languages.kotlin.enable
Whether to enable tools for Kotlin development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/kotlin.nix
languages.lua.enable
Whether to enable tools for Lua development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/lua.nix
languages.lua.package
The Lua package to use.
Type: package
Default:
pkgs.lua
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/lua.nix
languages.nim.enable
Whether to enable tools for Nim development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/nim.nix
languages.nim.package
The Nim package to use.
Type: package
Default:
pkgs.nim
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/nim.nix
languages.nix.enable
Whether to enable tools for Nix development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/nix.nix
languages.ocaml.enable
Whether to enable tools for OCaml development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/ocaml.nix
languages.ocaml.packages
The package set of OCaml to use
Type: attribute set
Default:
pkgs.ocaml-ng.ocamlPackages_4_12
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/ocaml.nix
languages.pascal.enable
Whether to enable tools for Pascal development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/pascal.nix
languages.pascal.lazarus.enable
Whether to enable lazarus graphical IDE for the FreePascal language.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/pascal.nix
languages.perl.enable
Whether to enable tools for Perl development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/perl.nix
languages.php.enable
Whether to enable tools for PHP development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/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'
Type: package
Default:
pkgs.php
Example:
pkgs.php.buildEnv {
extensions = { all, enabled }: with all; enabled ++ [ xdebug ];
extraConfig = ''
memory_limit=1G
'';
};
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.php.packages
Attribute set of packages including composer
Type: submodule
Default:
pkgs
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.php.packages.composer
composer package
Type: null or package
Default:
pkgs.phpPackages.composer
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.php.extensions
PHP extensions to enable.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/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.
Type: null or strings concatenated with ā\nā
Default:
null
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.phpOptions
Options appended to the PHP configuration file php.ini
.
Type: strings concatenated with ā\nā
Default:
""
Example:
Declared by: - https://github.com/cachix/devenv/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.
Type: attribute 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 by: - https://github.com/cachix/devenv/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.
Type: null or strings concatenated with ā\nā
Default:
null
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.<name>.listen
The address on which to accept FastCGI requests.
Type: string
Default:
""
Example:
"/path/to/unix/socket"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.<name>.phpEnv
Environment variables used for this PHP-FPM pool.
Type: attribute set of string
Default:
{ }
Example:
Declared by: - https://github.com/cachix/devenv/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.
Type: strings concatenated with ā\nā
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.<name>.phpPackage
The PHP package to use for running this PHP-FPM pool.
Type: package
Default:
phpfpm.phpPackage
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.php.fpm.pools.<name>.settings
PHP-FPM pool directives. Refer to the "List of pool directives" section of
https://www.php.net/manual/en/install.fpm.configuration.php"
the manual for details. Note that settings names must be
enclosed in quotes (e.g. "pm.max_children"
instead of
pm.max_children
).
Type: attribute 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 by: - https://github.com/cachix/devenv/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.
Type: string (read only)
Example:
"/home/runner/work/devenv/devenv/.devenv/state/php-fpm/<name>.sock"
Declared by: - https://github.com/cachix/devenv/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.
Type: attribute set of (string or signed integer or boolean)
Default:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.php.ini
PHP.ini directives. Refer to the "List of php.ini directives" of PHP's
Type: null or strings concatenated with ā\nā
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.php.version
The PHP version to use.
Type: string
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix
languages.purescript.enable
Whether to enable tools for PureScript development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/purescript.nix
languages.purescript.package
The PureScript package to use.
Type: package
Default:
pkgs.purescript
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/purescript.nix
languages.python.enable
Whether to enable tools for Python development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.package
The Python package to use.
Type: package
Default:
pkgs.python3
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.poetry.enable
Whether to enable poetry.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.poetry.package
The Poetry package to use.
Type: package
Default:
pkgs.poetry
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.poetry.activate.enable
Whether to enable activate the poetry virtual environment automatically.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.poetry.install.enable
Whether to enable poetry install during devenv initialisation.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.poetry.install.allExtras
Whether to install all extras. See --all-extras
.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.poetry.install.extras
Which extras to install. See --extras
.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.poetry.install.groups
Which dependency-groups to install. See --with
.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.poetry.install.installRootPackage
Whether the root package (your project) should be installed. See --no-root
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.poetry.install.quiet
Whether poetry install
should avoid outputting messages during devenv initialisation.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.venv.enable
Whether to enable Python virtual environment.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.python.version
The Python version to use.
This automatically sets the languages.python.package
using nixpkgs-python.
Type: null or string
Default:
null
Example:
"3.11 or 3.11.2"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python.nix
languages.r.enable
Whether to enable tools for R development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/r.nix
languages.r.package
The R package to use.
Type: package
Default:
pkgs.R
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/r.nix
languages.racket.enable
Whether to enable tools for Racket development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/racket.nix
languages.racket.package
The Racket package to use.
Type: package
Default:
pkgs.racket-minimal
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/racket.nix
languages.raku.enable
Whether to enable tools for Raku development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/raku.nix
languages.robotframework.enable
Whether to enable tools for Robot Framework development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/robotframework.nix
languages.robotframework.python
The Python package to use.
Type: package
Default:
pkgs.python3
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/robotframework.nix
languages.ruby.enable
Whether to enable tools for Ruby development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.package
The Ruby package to use.
Type: package
Default:
pkgs.ruby_3_1
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.bundler.enable
Whether to enable bundler.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/ruby.nix
languages.ruby.bundler.package
The bundler package to use.
Type: package
Default:
pkgs.bundler.override { ruby = cfg.package; }
Declared by: - https://github.com/cachix/devenv/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.
Type: null or string
Default:
null
Example:
"3.2.1"
Declared by: - https://github.com/cachix/devenv/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:
Type: null or path
Default:
null
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/ruby.nix
languages.rust.enable
Whether to enable tools for Rust development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix
languages.rust.packages
Attribute set of packages including rustc and Cargo.
Type: submodule
Default:
pkgs
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix
languages.rust.packages.cargo
cargo package
Type: package
Default:
pkgs.cargo
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix
languages.rust.packages.clippy
clippy package
Type: package
Default:
pkgs.clippy
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix
languages.rust.packages.rust-analyzer
rust-analyzer package
Type: package
Default:
pkgs.rust-analyzer
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix
languages.rust.packages.rust-src
rust-src package
Type: package or string
Default:
pkgs.rustPlatform.rustLibSrc
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix
languages.rust.packages.rustc
rustc package
Type: package
Default:
pkgs.rustc
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix
languages.rust.packages.rustfmt
rustfmt package
Type: package
Default:
pkgs.rustfmt
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix
languages.rust.version
Set to stable, beta, or latest.
Type: null or string
Default:
null
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix
languages.scala.enable
Whether to enable tools for Scala development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/scala.nix
languages.scala.package
The Scala package to use.
Type: package
Default:
"pkgs.scala_3"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/scala.nix
languages.swift.enable
Whether to enable tools for Swift development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/swift.nix
languages.swift.package
The Swift package to use.
Type: package
Default:
"pkgs.swift"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/swift.nix
languages.terraform.enable
Whether to enable tools for Terraform development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/terraform.nix
languages.terraform.package
The Terraform package to use.
Type: package
Default:
pkgs.terraform
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/terraform.nix
languages.texlive.enable
Whether to enable TeX Live.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/texlive.nix
languages.texlive.packages
Packages available to TeX Live
Type: non-empty (list of Concatenated string)
Default:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/texlive.nix
languages.texlive.base
TeX Live package set to use
Type: unspecified value
Default:
pkgs.texlive
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/texlive.nix
languages.typescript.enable
Whether to enable tools for TypeScript development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/typescript.nix
languages.unison.enable
Whether to enable tools for Unison development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/unison.nix
languages.unison.package
Which package of Unison to use
Type: package
Default:
pkgs.unison-ucm
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/unison.nix
languages.v.enable
Whether to enable tools for V development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/v.nix
languages.v.package
The V package to use.
Type: package
Default:
pkgs.vlang
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/v.nix
languages.zig.enable
Whether to enable tools for Zig development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/zig.nix
languages.zig.package
Which package of Zig to use.
Type: package
Default:
pkgs.zig
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/zig.nix
name
Name of the project.
Type: null or string
Default:
null
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix
pre-commit
Integration of https://github.com/cachix/pre-commit-hooks.nix
Type: submodule
Default:
{ }
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/pre-commit.nix
pre-commit.package
The pre-commit
package to use.
Type: package
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.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.
Type: list of string
Default:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.excludes
Exclude files that were matched by these patterns.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks
The hook definitions.
Pre-defined hooks can be enabled by, for example:
The pre-defined hooks are:
actionlint
Static checker for GitHub Actions workflow files.
alejandra
The Uncompromising Nix Code Formatter.
ansible-lint
Ansible linter.
autoflake
Remove unused imports and variables from Python code.
bats
Run bash unit tests.
black
The uncompromising Python code formatter.
cabal-fmt
Format Cabal files
cabal2nix
Run cabal2nix
on all *.cabal
files to generate corresponding default.nix
files.
cargo-check
Check the cargo package for errors.
checkmake
Experimental linter/analyzer for Makefiles.
chktex
LaTeX semantic checker
clang-format
Format your code using clang-format
.
clippy
Lint Rust code.
commitizen
Check whether the current commit message follows commiting rules.
deadnix
Scan Nix files for dead code (unused variable bindings).
dhall-format
Dhall code formatter.
dune-fmt
Runs Duneās formatters on the code tree.
dune-opam-sync
Check that Dune-generated OPAM files are in sync.
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.
eslint
Find and fix problems in your JavaScript code.
flake8
Check the style and quality of Python files.
fourmolu
Haskell code prettifier.
fprettify
Auto-formatter for modern Fortran code.
gofmt
A tool that automatically formats Go source code
gotest
Run go tests
govet
Checks correctness of Go programs.
gptcommit
Generate a commit message using GPT3.
hadolint
Dockerfile linter, validate inline bash.
hindent
Haskell code prettifier.
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.
latexindent
Perl script to add indentation to LaTeX files.
luacheck
A tool for linting and static analysis of Lua code.
markdownlint
Style checker and linter for markdown files.
mdsh
Markdown shell pre-processor.
mypy
Static type checker for Python
nil
Incremental analysis assistant for writing in Nix.
nixfmt
Nix code prettifier.
nixpkgs-fmt
Nix code prettifier.
ocp-indent
A tool to indent OCaml code.
opam-lint
OCaml package manager configuration checker.
ormolu
Haskell code prettifier.
php-cs-fixer
Lint PHP files.
phpcbf
Lint PHP files.
phpcs
Lint PHP files.
prettier
Opinionated multi-language code formatter.
purs-tidy
Format purescript files.
purty
Format purescript files.
pylint
Lint Python files.
revive
A linter for Go source code.
ruff
An extremely fast Python linter, written in Rust.
rustfmt
Format Rust code.
shellcheck
Format shell files.
shfmt
Format shell files.
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.
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.
typos
Source code spell checker
yamllint
Yaml linter.
zprint
Beautifully format Clojure and Clojurescript source code and s-expressions.
Type: attribute set of (submodule)
Default:
{ }
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.enable
Whether to enable this pre-commit hook.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.description
Description of the hook. used for metadata purposes only.
Type: string
Default:
""
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.entry
The entry point - the executable to run. entry
can also contain arguments that will not be overridden, such as entry = "autopep8 -i";
.
Type: string
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.excludes
Exclude files that were matched by these patterns.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.fail_fast
if true pre-commit will stop running hooks if this hook fails.
Type: boolean
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.files
The pattern of files to run on.
Type: string
Default:
""
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.language
The language of the hook - tells pre-commit how to install the hook.
Type: string
Default:
"system"
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.name
The name of the hook - shown during hook execution.
Type: string
Default: internal name, same as id
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.pass_filenames
Whether to pass filenames as arguments to the entry point.
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.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.
Type: attribute set of unspecified value
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.require_serial
if true this hook will execute using a single process instead of in parallel.
Type: boolean
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.stages
Confines the hook to run at a particular stage.
Type: list of string
Default:
default_stages
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.types
List of file types to run on. See Filtering files with types.
Type: list of string
Default:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.hooks.<name>.types_or
List of file types to run on, where only a single type needs to match.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.installationScript
A bash snippet that installs nix-pre-commit-hooks in the current directory
Type: string (read only)
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.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.
Type: path
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.run
A derivation that tests whether the pre-commit hooks run cleanly on the entire project.
Type: package (read only)
Default:
"<derivation>"
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.settings.alejandra.exclude
Files or directories to exclude from formatting.
Type: list of string
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.ansible-lint.configPath
path to the configuration YAML file
Type: string
Default:
""
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.ansible-lint.subdir
path to Ansible subdir
Type: string
Default:
""
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.autoflake.binPath
Path to autoflake binary.
Type: string
Default:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.autoflake.flags
Flags passed to autoflake.
Type: string
Default:
"--in-place --expand-star-imports --remove-duplicate-keys --remove-unused-variables"
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.clippy.denyWarnings
Fail when warnings are present
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.clippy.offline
Run clippy offline
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.deadnix.edit
Remove unused code and write to source file.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.deadnix.noLambdaArg
Donāt check lambda parameter arguments.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.deadnix.noLambdaPatternNames
Donāt check lambda pattern names (donāt break nixpkgs callPackage
).
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.deadnix.noUnderscore
Donāt check any bindings that start with a _
.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.deadnix.quiet
Donāt print a dead code report.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.dune-fmt.auto-promote
Whether to auto-promote the changes.
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.eslint.binPath
eslint
binary path. E.g. if you want to use the eslint
in node_modules
, use ./node_modules/.bin/eslint
.
Type: path
Default:
${tools.eslint}/bin/eslint
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.eslint.extensions
The pattern of files to run on, see https://pre-commit.com/#hooks-files.
Type: string
Default:
"\.js$"
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.flake8.binPath
flake8 binary path. Should be used to specify flake8 binary from your Nix-managed Python environment.
Type: string
Default:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.flake8.format
Output format.
Type: string
Default:
"default"
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.hpack.silent
Whether generation should be silent.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.markdownlint.config
See https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.jsonc
Type: attribute set
Default:
{ }
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.mypy.binPath
Mypy binary path. Should be used to specify the mypy executable in an environment containing your typing stubs.
Type: string
Default:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.nixfmt.width
Line width.
Type: null or signed integer
Default:
null
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.ormolu.cabalDefaultExtensions
Use default-extensions
from .cabal
files.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.ormolu.defaultExtensions
Haskell language extensions to enable.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.php-cs-fixer.binPath
PHP-CS-Fixer binary path.
Type: string
Default:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.phpcbf.binPath
PHP_CodeSniffer binary path.
Type: string
Default:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.phpcs.binPath
PHP_CodeSniffer binary path.
Type: string
Default:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.prettier.binPath
prettier
binary path. E.g. if you want to use the prettier
in node_modules
, use ./node_modules/.bin/prettier
.
Type: path
Default:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.prettier.output
Output format.
Type: null or one of ācheckā, ālist-differentā
Default:
"list-different"
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.prettier.write
Whether to edit files inplace.
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.pylint.binPath
Pylint binary path. Should be used to specify Pylint binary from your Nix-managed Python environment.
Type: string
Default:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.pylint.reports
Whether to display a full report.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.pylint.score
Whether to activate the evaluation score.
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.revive.configPath
Path to the configuration TOML file.
Type: string
Default:
""
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.rust.cargoManifestPath
Path to Cargo.toml
Type: null or string
Default:
null
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.statix.format
Error Output format.
Type: one of āstderrā, āerrfmtā, ājsonā
Default:
"errfmt"
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.statix.ignore
Globs of file patterns to skip.
Type: list of string
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.treefmt.package
The treefmt
package to use.
Should include all the formatters configured by treefmt.
For example:
pkgs.writeShellApplication {
name = "treefmt";
runtimeInputs = [
pkgs.treefmt
pkgs.nixpkgs-fmt
pkgs.black
];
text =
''
exec treefmt "$@"
'';
}
Type: package
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.typos.diff
Wheter to print a diff of what would change.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.typos.format
Output format.
Type: one of āsilentā, ābriefā, ālongā, ājsonā
Default:
"long"
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.typos.write
Whether to write fixes out.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.yamllint.configPath
path to the configuration YAML file
Type: string
Default:
""
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.settings.yamllint.relaxed
Use the relaxed configuration
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/hooks.nix
pre-commit.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.
Type: path
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
pre-commit.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.
Type: lazy attribute set of (null or package)
Declared by: - https://github.com/cachix/pre-commit-hooks.nix/blob/master/modules/pre-commit.nix
process.after
Bash code to execute after stopping processes.
Type: strings concatenated with ā\nā
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/processes.nix
process.before
Bash code to execute before starting processes.
Type: strings concatenated with ā\nā
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/processes.nix
process.implementation
The implementation used when performing devenv up
.
Type: one of āhonchoā, āovermindā, āprocess-composeā, āhivemindā
Default:
"honcho"
Example:
"overmind"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/processes.nix
process.process-compose
Top-level process-compose.yaml options when that implementation is used.
Type: attribute set
Default:
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/processes.nix
processes
Processes can be started with devenv up
and run in foreground mode.
Type: attribute set of (submodule)
Default:
{ }
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/processes.nix
processes.<name>.exec
Bash code to run the process.
Type: string
Declared by: - https://github.com/cachix/devenv/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.implementation = "process-compose";
Type: attribute set
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 by: - https://github.com/cachix/devenv/blob/main/src/modules/processes.nix
scripts
A set of scripts available when the environment is active.
Type: attribute set of (submodule)
Default:
{ }
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/scripts.nix
scripts.<name>.exec
Bash code to execute when the script is run.
Type: string
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/scripts.nix
services.adminer.enable
Whether to enable Adminer process.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/adminer.nix
services.adminer.package
Which package of Adminer to use.
Type: package
Default:
pkgs.adminer
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/adminer.nix
services.adminer.listen
Listen address for the Adminer.
Type: string
Default:
"127.0.0.1:8080"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/adminer.nix
services.blackfire.enable
Whether to enable Blackfire profiler agent
It automatically installs Blackfire PHP extension. .
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix
services.blackfire.package
Which package of blackfire to use
Type: package
Default:
pkgs.blackfire
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.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.
Type: string
Default:
""
Declared by: - https://github.com/cachix/devenv/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.
Type: string
Default:
""
Declared by: - https://github.com/cachix/devenv/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.
Type: string
Default:
""
Declared by: - https://github.com/cachix/devenv/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.
Type: string
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix
services.blackfire.socket
Sets the server socket path
Type: string
Default:
"tcp://127.0.0.1:8307"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix
services.caddy.enable
Whether to enable Caddy web server.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix
services.caddy.package
Caddy package to use.
Type: package
Default:
pkgs.caddy
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix
services.caddy.adapter
Name of the config adapter to use. See https://caddyserver.com/docs/config-adapters for the full list.
Type: string
Default:
"caddyfile"
Example:
"nginx"
Declared by: - https://github.com/cachix/devenv/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).
Type: null or string
Default:
"https://acme-v02.api.letsencrypt.org/directory"
Example:
"https://acme-staging-v02.api.letsencrypt.org/directory"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix
services.caddy.config
Verbatim Caddyfile to use.
Caddy v2 supports multiple config formats via adapters (see services.caddy.adapter
).
Type: strings concatenated with ā\nā
Default:
""
Example:
Declared by: - https://github.com/cachix/devenv/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.
Type: path
Default:
"/home/runner/work/devenv/devenv/.devenv/state/caddy"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix
services.caddy.email
Email address (for Let's Encrypt certificate).
Type: string
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix
services.caddy.resume
Use saved config, if any (and prefer over configuration passed with caddy.config
).
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix
services.caddy.virtualHosts
Declarative vhost config.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
"hydra.example.com" = {
serverAliases = [ "www.hydra.example.com" ];
extraConfig = ''''
encode gzip
log
root /srv/http
'''';
};
};
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix
services.caddy.virtualHosts.<name>.extraConfig
These lines go into the vhost verbatim.
Type: strings concatenated with ā\nā
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix
services.caddy.virtualHosts.<name>.serverAliases
Additional names of virtual hosts served by this virtual host configuration.
Type: list of string
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix
services.cassandra.enable
Whether to enable Add Cassandra process script..
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.package
Which version of Cassandra to use
Type: package
Default:
pkgs.cassandra_4
Example:
pkgs.cassandra_4;
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.allowClients
Enables or disables the native transport server (CQL binary protocol)
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.clusterName
The name of the cluster
Type: string
Default:
"Test Cluster"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.extraConfig
Extra options to be merged into cassandra.yaml
as nix attribute set.
Type: attribute set
Default:
{ }
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.jvmOpts
Options to pass to the JVM through the JVM_OPTS environment variable
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.listenAddress
Listen address
Type: string
Default:
"127.0.0.1"
Example:
"127.0.0.1"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix
services.cassandra.seedAddresses
The addresses of hosts designated as contact points of the cluster
Type: list of string
Default:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix
services.couchdb.enable
Whether to enable CouchDB process.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.package
Which version of CouchDB to use
Type: package
Default:
pkgs.couchdb3
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings
CouchDB configuration. to know more about all settings, look at:
Type: attribute set of attribute set of (INI atom (null, bool, int, float or string))
Default:
{ }
Example:
{
couchdb = {
database_dir = baseDir;
single_node = true;
viewIndexDir = baseDir;
uriFile = "/home/runner/work/devenv/devenv/.devenv/state/couchdb/couchdb.uri";
};
admins = {
"admin_username" = "pass";
};
chttpd = {
bindAddress = "127.0.0.1";
port = 5984;
logFile = "/home/runner/work/devenv/devenv/.devenv/state/couchdb/couchdb.log";
};
}
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.chttpd.bindAddress
Defines the IP address by which CouchDB will be accessible.
Type: string
Default:
"127.0.0.1"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.chttpd.logFile
Specifies the location of file for logging output.
Type: path
Default:
"/home/runner/work/devenv/devenv/.devenv/state/couchdb/couchdb.log"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.chttpd.port
Defined the port number to listen.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
5984
Declared by: - https://github.com/cachix/devenv/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).
Type: path
Default:
"/home/runner/work/devenv/devenv/.devenv/state/couchdb"
Declared by: - https://github.com/cachix/devenv/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.
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.couchdb.uriFile
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).
Type: path
Default:
"/home/runner/work/devenv/devenv/.devenv/state/couchdb/couchdb.uri"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix
services.couchdb.settings.couchdb.viewIndexDir
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).
Type: path
Default:
"/home/runner/work/devenv/devenv/.devenv/state/couchdb"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix
services.elasticsearch.enable
Whether to enable elasticsearch.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.package
Elasticsearch package to use.
Type: package
Default:
pkgs.elasticsearch7
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.cluster_name
Elasticsearch name that identifies your cluster for auto-discovery.
Type: string
Default:
"elasticsearch"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.extraCmdLineOptions
Extra command line options for the elasticsearch launcher.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.extraConf
Extra configuration for elasticsearch.
Type: string
Default:
""
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.extraJavaOptions
Extra command line options for Java.
Type: list of string
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.listenAddress
Elasticsearch listen address.
Type: string
Default:
"127.0.0.1"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.logging
Elasticsearch logging configuration.
Type: string
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 by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.plugins
Extra elasticsearch plugins
Type: list of package
Default:
[ ]
Example:
[ pkgs.elasticsearchPlugins.discovery-ec2 ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.port
Elasticsearch port to listen for HTTP traffic.
Type: signed integer
Default:
9200
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.single_node
Start a single-node cluster
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.elasticsearch.tcp_port
Elasticsearch port for the node to node communication.
Type: signed integer
Default:
9300
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix
services.mailhog.enable
Whether to enable mailhog process.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix
services.mailhog.package
Which package of mailhog to use
Type: package
Default:
pkgs.mailhog
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix
services.mailhog.additionalArgs
Additional arguments passed to mailhog
.
Type: list of strings concatenated with ā\nā
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix
services.mailhog.apiListenAddress
Listen address for API.
Type: string
Default:
"127.0.0.1:8025"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix
services.mailhog.smtpListenAddress
Listen address for SMTP.
Type: string
Default:
"127.0.0.1:1025"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix
services.mailhog.uiListenAddress
Listen address for UI.
Type: string
Default:
"127.0.0.1:8025"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix
services.meilisearch.enable
Whether to enable Meilisearch.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix
services.meilisearch.environment
Defines the running environment of Meilisearch.
Type: one of ādevelopmentā, āproductionā
Default:
"development"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix
services.meilisearch.listenAddress
Meilisearch listen address.
Type: string
Default:
"127.0.0.1"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix
services.meilisearch.listenPort
Meilisearch port to listen on.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
7700
Declared by: - https://github.com/cachix/devenv/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
Type: string
Default:
"INFO"
Declared by: - https://github.com/cachix/devenv/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
Type: string
Default:
"107374182400"
Declared by: - https://github.com/cachix/devenv/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.
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix
services.memcached.enable
Whether to enable memcached process.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/memcached.nix
services.memcached.package
Which package of memcached to use
Type: package
Default:
pkgs.memcached
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/memcached.nix
services.memcached.bind
The IP interface to bind to.
null
means "all interfaces".
Type: null or string
Default:
"127.0.0.1"
Example:
"127.0.0.1"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/memcached.nix
services.memcached.port
The TCP port to accept connections. If port 0 is specified Redis will not listen on a TCP socket.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
11211
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/memcached.nix
services.memcached.startArgs
Additional arguments passed to memcached
during startup.
Type: list of strings concatenated with ā\nā
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/memcached.nix
services.minio.enable
Whether to enable MinIO Object Storage.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix
services.minio.package
MinIO package to use.
Type: package
Default:
pkgs.minio
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix
services.minio.accessKey
Access key of 5 to 20 characters in length that clients use to access the server.
This overrides the access key that is generated by MinIO on first startup and stored inside the
configDir
directory.
Type: string
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix
services.minio.browser
Enable or disable access to web UI.
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix
services.minio.buckets
List of buckets to ensure exist on startup.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix
services.minio.consoleAddress
IP address and port of the web UI (console).
Type: string
Default:
"127.0.0.1:9001"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix
services.minio.listenAddress
IP address and port of the server.
Type: string
Default:
"127.0.0.1:9000"
Declared by: - https://github.com/cachix/devenv/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.
Type: string
Default:
"us-east-1"
Declared by: - https://github.com/cachix/devenv/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.
This overrides the secret key that is generated by MinIO on first startup and stored inside the
configDir
directory.
Type: string
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix
services.mongodb.enable
Whether to enable MongoDB process and expose utilities.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mongodb.nix
services.mongodb.package
Which MongoDB package to use.
Type: package
Default:
pkgs.mongodb
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mongodb.nix
services.mongodb.additionalArgs
Additional arguments passed to mongod
.
Type: list of strings concatenated with ā\nā
Default:
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mongodb.nix
services.mysql.enable
Whether to enable MySQL process and expose utilities.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix
services.mysql.package
Which package of MySQL to use
Type: package
Default:
pkgs.mariadb
Declared by: - https://github.com/cachix/devenv/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.
Type: list of (submodule)
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/devenv/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}
.
Type: attribute set of string
Default:
{ }
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix
services.mysql.ensureUsers.*.name
Name of the user to ensure.
Type: string
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix
services.mysql.ensureUsers.*.password
Password of the user to ensure.
Type: null or string
Default:
null
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix
services.mysql.importTimeZones
Whether to import tzdata on the first startup of the mysql server
Type: null or boolean
Default:
null
Declared by: - https://github.com/cachix/devenv/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.
Type: list of (submodule)
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix
services.mysql.initialDatabases.*.name
The name of the database to create.
Type: string
Declared by: - https://github.com/cachix/devenv/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.
Type: null or path
Default:
null
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix
services.mysql.settings
MySQL configuration.
Type: attribute set of attribute set of (INI atom (null, bool, int, float or string) or a list of them for duplicate keys)
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 by: - https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix
services.nginx.enable
Whether to enable nginx.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/nginx.nix
services.nginx.package
The nginx package to use.
Type: package
Default:
"pkgs.nginx"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/nginx.nix
services.nginx.eventsConfig
The nginx events configuration.
Type: strings concatenated with ā\nā
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/nginx.nix
services.nginx.httpConfig
The nginx configuration.
Type: strings concatenated with ā\nā
Default:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/nginx.nix
services.opensearch.enable
Whether to enable OpenSearch.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.package
The OpenSearch package to use.
Type: package
Default:
pkgs.opensearch
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.extraCmdLineOptions
Extra command line options for the OpenSearch launcher.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.extraJavaOptions
Extra command line options for Java.
Type: list of string
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.logging
OpenSearch logging configuration.
Type: string
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 by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings
OpenSearch configuration.
Type: YAML value
Default:
{ }
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."cluster.name"
The name of the cluster.
Type: string
Default:
"opensearch"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."discovery.type"
The type of discovery to use.
Type: string
Default:
"single-node"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."http.port"
The port to listen on for HTTP traffic.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
9200
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."network.host"
Which port this service should listen on.
Type: string
Default:
"127.0.0.1"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.opensearch.settings."transport.port"
The port to listen on for transport traffic.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
9300
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix
services.postgres.enable
Whether to enable Add PostgreSQL process. .
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/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.
Type: package
Default:
pkgs.postgresql
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix
services.postgres.createDatabase
Create a database named like current user on startup. Only applies when initialDatabases is an empty list.
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix
services.postgres.extensions
Additional PostgreSQL extensions to install.
The available extensions are:
- age
- cstore_fdw
- jsonb_deep_sum
- periods
- pg_auto_failover
- pg_bigm
- pg_cron
- pg_ed25519
- pg_hint_plan
- pg_hll
- pg_ivm
- pg_partman
- pg_rational
- pg_relusage
- pg_repack
- pg_safeupdate
- pg_similarity
- pg_topn
- pgaudit
- pgjwt
- pgroonga
- pgrouting
- pgtap
- pgvector
- pipelinedb
- plpgsql_check
- plr
- plv8
- postgis
- repmgr
- rum
- smlar
- tds_fdw
- temporal_tables
- timescaledb
- timescaledb_toolkit
- tsearch_extras
- wal2json
Type: null or (function that evaluates to a(n) list of package)
Default:
null
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix
services.postgres.initdbArgs
Additional arguments passed to initdb
during data dir
initialisation.
Type: list of strings concatenated with ā\nā
Default:
Example:
Declared by: - https://github.com/cachix/devenv/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.
Type: list of (submodule)
Default:
[ ]
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix
services.postgres.initialDatabases.*.name
The name of the database to create.
Type: string
Declared by: - https://github.com/cachix/devenv/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.
Type: null or path
Default:
null
Declared by: - https://github.com/cachix/devenv/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.
Type: null or string
Default:
null
Example:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix
services.postgres.listen_addresses
Listen address
Type: string
Default:
""
Example:
"127.0.0.1"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix
services.postgres.port
The TCP port to accept connections.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
5432
Declared by: - https://github.com/cachix/devenv/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.
Type: attribute 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 by: - https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix
services.rabbitmq.enable
Whether to enable the RabbitMQ server, an Advanced Message Queuing Protocol (AMQP) broker.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.package
Which rabbitmq package to use.
Type: package
Default:
pkgs.rabbitmq-server
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.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
Type: attribute set of string
Default:
{ }
Example:
{
"auth_backends.1.authn" = "rabbit_auth_backend_ldap";
"auth_backends.1.authz" = "rabbit_auth_backend_internal";
}
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.cookie
Erlang cookie is a string of arbitrary length which must be the same for several nodes to be allowed to communicate. Leave empty to generate automatically.
Type: string
Default:
""
Declared by: - https://github.com/cachix/devenv/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.
Type: string
Default:
"127.0.0.1"
Example:
""
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.managementPlugin.enable
Whether to enable the management plugin.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.managementPlugin.port
On which port to run the management plugin
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
15672
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.pluginDirs
The list of directories containing external plugins
Type: list of path
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.plugins
The names of plugins to enable
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix
services.rabbitmq.port
Port on which RabbitMQ will listen for AMQP connections.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
5672
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix
services.redis.enable
Whether to enable Redis process and expose utilities.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/redis.nix
services.redis.package
Which package of Redis to use
Type: package
Default:
pkgs.redis
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/redis.nix
services.redis.bind
The IP interface to bind to.
null
means "all interfaces".
Type: null or string
Default:
"127.0.0.1"
Example:
"127.0.0.1"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/redis.nix
services.redis.extraConfig
Additional text to be appended to redis.conf
.
Type: strings concatenated with ā\nā
Default:
""
Declared by: - https://github.com/cachix/devenv/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.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
6379
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/redis.nix
services.varnish.enable
Whether to enable Varnish process and expose utilities.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix
services.varnish.package
Which Varnish package to use.
Type: package
Default:
pkgs.varnish
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix
services.varnish.listen
Which address to listen on.
Type: string
Default:
"127.0.0.1:6081"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix
services.varnish.memorySize
How much memory to allocate to Varnish.
Type: string
Default:
"64M"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix
services.varnish.vcl
Varnish VCL configuration.
Type: strings concatenated with ā\nā
Default:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix
services.vault.enable
Whether to enable vault process.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix
services.vault.package
Which package of Vault to use.
Type: package
Default:
pkgs.vault-bin
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix
services.vault.address
Specifies the address to bind to for listening
Type: string
Default:
"127.0.0.1:8200"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix
services.vault.disableClustering
Specifies whether clustering features such as request forwarding are enabled
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix
services.vault.disableMlock
Disables the server from executing the mlock syscall
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix
services.vault.ui
Enables the built-in web UI
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix
services.wiremock.enable
Whether to enable WireMock.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix
services.wiremock.package
Which package of WireMock to use.
Type: package
Default:
pkgs.wiremock
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix
services.wiremock.disableBanner
Whether to disable print banner logo.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/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.
Type: JSON 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 by: - https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix
services.wiremock.port
The port number for the HTTP server to listen on.
Type: signed integer
Default:
8080
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix
services.wiremock.verbose
Whether to log verbosely to stdout.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix
starship.enable
Whether to enable the Starship.rs command prompt.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/starship.nix
starship.package
The Starship package to use.
Type: package
Default:
pkgs.starship
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/starship.nix
starship.config.enable
Whether to enable Starship config override.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/starship.nix
starship.config.path
The Starship configuration file to use.
Type: path
Default:
${config.env.DEVENV_ROOT}/starship.toml
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/integrations/starship.nix