devenv services are pre-configured integrations for popular software like databases, message brokers, and web servers. Instead of managing Docker containers or manual installations, you declare the services you need inDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/cachix/devenv/llms.txt
Use this file to discover all available pages before exploring further.
devenv.nix and start them all with a single command. State is stored locally in .devenv/state/, so each project keeps its data completely isolated.
Starting Services
Services are a higher-level abstraction over devenv processes. Enable a service indevenv.nix, then run devenv up to start all configured services:
-d flag:
Service state is persisted to directories under
$DEVENV_STATE (i.e. .devenv/state/). If you change options like initialScript, delete the service’s state directory and re-run devenv up for the changes to take effect.PostgreSQL
PostgreSQL is one of the most commonly used services in devenv. The module supports version selection, extensions, initial databases, and fullpostgresql.conf configuration.
Basic setup
devenv.nix
With extensions and initial data
devenv.nix
Key PostgreSQL options
| Option | Default | Description |
|---|---|---|
package | pkgs.postgresql | PostgreSQL version to use (e.g. pkgs.postgresql_15) |
port | 5432 | TCP port to listen on |
listen_addresses | "" (unix socket only) | IP address(es) to bind — set "127.0.0.1" for TCP |
initialDatabases | [] | Databases to create on first startup |
initialScript | null | SQL to run server-wide after initialization |
extensions | null | Extra PostgreSQL extensions to install |
settings | {} | postgresql.conf key/value settings |
createDatabase | true | Create a database named after $USER if initialDatabases is empty |
Creating databases with schemas
Enabling TCP connections
By default, PostgreSQL only listens on a Unix socket. To allow TCP connections (e.g. from a GUI client):Redis
The Redis module starts a Redis server and exposesredis-cli and related utilities in your shell.
Basic setup
devenv.nix
Configuration options
| Option | Default | Description |
|---|---|---|
package | pkgs.redis | Redis package to use |
port | 6379 | TCP port. Set to 0 to use a Unix socket only |
bind | "127.0.0.1" | IP interface to bind. null = all interfaces |
extraConfig | "locale-collate C" | Additional lines appended to redis.conf |
Custom configuration
devenv.nix
Unix socket mode
Setport = 0 to disable TCP and use a Unix socket instead. The socket path is available via $REDIS_UNIX_SOCKET:
All Available Services
devenv includes modules for the following services:Databases
postgres— PostgreSQLmysql— MySQL / MariaDBmongodb— MongoDBcouchdb— CouchDBcassandra— Apache Cassandracockroachdb— CockroachDBclickhouse— ClickHouseinfluxdb— InfluxDBdynamodb-local— DynamoDB Localsqld— sqld (libSQL server)
Caching & Search
redis— Redismemcached— Memcachedelasticsearch— Elasticsearchopensearch— OpenSearchmeilisearch— Meilisearchtypesense— Typesense
Messaging & Streaming
kafka— Apache Kafkarabbitmq— RabbitMQnats— NATSmosquitto— Mosquitto (MQTT)elasticmq— ElasticMQ (SQS-compatible)
Object Storage
minio— MinIOgarage— Garagerustfs— RustFS
Web & Proxy
nginx— nginxcaddy— Caddyvarnish— Varnishtrafficserver— Apache Traffic Serverwiremock— WireMockhttpbin— httpbin
Observability & Auth
prometheus— Prometheusopentelemetry-collector— OpenTelemetry Collectorkeycloak— Keycloakvault— HashiCorp Vaulttailscale— Tailscaleblackfire— Blackfiretideways— Tidewaysnixseparatedebuginfod— nix-separate-debuginfod
mailhog— MailHogmailpit— Mailpit
Workflow & Admin
temporal— Temporaladminer— Adminer
