mix devenv.new (devenv_new v0.2.3)

Creates a new project using any Mix project generator, then sets up development environment.

Options

All options are passed through to the specified task, except for the following:

  • --devenv - A comma-separated list of feature selectors

Selectors

Valid feature selectors:

Languages:

* bun - Install Bun runtime/package manager
* elixir - Elixir version to use
* npm - Node.js runtime with npm

Services:

* minio - MinIO object storage (S3-compatible)
* postgres - PostgreSQL database
* redis - Redis cache/session store

Features can include version specifiers, e.g., elixir=1.17

Examples

# Create a Phoenix project with devenv
mix devenv.new phx.new my_app --devenv postgres,redis

# Create an Igniter project with devenv
mix devenv.new igniter.new my_project --devenv elixir=1.17,postgres --install ash,ash_postgres

# Create a basic Elixir project with devenv
mix devenv.new new my_lib --devenv elixir=1.17,minio --sup

This will:

  1. Create a new project using the specified generator
  2. Initialise devenv in the project
  3. Configure devenv.nix with requested features