devenv
devenv
provides a devShell with many options, and container packages.
See also the setup guide at devenv.sh.
Installation
To use these options, add to your flake inputs:
devenv.url = "github:cachix/devenv";
and inside the mkFlake
:
imports = [
inputs.devenv.flakeModule
];
Run nix flake lock
and you're set.
Options
perSystem.devenv.shells.<name>.packages
perSystem.devenv.shells.<name>.certificates
perSystem.devenv.shells.<name>.container.isBuilding
perSystem.devenv.shells.<name>.containers
perSystem.devenv.shells.<name>.containers.<name>.copyToRoot
perSystem.devenv.shells.<name>.containers.<name>.defaultCopyArgs
perSystem.devenv.shells.<name>.containers.<name>.entrypoint
perSystem.devenv.shells.<name>.containers.<name>.isBuilding
perSystem.devenv.shells.<name>.containers.<name>.name
perSystem.devenv.shells.<name>.containers.<name>.registry
perSystem.devenv.shells.<name>.containers.<name>.startupCommand
perSystem.devenv.shells.<name>.containers.<name>.version
perSystem.devenv.shells.<name>.devcontainer.enable
perSystem.devenv.shells.<name>.devcontainer.settings
perSystem.devenv.shells.<name>.devcontainer.settings.customizations.vscode.extensions
perSystem.devenv.shells.<name>.devcontainer.settings.image
perSystem.devenv.shells.<name>.devcontainer.settings.overrideCommand
perSystem.devenv.shells.<name>.devcontainer.settings.updateContentCommand
perSystem.devenv.shells.<name>.devenv.flakesIntegration
perSystem.devenv.shells.<name>.devenv.latestVersion
perSystem.devenv.shells.<name>.devenv.warnOnNewVersion
perSystem.devenv.shells.<name>.difftastic.enable
perSystem.devenv.shells.<name>.enterShell
perSystem.devenv.shells.<name>.env
perSystem.devenv.shells.<name>.hosts
perSystem.devenv.shells.<name>.hostsProfileName
perSystem.devenv.shells.<name>.infoSections
perSystem.devenv.shells.<name>.languages.ansible.enable
perSystem.devenv.shells.<name>.languages.ansible.package
perSystem.devenv.shells.<name>.languages.c.enable
perSystem.devenv.shells.<name>.languages.clojure.enable
perSystem.devenv.shells.<name>.languages.cplusplus.enable
perSystem.devenv.shells.<name>.languages.crystal.enable
perSystem.devenv.shells.<name>.languages.cue.enable
perSystem.devenv.shells.<name>.languages.cue.package
perSystem.devenv.shells.<name>.languages.dart.enable
perSystem.devenv.shells.<name>.languages.dart.package
perSystem.devenv.shells.<name>.languages.deno.enable
perSystem.devenv.shells.<name>.languages.dotnet.enable
perSystem.devenv.shells.<name>.languages.dotnet.package
perSystem.devenv.shells.<name>.languages.elixir.enable
perSystem.devenv.shells.<name>.languages.elixir.package
perSystem.devenv.shells.<name>.languages.elm.enable
perSystem.devenv.shells.<name>.languages.erlang.enable
perSystem.devenv.shells.<name>.languages.erlang.package
perSystem.devenv.shells.<name>.languages.gawk.enable
perSystem.devenv.shells.<name>.languages.go.enable
perSystem.devenv.shells.<name>.languages.go.package
perSystem.devenv.shells.<name>.languages.haskell.enable
perSystem.devenv.shells.<name>.languages.haskell.package
perSystem.devenv.shells.<name>.languages.haskell.languageServer
perSystem.devenv.shells.<name>.languages.java.enable
perSystem.devenv.shells.<name>.languages.java.gradle.enable
perSystem.devenv.shells.<name>.languages.java.gradle.package
perSystem.devenv.shells.<name>.languages.java.jdk.package
perSystem.devenv.shells.<name>.languages.java.maven.enable
perSystem.devenv.shells.<name>.languages.java.maven.package
perSystem.devenv.shells.<name>.languages.javascript.enable
perSystem.devenv.shells.<name>.languages.javascript.package
perSystem.devenv.shells.<name>.languages.julia.enable
perSystem.devenv.shells.<name>.languages.julia.package
perSystem.devenv.shells.<name>.languages.kotlin.enable
perSystem.devenv.shells.<name>.languages.lua.enable
perSystem.devenv.shells.<name>.languages.lua.package
perSystem.devenv.shells.<name>.languages.nim.enable
perSystem.devenv.shells.<name>.languages.nim.package
perSystem.devenv.shells.<name>.languages.nix.enable
perSystem.devenv.shells.<name>.languages.ocaml.enable
perSystem.devenv.shells.<name>.languages.ocaml.packages
perSystem.devenv.shells.<name>.languages.perl.enable
perSystem.devenv.shells.<name>.languages.php.enable
perSystem.devenv.shells.<name>.languages.php.package
perSystem.devenv.shells.<name>.languages.php.packages
perSystem.devenv.shells.<name>.languages.php.packages.composer
perSystem.devenv.shells.<name>.languages.php.extensions
perSystem.devenv.shells.<name>.languages.php.fpm.extraConfig
perSystem.devenv.shells.<name>.languages.php.fpm.phpOptions
perSystem.devenv.shells.<name>.languages.php.fpm.pools
perSystem.devenv.shells.<name>.languages.php.fpm.pools.<name>.extraConfig
perSystem.devenv.shells.<name>.languages.php.fpm.pools.<name>.listen
perSystem.devenv.shells.<name>.languages.php.fpm.pools.<name>.phpEnv
perSystem.devenv.shells.<name>.languages.php.fpm.pools.<name>.phpOptions
perSystem.devenv.shells.<name>.languages.php.fpm.pools.<name>.phpPackage
perSystem.devenv.shells.<name>.languages.php.fpm.pools.<name>.settings
perSystem.devenv.shells.<name>.languages.php.fpm.pools.<name>.socket
perSystem.devenv.shells.<name>.languages.php.fpm.settings
perSystem.devenv.shells.<name>.languages.php.ini
perSystem.devenv.shells.<name>.languages.php.version
perSystem.devenv.shells.<name>.languages.purescript.enable
perSystem.devenv.shells.<name>.languages.purescript.package
perSystem.devenv.shells.<name>.languages.python.enable
perSystem.devenv.shells.<name>.languages.python.package
perSystem.devenv.shells.<name>.languages.python.poetry.enable
perSystem.devenv.shells.<name>.languages.python.poetry.package
perSystem.devenv.shells.<name>.languages.python.venv.enable
perSystem.devenv.shells.<name>.languages.r.enable
perSystem.devenv.shells.<name>.languages.r.package
perSystem.devenv.shells.<name>.languages.racket.enable
perSystem.devenv.shells.<name>.languages.racket.package
perSystem.devenv.shells.<name>.languages.raku.enable
perSystem.devenv.shells.<name>.languages.robotframework.enable
perSystem.devenv.shells.<name>.languages.robotframework.python
perSystem.devenv.shells.<name>.languages.ruby.enable
perSystem.devenv.shells.<name>.languages.ruby.package
perSystem.devenv.shells.<name>.languages.ruby.version
perSystem.devenv.shells.<name>.languages.ruby.versionFile
perSystem.devenv.shells.<name>.languages.rust.enable
perSystem.devenv.shells.<name>.languages.rust.packages
perSystem.devenv.shells.<name>.languages.rust.packages.cargo
perSystem.devenv.shells.<name>.languages.rust.packages.clippy
perSystem.devenv.shells.<name>.languages.rust.packages.rust-analyzer
perSystem.devenv.shells.<name>.languages.rust.packages.rust-src
perSystem.devenv.shells.<name>.languages.rust.packages.rustc
perSystem.devenv.shells.<name>.languages.rust.packages.rustfmt
perSystem.devenv.shells.<name>.languages.rust.version
perSystem.devenv.shells.<name>.languages.scala.enable
perSystem.devenv.shells.<name>.languages.scala.package
perSystem.devenv.shells.<name>.languages.swift.enable
perSystem.devenv.shells.<name>.languages.swift.package
perSystem.devenv.shells.<name>.languages.terraform.enable
perSystem.devenv.shells.<name>.languages.terraform.package
perSystem.devenv.shells.<name>.languages.texlive.enable
perSystem.devenv.shells.<name>.languages.texlive.packages
perSystem.devenv.shells.<name>.languages.texlive.base
perSystem.devenv.shells.<name>.languages.typescript.enable
perSystem.devenv.shells.<name>.languages.unison.enable
perSystem.devenv.shells.<name>.languages.unison.package
perSystem.devenv.shells.<name>.languages.v.enable
perSystem.devenv.shells.<name>.languages.v.package
perSystem.devenv.shells.<name>.languages.zig.enable
perSystem.devenv.shells.<name>.languages.zig.package
perSystem.devenv.shells.<name>.name
perSystem.devenv.shells.<name>.pre-commit
perSystem.devenv.shells.<name>.process.after
perSystem.devenv.shells.<name>.process.before
perSystem.devenv.shells.<name>.process.implementation
perSystem.devenv.shells.<name>.process.process-compose
perSystem.devenv.shells.<name>.processes
perSystem.devenv.shells.<name>.processes.<name>.exec
perSystem.devenv.shells.<name>.processes.<name>.process-compose
perSystem.devenv.shells.<name>.scripts
perSystem.devenv.shells.<name>.scripts.<name>.exec
perSystem.devenv.shells.<name>.services.adminer.enable
perSystem.devenv.shells.<name>.services.adminer.package
perSystem.devenv.shells.<name>.services.adminer.listen
perSystem.devenv.shells.<name>.services.blackfire.enable
perSystem.devenv.shells.<name>.services.blackfire.package
perSystem.devenv.shells.<name>.services.blackfire.client-id
perSystem.devenv.shells.<name>.services.blackfire.client-token
perSystem.devenv.shells.<name>.services.blackfire.server-id
perSystem.devenv.shells.<name>.services.blackfire.server-token
perSystem.devenv.shells.<name>.services.blackfire.socket
perSystem.devenv.shells.<name>.services.caddy.enable
perSystem.devenv.shells.<name>.services.caddy.package
perSystem.devenv.shells.<name>.services.caddy.adapter
perSystem.devenv.shells.<name>.services.caddy.ca
perSystem.devenv.shells.<name>.services.caddy.config
perSystem.devenv.shells.<name>.services.caddy.dataDir
perSystem.devenv.shells.<name>.services.caddy.email
perSystem.devenv.shells.<name>.services.caddy.resume
perSystem.devenv.shells.<name>.services.caddy.virtualHosts
perSystem.devenv.shells.<name>.services.caddy.virtualHosts.<name>.extraConfig
perSystem.devenv.shells.<name>.services.caddy.virtualHosts.<name>.serverAliases
perSystem.devenv.shells.<name>.services.cassandra.enable
perSystem.devenv.shells.<name>.services.cassandra.package
perSystem.devenv.shells.<name>.services.cassandra.allowClients
perSystem.devenv.shells.<name>.services.cassandra.clusterName
perSystem.devenv.shells.<name>.services.cassandra.extraConfig
perSystem.devenv.shells.<name>.services.cassandra.jvmOpts
perSystem.devenv.shells.<name>.services.cassandra.listenAddress
perSystem.devenv.shells.<name>.services.cassandra.seedAddresses
perSystem.devenv.shells.<name>.services.couchdb.enable
perSystem.devenv.shells.<name>.services.couchdb.package
perSystem.devenv.shells.<name>.services.couchdb.settings
perSystem.devenv.shells.<name>.services.couchdb.settings.chttpd.bindAddress
perSystem.devenv.shells.<name>.services.couchdb.settings.chttpd.logFile
perSystem.devenv.shells.<name>.services.couchdb.settings.chttpd.port
perSystem.devenv.shells.<name>.services.couchdb.settings.couchdb.database_dir
perSystem.devenv.shells.<name>.services.couchdb.settings.couchdb.single_node
perSystem.devenv.shells.<name>.services.couchdb.settings.couchdb.uriFile
perSystem.devenv.shells.<name>.services.couchdb.settings.couchdb.viewIndexDir
perSystem.devenv.shells.<name>.services.elasticsearch.enable
perSystem.devenv.shells.<name>.services.elasticsearch.package
perSystem.devenv.shells.<name>.services.elasticsearch.cluster_name
perSystem.devenv.shells.<name>.services.elasticsearch.extraCmdLineOptions
perSystem.devenv.shells.<name>.services.elasticsearch.extraConf
perSystem.devenv.shells.<name>.services.elasticsearch.extraJavaOptions
perSystem.devenv.shells.<name>.services.elasticsearch.listenAddress
perSystem.devenv.shells.<name>.services.elasticsearch.logging
perSystem.devenv.shells.<name>.services.elasticsearch.plugins
perSystem.devenv.shells.<name>.services.elasticsearch.port
perSystem.devenv.shells.<name>.services.elasticsearch.single_node
perSystem.devenv.shells.<name>.services.elasticsearch.tcp_port
perSystem.devenv.shells.<name>.services.mailhog.enable
perSystem.devenv.shells.<name>.services.mailhog.package
perSystem.devenv.shells.<name>.services.mailhog.additionalArgs
perSystem.devenv.shells.<name>.services.mailhog.apiListenAddress
perSystem.devenv.shells.<name>.services.mailhog.smtpListenAddress
perSystem.devenv.shells.<name>.services.mailhog.uiListenAddress
perSystem.devenv.shells.<name>.services.memcached.enable
perSystem.devenv.shells.<name>.services.memcached.package
perSystem.devenv.shells.<name>.services.memcached.bind
perSystem.devenv.shells.<name>.services.memcached.port
perSystem.devenv.shells.<name>.services.memcached.startArgs
perSystem.devenv.shells.<name>.services.minio.enable
perSystem.devenv.shells.<name>.services.minio.package
perSystem.devenv.shells.<name>.services.minio.accessKey
perSystem.devenv.shells.<name>.services.minio.browser
perSystem.devenv.shells.<name>.services.minio.buckets
perSystem.devenv.shells.<name>.services.minio.consoleAddress
perSystem.devenv.shells.<name>.services.minio.listenAddress
perSystem.devenv.shells.<name>.services.minio.region
perSystem.devenv.shells.<name>.services.minio.secretKey
perSystem.devenv.shells.<name>.services.mongodb.enable
perSystem.devenv.shells.<name>.services.mongodb.package
perSystem.devenv.shells.<name>.services.mongodb.additionalArgs
perSystem.devenv.shells.<name>.services.mysql.enable
perSystem.devenv.shells.<name>.services.mysql.package
perSystem.devenv.shells.<name>.services.mysql.ensureUsers
perSystem.devenv.shells.<name>.services.mysql.ensureUsers.*.ensurePermissions
perSystem.devenv.shells.<name>.services.mysql.ensureUsers.*.name
perSystem.devenv.shells.<name>.services.mysql.ensureUsers.*.password
perSystem.devenv.shells.<name>.services.mysql.importTimeZones
perSystem.devenv.shells.<name>.services.mysql.initialDatabases
perSystem.devenv.shells.<name>.services.mysql.initialDatabases.*.name
perSystem.devenv.shells.<name>.services.mysql.initialDatabases.*.schema
perSystem.devenv.shells.<name>.services.mysql.settings
perSystem.devenv.shells.<name>.services.postgres.enable
perSystem.devenv.shells.<name>.services.postgres.package
perSystem.devenv.shells.<name>.services.postgres.createDatabase
perSystem.devenv.shells.<name>.services.postgres.initdbArgs
perSystem.devenv.shells.<name>.services.postgres.initialDatabases
perSystem.devenv.shells.<name>.services.postgres.initialDatabases.*.name
perSystem.devenv.shells.<name>.services.postgres.initialDatabases.*.schema
perSystem.devenv.shells.<name>.services.postgres.initialScript
perSystem.devenv.shells.<name>.services.postgres.listen_addresses
perSystem.devenv.shells.<name>.services.postgres.port
perSystem.devenv.shells.<name>.services.postgres.settings
perSystem.devenv.shells.<name>.services.rabbitmq.enable
perSystem.devenv.shells.<name>.services.rabbitmq.package
perSystem.devenv.shells.<name>.services.rabbitmq.configItems
perSystem.devenv.shells.<name>.services.rabbitmq.cookie
perSystem.devenv.shells.<name>.services.rabbitmq.listenAddress
perSystem.devenv.shells.<name>.services.rabbitmq.managementPlugin.enable
perSystem.devenv.shells.<name>.services.rabbitmq.managementPlugin.port
perSystem.devenv.shells.<name>.services.rabbitmq.pluginDirs
perSystem.devenv.shells.<name>.services.rabbitmq.plugins
perSystem.devenv.shells.<name>.services.rabbitmq.port
perSystem.devenv.shells.<name>.services.redis.enable
perSystem.devenv.shells.<name>.services.redis.package
perSystem.devenv.shells.<name>.services.redis.bind
perSystem.devenv.shells.<name>.services.redis.extraConfig
perSystem.devenv.shells.<name>.services.redis.port
perSystem.devenv.shells.<name>.services.wiremock.enable
perSystem.devenv.shells.<name>.services.wiremock.package
perSystem.devenv.shells.<name>.services.wiremock.disableBanner
perSystem.devenv.shells.<name>.services.wiremock.mappings
perSystem.devenv.shells.<name>.services.wiremock.port
perSystem.devenv.shells.<name>.services.wiremock.verbose
perSystem.devenv.shells.<name>.starship.enable
perSystem.devenv.shells.<name>.starship.package
perSystem.devenv.shells.<name>.starship.config.enable
perSystem.devenv.shells.<name>.starship.config.path
perSystem.devenv.shells
The devenv.sh settings, per shell.
Each definition devenv.shells.<name>
results in a
value for devShells.<name>
.
Define devenv.shells.default
for the default
nix develop
invocation - without an argument.
Type: lazy attribute set of (submodule)
Default: { }
Example:
{
# create devShells.default
default = {
# devenv settings, e.g.
languages.elm.enable = true;
};
}
Declared by:
perSystem.devenv.shells.<name>.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:
devenv/src/modules/top-level.nix
perSystem.devenv.shells.<name>.certificates
List of domains to generate certificates for.
Type: list of string
Default: [ ]
Example:
[
"example.com"
"*.example.com"
]
Declared by:
devenv/src/modules/integrations/mkcert.nix
perSystem.devenv.shells.<name>.container.isBuilding
Set to true when the environment is building a container.
Type: boolean
Default: false
Declared by:
devenv/src/modules/containers.nix
perSystem.devenv.shells.<name>.containers
Container specifications that can be built, copied and ran using
devenv container
.
Type: attribute set of (submodule)
Default: { }
Declared by:
devenv/src/modules/containers.nix
perSystem.devenv.shells.<name>.containers.<name>.copyToRoot
Add a path to the container. Defaults to the whole git repo.
Type: null or path
Default: "self"
Declared by:
devenv/src/modules/containers.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/containers.nix
perSystem.devenv.shells.<name>.containers.<name>.entrypoint
Entrypoint of the container.
Type: list of anything
Default: [ entrypoint ]
Declared by:
devenv/src/modules/containers.nix
perSystem.devenv.shells.<name>.containers.<name>.isBuilding
Set to true when the environment is building this container.
Type: boolean
Default: false
Declared by:
devenv/src/modules/containers.nix
perSystem.devenv.shells.<name>.containers.<name>.name
Name of the container.
Type: null or string
Default:
"top-level name or containers.mycontainer.name"
Declared by:
devenv/src/modules/containers.nix
perSystem.devenv.shells.<name>.containers.<name>.registry
Registry to push the container to.
Type: null or string
Default: "docker://"
Declared by:
devenv/src/modules/containers.nix
perSystem.devenv.shells.<name>.containers.<name>.startupCommand
Command to run in the container.
Type: null or string or package
Default: null
Declared by:
devenv/src/modules/containers.nix
perSystem.devenv.shells.<name>.containers.<name>.version
Version/tag of the container.
Type: null or string
Default: "latest"
Declared by:
devenv/src/modules/containers.nix
perSystem.devenv.shells.<name>.devcontainer.enable
Whether to enable generation .devcontainer.json for devenv integration.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/integrations/devcontainer.nix
perSystem.devenv.shells.<name>.devcontainer.settings
Devcontainer settings.
Type: JSON value
Default: { }
Declared by:
devenv/src/modules/integrations/devcontainer.nix
perSystem.devenv.shells.<name>.devcontainer.settings.customizations.vscode.extensions
List of preinstalled VSCode extensions.
Type: list of string
Default:
[
"mkhl.direnv"
]
Declared by:
devenv/src/modules/integrations/devcontainer.nix
perSystem.devenv.shells.<name>.devcontainer.settings.image
The name of an image in a container registry.
Type: string
Default: "ghcr.io/cachix/devenv:latest"
Declared by:
devenv/src/modules/integrations/devcontainer.nix
perSystem.devenv.shells.<name>.devcontainer.settings.overrideCommand
Override the default command.
Type: anything
Default: false
Declared by:
devenv/src/modules/integrations/devcontainer.nix
perSystem.devenv.shells.<name>.devcontainer.settings.updateContentCommand
Command to run after container creation.
Type: anything
Default: "devenv ci"
Declared by:
devenv/src/modules/integrations/devcontainer.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/update-check.nix
perSystem.devenv.shells.<name>.devenv.latestVersion
The latest version of devenv.
Type: string
Default: "0.6.2"
Declared by:
devenv/src/modules/update-check.nix
perSystem.devenv.shells.<name>.devenv.warnOnNewVersion
Whether to warn when a new version of devenv is available.
Type: boolean
Default: true
Declared by:
devenv/src/modules/update-check.nix
perSystem.devenv.shells.<name>.difftastic.enable
Integrate difftastic into git: https://difftastic.wilfred.me.uk/.
Type: boolean
Default: false
Declared by:
devenv/src/modules/integrations/difftastic.nix
perSystem.devenv.shells.<name>.enterShell
Bash code to execute when entering the shell.
Type: strings concatenated with “\n”
Default: ""
Declared by:
devenv/src/modules/top-level.nix
perSystem.devenv.shells.<name>.env
Environment variables to be exposed inside the developer environment.
Type: lazy attribute set of anything
Default: { }
Declared by:
devenv/src/modules/top-level.nix
perSystem.devenv.shells.<name>.hosts
List of hosts entries.
Type: attribute set of string
Default: { }
Example:
{
"example.com" = "127.0.0.1";
}
Declared by:
devenv/src/modules/integrations/hostctl.nix
perSystem.devenv.shells.<name>.hostsProfileName
Profile name to use.
Type: string
Default:
"devenv-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
Declared by:
devenv/src/modules/integrations/hostctl.nix
perSystem.devenv.shells.<name>.infoSections
Information about the environment
Type: attribute set of list of string
Default: { }
Declared by:
perSystem.devenv.shells.<name>.languages.ansible.enable
Whether to enable tools for Ansible development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/ansible.nix
perSystem.devenv.shells.<name>.languages.ansible.package
The Ansible package to use.
Type: package
Default: pkgs.ansible
Declared by:
devenv/src/modules/languages/ansible.nix
perSystem.devenv.shells.<name>.languages.c.enable
Whether to enable tools for C development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/c.nix
perSystem.devenv.shells.<name>.languages.clojure.enable
Whether to enable tools for Clojure development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/clojure.nix
perSystem.devenv.shells.<name>.languages.cplusplus.enable
Whether to enable tools for C++ development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/cplusplus.nix
perSystem.devenv.shells.<name>.languages.crystal.enable
Whether to enable Enable tools for Crystal development…
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/crystal.nix
perSystem.devenv.shells.<name>.languages.cue.enable
Whether to enable tools for Cue development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/cue.nix
perSystem.devenv.shells.<name>.languages.cue.package
The CUE package to use.
Type: package
Default: pkgs.cue
Declared by:
devenv/src/modules/languages/cue.nix
perSystem.devenv.shells.<name>.languages.dart.enable
Whether to enable tools for Dart development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/dart.nix
perSystem.devenv.shells.<name>.languages.dart.package
The Dart package to use.
Type: package
Default: pkgs.dart
Declared by:
devenv/src/modules/languages/dart.nix
perSystem.devenv.shells.<name>.languages.deno.enable
Whether to enable tools for Deno development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/deno.nix
perSystem.devenv.shells.<name>.languages.dotnet.enable
Whether to enable tools for .NET development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/dotnet.nix
perSystem.devenv.shells.<name>.languages.dotnet.package
The .NET SDK package to use.
Type: package
Default: pkgs.dotnet-sdk
Declared by:
devenv/src/modules/languages/dotnet.nix
perSystem.devenv.shells.<name>.languages.elixir.enable
Whether to enable tools for Elixir development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/elixir.nix
perSystem.devenv.shells.<name>.languages.elixir.package
Which package of Elixir to use.
Type: package
Default: pkgs.elixir
Declared by:
devenv/src/modules/languages/elixir.nix
perSystem.devenv.shells.<name>.languages.elm.enable
Whether to enable tools for Elm development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/elm.nix
perSystem.devenv.shells.<name>.languages.erlang.enable
Whether to enable tools for Erlang development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/erlang.nix
perSystem.devenv.shells.<name>.languages.erlang.package
Which package of Erlang to use.
Type: package
Default: pkgs.erlang
Declared by:
devenv/src/modules/languages/erlang.nix
perSystem.devenv.shells.<name>.languages.gawk.enable
Whether to enable tools for GNU Awk development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/gawk.nix
perSystem.devenv.shells.<name>.languages.go.enable
Whether to enable tools for Go development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/go.nix
perSystem.devenv.shells.<name>.languages.go.package
The Go package to use.
Type: package
Default: pkgs.go
Declared by:
devenv/src/modules/languages/go.nix
perSystem.devenv.shells.<name>.languages.haskell.enable
Whether to enable tools for Haskell development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/haskell.nix
perSystem.devenv.shells.<name>.languages.haskell.package
Haskell compiler to use.
Type: package
Default: "pkgs.ghc"
Declared by:
devenv/src/modules/languages/haskell.nix
perSystem.devenv.shells.<name>.languages.haskell.languageServer
Haskell language server to use.
Type: null or package
Default: "pkgs.haskell-language-server"
Declared by:
devenv/src/modules/languages/haskell.nix
perSystem.devenv.shells.<name>.languages.java.enable
Whether to enable tools for Java development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/java.nix
perSystem.devenv.shells.<name>.languages.java.gradle.enable
Whether to enable gradle.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/java.nix
perSystem.devenv.shells.<name>.languages.java.gradle.package
The Gradle package to use. The Gradle package by default inherits the
JDK from languages.java.jdk.package
.
Type: package
Default:
pkgs.gradle.override { jdk = cfg.jdk.package; }
Declared by:
devenv/src/modules/languages/java.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/languages/java.nix
perSystem.devenv.shells.<name>.languages.java.maven.enable
Whether to enable maven.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/java.nix
perSystem.devenv.shells.<name>.languages.java.maven.package
The Maven package to use. The Maven package by default inherits the
JDK from languages.java.jdk.package
.
Type: package
Default:
"pkgs.maven.override { jdk = cfg.jdk.package; }"
Declared by:
devenv/src/modules/languages/java.nix
perSystem.devenv.shells.<name>.languages.javascript.enable
Whether to enable tools for JavaScript development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/javascript.nix
perSystem.devenv.shells.<name>.languages.javascript.package
The Node package to use.
Type: package
Default: pkgs.nodejs
Declared by:
devenv/src/modules/languages/javascript.nix
perSystem.devenv.shells.<name>.languages.julia.enable
Whether to enable tools for Julia development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/julia.nix
perSystem.devenv.shells.<name>.languages.julia.package
The Julia package to use.
Type: package
Default: pkgs.julia-bin
Declared by:
devenv/src/modules/languages/julia.nix
perSystem.devenv.shells.<name>.languages.kotlin.enable
Whether to enable tools for Kotlin development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/kotlin.nix
perSystem.devenv.shells.<name>.languages.lua.enable
Whether to enable tools for Lua development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/lua.nix
perSystem.devenv.shells.<name>.languages.lua.package
The Lua package to use.
Type: package
Default: pkgs.lua
Declared by:
devenv/src/modules/languages/lua.nix
perSystem.devenv.shells.<name>.languages.nim.enable
Whether to enable tools for Nim development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/nim.nix
perSystem.devenv.shells.<name>.languages.nim.package
The Nim package to use.
Type: package
Default: pkgs.nim
Declared by:
devenv/src/modules/languages/nim.nix
perSystem.devenv.shells.<name>.languages.nix.enable
Whether to enable tools for Nix development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/nix.nix
perSystem.devenv.shells.<name>.languages.ocaml.enable
Whether to enable tools for OCaml development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/ocaml.nix
perSystem.devenv.shells.<name>.languages.ocaml.packages
The package set of OCaml to use
Type: attribute set
Default: pkgs.ocaml-ng.ocamlPackages_4_12
Declared by:
devenv/src/modules/languages/ocaml.nix
perSystem.devenv.shells.<name>.languages.perl.enable
Whether to enable tools for Perl development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/perl.nix
perSystem.devenv.shells.<name>.languages.php.enable
Whether to enable tools for PHP development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.languages.php.packages
Attribute set of packages including composer
Type: submodule
Default: pkgs
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.languages.php.packages.composer
composer package
Type: null or package
Default: pkgs.phpPackages.composer
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.languages.php.extensions
PHP extensions to enable.
Type: list of string
Default: [ ]
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.languages.php.fpm.phpOptions
Options appended to the PHP configuration file
php.ini
.
Type: strings concatenated with “\n”
Default: ""
Example:
''
date.timezone = "CET"
''
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.languages.php.fpm.pools.<name>.listen
The address on which to accept FastCGI requests.
Type: string
Default: ""
Example: "/path/to/unix/socket"
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.languages.php.fpm.pools.<name>.phpEnv
Environment variables used for this PHP-FPM pool.
Type: attribute set of string
Default: { }
Example:
{
HOSTNAME = "$HOSTNAME";
TMP = "/tmp";
TMPDIR = "/tmp";
TEMP = "/tmp";
}
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.languages.php.fpm.pools.<name>.phpPackage
The PHP package to use for running this PHP-FPM pool.
Type: package
Default: phpfpm.phpPackage
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.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:
"/.devenv/state/php-fpm/<name>.sock"
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.languages.php.fpm.settings
PHP-FPM global directives.
Refer to the “List of global php-fpm.conf directives” section of 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:
{
error_log = "/.devenv/state/php-fpm/php-fpm.log";
}
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.languages.php.version
The PHP version to use.
Type: string
Default: ""
Declared by:
devenv/src/modules/languages/php.nix
perSystem.devenv.shells.<name>.languages.purescript.enable
Whether to enable tools for PureScript development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/purescript.nix
perSystem.devenv.shells.<name>.languages.purescript.package
The PureScript package to use.
Type: package
Default: pkgs.purescript
Declared by:
devenv/src/modules/languages/purescript.nix
perSystem.devenv.shells.<name>.languages.python.enable
Whether to enable tools for Python development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/python.nix
perSystem.devenv.shells.<name>.languages.python.package
The Python package to use.
Type: package
Default: pkgs.python3
Declared by:
devenv/src/modules/languages/python.nix
perSystem.devenv.shells.<name>.languages.python.poetry.enable
Whether to enable poetry.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/python.nix
perSystem.devenv.shells.<name>.languages.python.poetry.package
The Poetry package to use.
Type: package
Default:
pkgs.poetry.override {
python3 = config.languages.python.package;
}
Declared by:
devenv/src/modules/languages/python.nix
perSystem.devenv.shells.<name>.languages.python.venv.enable
Whether to enable Python virtual environment.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/python.nix
perSystem.devenv.shells.<name>.languages.r.enable
Whether to enable tools for R development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/r.nix
perSystem.devenv.shells.<name>.languages.r.package
The R package to use.
Type: package
Default: pkgs.R
Declared by:
devenv/src/modules/languages/r.nix
perSystem.devenv.shells.<name>.languages.racket.enable
Whether to enable tools for Racket development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/racket.nix
perSystem.devenv.shells.<name>.languages.racket.package
The Racket package to use.
Type: package
Default: pkgs.racket-minimal
Declared by:
devenv/src/modules/languages/racket.nix
perSystem.devenv.shells.<name>.languages.raku.enable
Whether to enable tools for Raku development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/raku.nix
perSystem.devenv.shells.<name>.languages.robotframework.enable
Whether to enable tools for Robot Framework development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/robotframework.nix
perSystem.devenv.shells.<name>.languages.robotframework.python
The Python package to use.
Type: package
Default: pkgs.python3
Declared by:
devenv/src/modules/languages/robotframework.nix
perSystem.devenv.shells.<name>.languages.ruby.enable
Whether to enable tools for Ruby development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/ruby.nix
perSystem.devenv.shells.<name>.languages.ruby.package
The Ruby package to use.
Type: package
Default: pkgs.ruby_3_1
Declared by:
devenv/src/modules/languages/ruby.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/languages/ruby.nix
perSystem.devenv.shells.<name>.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:
./.ruby-version; languages.ruby.versionFile =
Type: null or path
Default: null
Example:
./ruby-version
Declared by:
devenv/src/modules/languages/ruby.nix
perSystem.devenv.shells.<name>.languages.rust.enable
Whether to enable tools for Rust development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/rust.nix
perSystem.devenv.shells.<name>.languages.rust.packages
Attribute set of packages including rustc and Cargo.
Type: submodule
Default: pkgs
Declared by:
devenv/src/modules/languages/rust.nix
perSystem.devenv.shells.<name>.languages.rust.packages.cargo
cargo package
Type: package
Default: pkgs.cargo
Declared by:
devenv/src/modules/languages/rust.nix
perSystem.devenv.shells.<name>.languages.rust.packages.clippy
clippy package
Type: package
Default: pkgs.clippy
Declared by:
devenv/src/modules/languages/rust.nix
perSystem.devenv.shells.<name>.languages.rust.packages.rust-analyzer
rust-analyzer package
Type: package
Default: pkgs.rust-analyzer
Declared by:
devenv/src/modules/languages/rust.nix
perSystem.devenv.shells.<name>.languages.rust.packages.rust-src
rust-src package
Type: package or string
Default: pkgs.rustPlatform.rustLibSrc
Declared by:
devenv/src/modules/languages/rust.nix
perSystem.devenv.shells.<name>.languages.rust.packages.rustc
rustc package
Type: package
Default: pkgs.rustc
Declared by:
devenv/src/modules/languages/rust.nix
perSystem.devenv.shells.<name>.languages.rust.packages.rustfmt
rustfmt package
Type: package
Default: pkgs.rustfmt
Declared by:
devenv/src/modules/languages/rust.nix
perSystem.devenv.shells.<name>.languages.rust.version
Set to stable, beta, or latest.
Type: null or string
Default: null
Declared by:
devenv/src/modules/languages/rust.nix
perSystem.devenv.shells.<name>.languages.scala.enable
Whether to enable tools for Scala development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/scala.nix
perSystem.devenv.shells.<name>.languages.scala.package
The Scala package to use.
Type: package
Default: "pkgs.scala_3"
Declared by:
devenv/src/modules/languages/scala.nix
perSystem.devenv.shells.<name>.languages.swift.enable
Whether to enable tools for Swift development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/swift.nix
perSystem.devenv.shells.<name>.languages.swift.package
The Swift package to use.
Type: package
Default: "pkgs.swift"
Declared by:
devenv/src/modules/languages/swift.nix
perSystem.devenv.shells.<name>.languages.terraform.enable
Whether to enable tools for Terraform development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/terraform.nix
perSystem.devenv.shells.<name>.languages.terraform.package
The Terraform package to use.
Type: package
Default: pkgs.terraform
Declared by:
devenv/src/modules/languages/terraform.nix
perSystem.devenv.shells.<name>.languages.texlive.enable
Whether to enable TeX Live.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/texlive.nix
perSystem.devenv.shells.<name>.languages.texlive.packages
Packages available to TeX Live
Type: non-empty (list of Concatenated string)
Default:
[
"collection-basic"
]
Declared by:
devenv/src/modules/languages/texlive.nix
perSystem.devenv.shells.<name>.languages.texlive.base
TeX Live package set to use
Type: unspecified value
Default: pkgs.texlive
Declared by:
devenv/src/modules/languages/texlive.nix
perSystem.devenv.shells.<name>.languages.typescript.enable
Whether to enable tools for TypeScript development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/typescript.nix
perSystem.devenv.shells.<name>.languages.unison.enable
Whether to enable tools for Unison development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/unison.nix
perSystem.devenv.shells.<name>.languages.unison.package
Which package of Unison to use
Type: package
Default: pkgs.unison-ucm
Declared by:
devenv/src/modules/languages/unison.nix
perSystem.devenv.shells.<name>.languages.v.enable
Whether to enable tools for V development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/v.nix
perSystem.devenv.shells.<name>.languages.v.package
The V package to use.
Type: package
Default: pkgs.vlang
Declared by:
devenv/src/modules/languages/v.nix
perSystem.devenv.shells.<name>.languages.zig.enable
Whether to enable tools for Zig development.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/languages/zig.nix
perSystem.devenv.shells.<name>.languages.zig.package
Which package of Zig to use.
Type: package
Default: pkgs.zig
Declared by:
devenv/src/modules/languages/zig.nix
perSystem.devenv.shells.<name>.name
Name of the project.
Type: null or string
Default: null
Declared by:
devenv/src/modules/top-level.nix
perSystem.devenv.shells.<name>.pre-commit
Integration of https://github.com/cachix/pre-commit-hooks.nix
Type: submodule
Default: { }
Declared by:
devenv/src/modules/integrations/pre-commit.nix
perSystem.devenv.shells.<name>.process.after
Bash code to execute after stopping processes.
Type: strings concatenated with “\n”
Default: ""
Declared by:
devenv/src/modules/processes.nix
perSystem.devenv.shells.<name>.process.before
Bash code to execute before starting processes.
Type: strings concatenated with “\n”
Default: ""
Declared by:
devenv/src/modules/processes.nix
perSystem.devenv.shells.<name>.process.implementation
The implementation used when performing devenv up
.
Type: one of “honcho”, “overmind”, “process-compose”, “hivemind”
Default: "honcho"
Example: "overmind"
Declared by:
devenv/src/modules/processes.nix
perSystem.devenv.shells.<name>.process.process-compose
Top-level process-compose.yaml options when that implementation is used.
Type: attribute set
Default:
{
port = 9999;
tui = true;
version = "0.5";
}
Example:
{
log_level = "fatal";
log_location = "/path/to/combined/output/logfile.log";
version = "0.5";
}
Declared by:
devenv/src/modules/processes.nix
perSystem.devenv.shells.<name>.processes
Processes can be started with devenv up
and run in
foreground mode.
Type: attribute set of (submodule)
Default: { }
Declared by:
devenv/src/modules/processes.nix
perSystem.devenv.shells.<name>.processes.<name>.exec
Bash code to run the process.
Type: string
Declared by:
devenv/src/modules/processes.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/processes.nix
perSystem.devenv.shells.<name>.scripts
A set of scripts available when the environment is active.
Type: attribute set of (submodule)
Default: { }
Declared by:
devenv/src/modules/scripts.nix
perSystem.devenv.shells.<name>.scripts.<name>.exec
Bash code to execute when the script is run.
Type: string
Declared by:
devenv/src/modules/scripts.nix
perSystem.devenv.shells.<name>.services.adminer.enable
Whether to enable Adminer process.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/adminer.nix
perSystem.devenv.shells.<name>.services.adminer.package
Which package of Adminer to use.
Type: package
Default: pkgs.adminer
Declared by:
devenv/src/modules/services/adminer.nix
perSystem.devenv.shells.<name>.services.adminer.listen
Listen address for the Adminer.
Type: string
Default: "127.0.0.1:8080"
Declared by:
devenv/src/modules/services/adminer.nix
perSystem.devenv.shells.<name>.services.blackfire.enable
Whether to enable Blackfire profiler agent
It automatically installs Blackfire PHP extension. .
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/blackfire.nix
perSystem.devenv.shells.<name>.services.blackfire.package
Which package of blackfire to use
Type: package
Default: pkgs.blackfire
Declared by:
devenv/src/modules/services/blackfire.nix
perSystem.devenv.shells.<name>.services.blackfire.client-id
Sets the client id used to authenticate with Blackfire. You can find your personal client-id at .
Type: string
Default: ""
Declared by:
devenv/src/modules/services/blackfire.nix
perSystem.devenv.shells.<name>.services.blackfire.client-token
Sets the client token used to authenticate with Blackfire. You can find your personal client-token at .
Type: string
Default: ""
Declared by:
devenv/src/modules/services/blackfire.nix
perSystem.devenv.shells.<name>.services.blackfire.server-id
Sets the server id used to authenticate with Blackfire. You can find your personal server-id at .
Type: string
Default: ""
Declared by:
devenv/src/modules/services/blackfire.nix
perSystem.devenv.shells.<name>.services.blackfire.server-token
Sets the server token used to authenticate with Blackfire. You can find your personal server-token at .
Type: string
Default: ""
Declared by:
devenv/src/modules/services/blackfire.nix
perSystem.devenv.shells.<name>.services.blackfire.socket
Sets the server socket path
Type: string
Default: "tcp://127.0.0.1:8307"
Declared by:
devenv/src/modules/services/blackfire.nix
perSystem.devenv.shells.<name>.services.caddy.enable
Whether to enable Caddy web server.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.services.caddy.package
Caddy package to use.
Type: package
Default: pkgs.caddy
Declared by:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.services.caddy.adapter
Name of the config adapter to use. See for the full list.
Type: string
Default: "caddyfile"
Example: "nginx"
Declared by:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.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:
''
example.com {
encode gzip
log
root /srv/http
}
''
Declared by:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.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 .
Type: path
Default: "/.devenv/state/caddy"
Declared by:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.services.caddy.email
Email address (for Let’s Encrypt certificate).
Type: string
Default: ""
Declared by:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.services.caddy.resume
Use saved config, if any (and prefer over configuration passed with
caddy.config
).
Type: boolean
Default: false
Declared by:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.services.caddy.virtualHosts.<name>.extraConfig
These lines go into the vhost verbatim.
Type: strings concatenated with “\n”
Default: ""
Declared by:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.services.caddy.virtualHosts.<name>.serverAliases
Additional names of virtual hosts served by this virtual host configuration.
Type: list of string
Default: [ ]
Example:
[
"www.example.org"
"example.org"
]
Declared by:
devenv/src/modules/services/caddy.nix
perSystem.devenv.shells.<name>.services.cassandra.enable
Whether to enable Add Cassandra process script…
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/cassandra.nix
perSystem.devenv.shells.<name>.services.cassandra.package
Which version of Cassandra to use
Type: package
Default: pkgs.cassandra_4
Example: pkgs.cassandra_4;
Declared by:
devenv/src/modules/services/cassandra.nix
perSystem.devenv.shells.<name>.services.cassandra.allowClients
Enables or disables the native transport server (CQL binary protocol)
Type: boolean
Default: true
Declared by:
devenv/src/modules/services/cassandra.nix
perSystem.devenv.shells.<name>.services.cassandra.clusterName
The name of the cluster
Type: string
Default: "Test Cluster"
Declared by:
devenv/src/modules/services/cassandra.nix
perSystem.devenv.shells.<name>.services.cassandra.extraConfig
Extra options to be merged into cassandra.yaml
as nix
attribute set.
Type: attribute set
Default: { }
Example:
{
commitlog_sync_batch_window_in_ms = 3;
}
Declared by:
devenv/src/modules/services/cassandra.nix
perSystem.devenv.shells.<name>.services.cassandra.jvmOpts
Options to pass to the JVM through the JVM_OPTS environment variable
Type: list of string
Default: [ ]
Declared by:
devenv/src/modules/services/cassandra.nix
perSystem.devenv.shells.<name>.services.cassandra.listenAddress
Listen address
Type: string
Default: "127.0.0.1"
Example: "127.0.0.1"
Declared by:
devenv/src/modules/services/cassandra.nix
perSystem.devenv.shells.<name>.services.cassandra.seedAddresses
The addresses of hosts designated as contact points of the cluster
Type: list of string
Default:
[
"127.0.0.1"
]
Declared by:
devenv/src/modules/services/cassandra.nix
perSystem.devenv.shells.<name>.services.couchdb.enable
Whether to enable CouchDB process.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/couchdb.nix
perSystem.devenv.shells.<name>.services.couchdb.package
Which version of CouchDB to use
Type: package
Default: pkgs.couchdb3
Declared by:
devenv/src/modules/services/couchdb.nix
perSystem.devenv.shells.<name>.services.couchdb.settings
CouchDB configuration. to know more about all settings, look at: <link xlink:href=“https://docs.couchdb.org/en/stable/config/couchdb.html” />
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 = "/.devenv/state/couchdb/couchdb.uri";
};
admins = {
"admin_username" = "pass";
};
chttpd = {
bindAddress = "127.0.0.1";
port = 5984;
logFile = "/.devenv/state/couchdb/couchdb.log";
};
}
Declared by:
devenv/src/modules/services/couchdb.nix
perSystem.devenv.shells.<name>.services.couchdb.settings.chttpd.bindAddress
Defines the IP address by which CouchDB will be accessible.
Type: string
Default: "127.0.0.1"
Declared by:
devenv/src/modules/services/couchdb.nix
perSystem.devenv.shells.<name>.services.couchdb.settings.chttpd.logFile
Specifies the location of file for logging output.
Type: path
Default:
"/.devenv/state/couchdb/couchdb.log"
Declared by:
devenv/src/modules/services/couchdb.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/couchdb.nix
perSystem.devenv.shells.<name>.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: "/.devenv/state/couchdb"
Declared by:
devenv/src/modules/services/couchdb.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/couchdb.nix
perSystem.devenv.shells.<name>.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:
"/.devenv/state/couchdb/couchdb.uri"
Declared by:
devenv/src/modules/services/couchdb.nix
perSystem.devenv.shells.<name>.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: "/.devenv/state/couchdb"
Declared by:
devenv/src/modules/services/couchdb.nix
perSystem.devenv.shells.<name>.services.elasticsearch.enable
Whether to enable elasticsearch.
Type: boolean
Default: false
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.elasticsearch.package
Elasticsearch package to use.
Type: package
Default: pkgs.elasticsearch7
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.elasticsearch.cluster_name
Elasticsearch name that identifies your cluster for auto-discovery.
Type: string
Default: "elasticsearch"
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.elasticsearch.extraCmdLineOptions
Extra command line options for the elasticsearch launcher.
Type: list of string
Default: [ ]
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.elasticsearch.extraConf
Extra configuration for elasticsearch.
Type: string
Default: ""
Example:
''
node.name: "elasticsearch"
node.master: true
node.data: false
''
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.elasticsearch.extraJavaOptions
Extra command line options for Java.
Type: list of string
Default: [ ]
Example:
[
"-Djava.net.preferIPv4Stack=true"
]
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.elasticsearch.listenAddress
Elasticsearch listen address.
Type: string
Default: "127.0.0.1"
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.elasticsearch.plugins
Extra elasticsearch plugins
Type: list of package
Default: [ ]
Example:
[ pkgs.elasticsearchPlugins.discovery-ec2 ]
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.elasticsearch.port
Elasticsearch port to listen for HTTP traffic.
Type: signed integer
Default: 9200
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.elasticsearch.single_node
Start a single-node cluster
Type: boolean
Default: true
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.elasticsearch.tcp_port
Elasticsearch port for the node to node communication.
Type: signed integer
Default: 9300
Declared by:
devenv/src/modules/services/elasticsearch.nix
perSystem.devenv.shells.<name>.services.mailhog.enable
Whether to enable mailhog process.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/mailhog.nix
perSystem.devenv.shells.<name>.services.mailhog.package
Which package of mailhog to use
Type: package
Default: pkgs.mailhog
Declared by:
devenv/src/modules/services/mailhog.nix
perSystem.devenv.shells.<name>.services.mailhog.additionalArgs
Additional arguments passed to mailhog
.
Type: list of strings concatenated with “\n”
Default: [ ]
Example:
[
"-invite-jim"
]
Declared by:
devenv/src/modules/services/mailhog.nix
perSystem.devenv.shells.<name>.services.mailhog.apiListenAddress
Listen address for API.
Type: string
Default: "127.0.0.1:8025"
Declared by:
devenv/src/modules/services/mailhog.nix
perSystem.devenv.shells.<name>.services.mailhog.smtpListenAddress
Listen address for SMTP.
Type: string
Default: "127.0.0.1:1025"
Declared by:
devenv/src/modules/services/mailhog.nix
perSystem.devenv.shells.<name>.services.mailhog.uiListenAddress
Listen address for UI.
Type: string
Default: "127.0.0.1:8025"
Declared by:
devenv/src/modules/services/mailhog.nix
perSystem.devenv.shells.<name>.services.memcached.enable
Whether to enable memcached process.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/memcached.nix
perSystem.devenv.shells.<name>.services.memcached.package
Which package of memcached to use
Type: package
Default: pkgs.memcached
Declared by:
devenv/src/modules/services/memcached.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/memcached.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/memcached.nix
perSystem.devenv.shells.<name>.services.memcached.startArgs
Additional arguments passed to memcached
during
startup.
Type: list of strings concatenated with “\n”
Default: [ ]
Example:
[
"--memory-limit=100M"
]
Declared by:
devenv/src/modules/services/memcached.nix
perSystem.devenv.shells.<name>.services.minio.enable
Whether to enable MinIO Object Storage.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/minio.nix
perSystem.devenv.shells.<name>.services.minio.package
MinIO package to use.
Type: package
Default: pkgs.minio
Declared by:
devenv/src/modules/services/minio.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/minio.nix
perSystem.devenv.shells.<name>.services.minio.browser
Enable or disable access to web UI.
Type: boolean
Default: true
Declared by:
devenv/src/modules/services/minio.nix
perSystem.devenv.shells.<name>.services.minio.buckets
List of buckets to ensure exist on startup.
Type: list of string
Default: [ ]
Declared by:
devenv/src/modules/services/minio.nix
perSystem.devenv.shells.<name>.services.minio.consoleAddress
IP address and port of the web UI (console).
Type: string
Default: "127.0.0.1:9001"
Declared by:
devenv/src/modules/services/minio.nix
perSystem.devenv.shells.<name>.services.minio.listenAddress
IP address and port of the server.
Type: string
Default: "127.0.0.1:9000"
Declared by:
devenv/src/modules/services/minio.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/minio.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/minio.nix
perSystem.devenv.shells.<name>.services.mongodb.enable
Whether to enable MongoDB process and expose utilities.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/mongodb.nix
perSystem.devenv.shells.<name>.services.mongodb.package
Which MongoDB package to use.
Type: package
Default: pkgs.mongodb
Declared by:
devenv/src/modules/services/mongodb.nix
perSystem.devenv.shells.<name>.services.mongodb.additionalArgs
Additional arguments passed to mongod
.
Type: list of strings concatenated with “\n”
Default:
[
"--noauth"
]
Example:
[
"--port"
"27017"
"--noauth"
]
Declared by:
devenv/src/modules/services/mongodb.nix
perSystem.devenv.shells.<name>.services.mysql.enable
Whether to enable MySQL process and expose utilities.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.services.mysql.package
Which package of MySQL to use
Type: package
Default: pkgs.mysql80
Declared by:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.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:
[
{
name = "devenv";
ensurePermissions = {
"devenv.*" = "ALL PRIVILEGES";
};
}
]
Declared by:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.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:
{
"database.*" = "ALL PRIVILEGES";
"*.*" = "SELECT, LOCK TABLES";
}
Declared by:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.services.mysql.ensureUsers.*.name
Name of the user to ensure.
Type: string
Declared by:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.services.mysql.ensureUsers.*.password
Password of the user to ensure.
Type: null or string
Default: null
Declared by:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.services.mysql.importTimeZones
Whether to import tzdata on the first startup of the mysql server
Type: null or boolean
Default: null
Declared by:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.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:
[
{ name = "foodatabase"; schema = ./foodatabase.sql; }
{ name = "bardatabase"; }
]
Declared by:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.services.mysql.initialDatabases.*.name
The name of the database to create.
Type: string
Declared by:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/mysql.nix
perSystem.devenv.shells.<name>.services.postgres.enable
Whether to enable Add PostgreSQL process. .
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.services.postgres.package
Which version of PostgreSQL to use
Type: package
Default: pkgs.postgresql
Example:
# see https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/sql/postgresql/packages.nix for full list
pkgs.postgresql_13.withPackages (p: [ p.pg_cron p.timescaledb p.pg_partman ]);
Declared by:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.services.postgres.initdbArgs
Additional arguments passed to initdb
during data dir
initialisation.
Type: list of strings concatenated with “\n”
Default:
[
"--locale=C"
"--encoding=UTF8"
]
Example:
[
"--data-checksums"
"--allow-group-access"
]
Declared by:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.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:
[
{
name = "foodatabase";
schema = ./foodatabase.sql;
}
{ name = "bardatabase"; }
]
Declared by:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.services.postgres.initialDatabases.*.name
The name of the database to create.
Type: string
Declared by:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.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:
CREATE USER postgres SUPERUSER;
CREATE USER bar;
Declared by:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.services.postgres.listen_addresses
Listen address
Type: string
Default: ""
Example: "127.0.0.1"
Declared by:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.services.postgres.port
The TCP port to accept connections.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default: 5432
Declared by:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.services.postgres.settings
PostgreSQL configuration. Refer to 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:
devenv/src/modules/services/postgres.nix
perSystem.devenv.shells.<name>.services.rabbitmq.enable
Whether to enable the RabbitMQ server, an Advanced Message Queuing Protocol (AMQP) broker.
Type: boolean
Default: false
Declared by:
devenv/src/modules/services/rabbitmq.nix
perSystem.devenv.shells.<name>.services.rabbitmq.package
Which rabbitmq package to use.
Type: package
Default: pkgs.rabbitmq-server
Declared by:
devenv/src/modules/services/rabbitmq.nix
perSystem.devenv.shells.<name>.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 For the distinct formats,
see
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:
devenv/src/modules/services/rabbitmq.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/rabbitmq.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/rabbitmq.nix
perSystem.devenv.shells.<name>.services.rabbitmq.managementPlugin.enable
Whether to enable the management plugin.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/rabbitmq.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/rabbitmq.nix
perSystem.devenv.shells.<name>.services.rabbitmq.pluginDirs
The list of directories containing external plugins
Type: list of path
Default: [ ]
Declared by:
devenv/src/modules/services/rabbitmq.nix
perSystem.devenv.shells.<name>.services.rabbitmq.plugins
The names of plugins to enable
Type: list of string
Default: [ ]
Declared by:
devenv/src/modules/services/rabbitmq.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/rabbitmq.nix
perSystem.devenv.shells.<name>.services.redis.enable
Whether to enable Redis process and expose utilities.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/redis.nix
perSystem.devenv.shells.<name>.services.redis.package
Which package of Redis to use
Type: package
Default: pkgs.redis
Declared by:
devenv/src/modules/services/redis.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/redis.nix
perSystem.devenv.shells.<name>.services.redis.extraConfig
Additional text to be appended to redis.conf
.
Type: strings concatenated with “\n”
Default: ""
Declared by:
devenv/src/modules/services/redis.nix
perSystem.devenv.shells.<name>.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:
devenv/src/modules/services/redis.nix
perSystem.devenv.shells.<name>.services.wiremock.enable
Whether to enable WireMock.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/services/wiremock.nix
perSystem.devenv.shells.<name>.services.wiremock.package
Which package of WireMock to use.
Type: package
Default: pkgs.wiremock
Declared by:
devenv/src/modules/services/wiremock.nix
perSystem.devenv.shells.<name>.services.wiremock.disableBanner
Whether to disable print banner logo.
Type: boolean
Default: false
Declared by:
devenv/src/modules/services/wiremock.nix
perSystem.devenv.shells.<name>.services.wiremock.mappings
The mappings to mock. See the JSON examples on 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:
devenv/src/modules/services/wiremock.nix
perSystem.devenv.shells.<name>.services.wiremock.port
The port number for the HTTP server to listen on.
Type: signed integer
Default: 8080
Declared by:
devenv/src/modules/services/wiremock.nix
perSystem.devenv.shells.<name>.services.wiremock.verbose
Whether to log verbosely to stdout.
Type: boolean
Default: false
Declared by:
devenv/src/modules/services/wiremock.nix
perSystem.devenv.shells.<name>.starship.enable
Whether to enable the Starship.rs command prompt.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/integrations/starship.nix
perSystem.devenv.shells.<name>.starship.package
The Starship package to use.
Type: package
Default: pkgs.starship
Declared by:
devenv/src/modules/integrations/starship.nix
perSystem.devenv.shells.<name>.starship.config.enable
Whether to enable Starship config override.
Type: boolean
Default: false
Example: true
Declared by:
devenv/src/modules/integrations/starship.nix
perSystem.devenv.shells.<name>.starship.config.path
The Starship configuration file to use.
Type: path
Default:
${config.env.DEVENV_ROOT}/starship.toml
Declared by: