├── .cargo └── config.toml ├── .devcontainer.json ├── .envrc ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── enhancement.md │ └── question.md ├── renovate.json └── workflows │ ├── auto-tag-latest.yml │ ├── build.yml │ ├── buildtest.yml │ ├── bump-version.yml │ ├── containers.yml │ ├── generate.yml │ ├── pin.yml │ ├── publish-flake.yml │ ├── release.yml │ ├── test.yml │ └── update-latest-version.yml ├── .gitignore ├── .gitpod.yml ├── CLAUDE.md ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── RELEASE.md ├── SECURITY.md ├── _redirects ├── build_cloudflare.sh ├── containers ├── devcontainer │ ├── Dockerfile │ ├── nix-entrypoint.sh │ └── nix.conf └── devenv │ └── Dockerfile ├── default.nix ├── devenv-cache-core ├── Cargo.toml └── src │ ├── db.rs │ ├── error.rs │ ├── file.rs │ ├── lib.rs │ └── time.rs ├── devenv-eval-cache ├── Cargo.toml ├── migrations │ ├── 20240906130404_init.sql │ └── 20241210011111_create-env-input.sql └── src │ ├── bin │ └── main.rs │ ├── command.rs │ ├── db.rs │ ├── internal_log.rs │ ├── lib.rs │ └── op.rs ├── devenv-generate ├── Cargo.toml └── src │ └── main.rs ├── devenv-run-tests ├── Cargo.toml └── src │ └── main.rs ├── devenv-tasks ├── Cargo.toml ├── migrations │ └── 20250507000000_init.sql └── src │ ├── lib.rs │ ├── main.rs │ ├── task_cache.rs │ └── ui.rs ├── devenv.lock ├── devenv.nix ├── devenv.yaml ├── devenv ├── Cargo.toml ├── direnvrc ├── init │ ├── .envrc │ ├── .gitignore │ ├── devenv.nix │ └── devenv.yaml └── src │ ├── cli.rs │ ├── cnix.rs │ ├── config.rs │ ├── devenv.rs │ ├── flake.tmpl.nix │ ├── lib.rs │ ├── log.rs │ ├── main.rs │ └── util.rs ├── docs ├── .nav.yml ├── ad-hoc-developer-environments.md ├── assets │ ├── devenv-preview.tar.gz │ ├── extra.css │ ├── favicon.svg │ ├── github-dark.min.css │ ├── images │ │ ├── caching.gif │ │ ├── cachix.webp │ │ ├── chasm.webp │ │ ├── nixcon.webp │ │ ├── process-compose.png │ │ ├── tasks.gif │ │ └── thailand.jpg │ ├── logo.webp │ ├── output.css │ ├── stackoverflow-light.min.css │ └── top-level.css ├── automatic-shell-activation.md ├── basics.md ├── binary-caching.md ├── blog │ ├── .authors.yml │ ├── index.md │ └── posts │ │ ├── devenv-is-switching-its-nix-implementation-to-tvix.md │ │ ├── devenv-v0.2.md │ │ ├── devenv-v0.3.md │ │ ├── devenv-v0.4.md │ │ ├── devenv-v0.5.md │ │ ├── devenv-v0.6-generating-containers-and-instant-shell-activation.md │ │ ├── devenv-v1.0-rewrite-in-rust.md │ │ ├── devenv-v1.1-outputs.md │ │ ├── devenv-v1.2-tasks.md │ │ ├── devenv-v1.3-instant-developer-environments-with-nix-caching.md │ │ ├── devenv-v1.4-generating-nix-developer-environments-using-ai.md │ │ ├── devenv-v1.5-overlays-and-performance.md │ │ ├── devenv-v1.6-extensible-ad-hoc-nix-environments.md │ │ └── hello-world.md ├── common-patterns.md ├── community │ ├── contributing.md │ └── get-involved.md ├── composing-using-imports.md ├── containers.md ├── devenv.schema.json ├── editor-support │ ├── .nav.yml │ ├── intellij.md │ ├── vscode.md │ └── zed.md ├── examples.md ├── files-and-variables.md ├── garbage-collection.md ├── getting-started.md ├── git-hooks.md ├── guides │ ├── .nav.yml │ ├── profiles.md │ ├── using-with-flake-parts.md │ └── using-with-flakes.md ├── index.md ├── individual-docs │ ├── languages │ │ ├── ansible.md │ │ ├── c.md │ │ ├── clojure.md │ │ ├── cplusplus.md │ │ ├── crystal.md │ │ ├── cue.md │ │ ├── dart.md │ │ ├── deno.md │ │ ├── dotnet.md │ │ ├── elixir.md │ │ ├── elm.md │ │ ├── erlang.md │ │ ├── fortran.md │ │ ├── gawk.md │ │ ├── gleam.md │ │ ├── go.md │ │ ├── haskell.md │ │ ├── idris.md │ │ ├── java.md │ │ ├── javascript.md │ │ ├── jsonnet.md │ │ ├── julia.md │ │ ├── kotlin.md │ │ ├── lean4.md │ │ ├── lua.md │ │ ├── nim.md │ │ ├── nix.md │ │ ├── ocaml.md │ │ ├── odin.md │ │ ├── opentofu.md │ │ ├── pascal.md │ │ ├── perl.md │ │ ├── php.md │ │ ├── purescript.md │ │ ├── python.md │ │ ├── r.md │ │ ├── racket.md │ │ ├── raku.md │ │ ├── robotframework.md │ │ ├── ruby.md │ │ ├── rust.md │ │ ├── scala.md │ │ ├── shell.md │ │ ├── solidity.md │ │ ├── standardml.md │ │ ├── swift.md │ │ ├── terraform.md │ │ ├── texlive.md │ │ ├── typescript.md │ │ ├── typst.md │ │ ├── unison.md │ │ ├── v.md │ │ ├── vala.md │ │ └── zig.md │ ├── process-managers │ │ ├── hivemind.md │ │ ├── honcho.md │ │ ├── mprocs.md │ │ ├── overmind.md │ │ └── process-compose.md │ └── services │ │ ├── adminer.md │ │ ├── blackfire.md │ │ ├── caddy.md │ │ ├── cassandra.md │ │ ├── clickhouse.md │ │ ├── cockroachdb.md │ │ ├── couchdb.md │ │ ├── dynamodb-local.md │ │ ├── elasticmq.md │ │ ├── elasticsearch.md │ │ ├── httpbin.md │ │ ├── influxdb.md │ │ ├── kafka-connect.md │ │ ├── kafka.md │ │ ├── keycloak.md │ │ ├── mailhog.md │ │ ├── mailpit.md │ │ ├── meilisearch.md │ │ ├── memcached.md │ │ ├── minio.md │ │ ├── mongodb.md │ │ ├── mysql.md │ │ ├── nginx.md │ │ ├── opensearch.md │ │ ├── opentelemetry-collector.md │ │ ├── postgres.md │ │ ├── prometheus.md │ │ ├── rabbitmq.md │ │ ├── redis.md │ │ ├── sqld.md │ │ ├── tailscale.md │ │ ├── temporal.md │ │ ├── tideways.md │ │ ├── trafficserver.md │ │ ├── typesense.md │ │ ├── varnish.md │ │ ├── vault.md │ │ └── wiremock.md ├── inputs.md ├── integrations │ ├── .nav.yml │ ├── android.md │ ├── codespaces-devcontainer.md │ ├── delta.md │ ├── devenv-container.md │ ├── difftastic.md │ ├── dotenv.md │ ├── github-actions.md │ └── wordpress.md ├── javascript │ ├── extra.js │ └── highlight.min.js ├── languages.md ├── outputs.md ├── overlays.md ├── overrides │ ├── home.html │ └── main.html ├── packages.md ├── processes.md ├── reference │ ├── options.md │ └── yaml-options.md ├── scripts.md ├── services.md ├── snippets │ ├── languages-all.md │ └── services-all.md ├── supported-languages │ ├── ansible.md │ ├── c.md │ ├── clojure.md │ ├── cplusplus.md │ ├── crystal.md │ ├── cue.md │ ├── dart.md │ ├── deno.md │ ├── dotnet.md │ ├── elixir.md │ ├── elm.md │ ├── erlang.md │ ├── fortran.md │ ├── gawk.md │ ├── gleam.md │ ├── go.md │ ├── haskell.md │ ├── idris.md │ ├── java.md │ ├── javascript.md │ ├── jsonnet.md │ ├── julia.md │ ├── kotlin.md │ ├── lean4.md │ ├── lua.md │ ├── nim.md │ ├── nix.md │ ├── ocaml.md │ ├── odin.md │ ├── opentofu.md │ ├── pascal.md │ ├── perl.md │ ├── php.md │ ├── purescript.md │ ├── python.md │ ├── r.md │ ├── racket.md │ ├── raku.md │ ├── robotframework.md │ ├── ruby.md │ ├── rust.md │ ├── scala.md │ ├── shell.md │ ├── solidity.md │ ├── standardml.md │ ├── swift.md │ ├── terraform.md │ ├── texlive.md │ ├── typescript.md │ ├── typst.md │ ├── unison.md │ ├── v.md │ ├── vala.md │ └── zig.md ├── supported-process-managers │ ├── hivemind.md │ ├── honcho.md │ ├── mprocs.md │ ├── overmind.md │ └── process-compose.md ├── supported-services │ ├── adminer.md │ ├── blackfire.md │ ├── caddy.md │ ├── cassandra.md │ ├── clickhouse.md │ ├── cockroachdb.md │ ├── couchdb.md │ ├── dynamodb-local.md │ ├── elasticmq.md │ ├── elasticsearch.md │ ├── httpbin.md │ ├── influxdb.md │ ├── kafka.md │ ├── keycloak.md │ ├── mailhog.md │ ├── mailpit.md │ ├── meilisearch.md │ ├── memcached.md │ ├── minio.md │ ├── mongodb.md │ ├── mysql.md │ ├── nginx.md │ ├── opensearch.md │ ├── opentelemetry-collector.md │ ├── postgres.md │ ├── prometheus.md │ ├── rabbitmq.md │ ├── redis.md │ ├── sqld.md │ ├── tailscale.md │ ├── temporal.md │ ├── tideways.md │ ├── trafficserver.md │ ├── typesense.md │ ├── varnish.md │ ├── vault.md │ └── wiremock.md ├── tasks.md └── tests.md ├── examples ├── .gitignore ├── android │ ├── .patch.sh │ ├── devenv.nix │ └── devenv.yaml ├── aws-vault │ └── devenv.nix ├── caddy-php │ └── devenv.nix ├── clickhouse │ ├── .test.sh │ └── devenv.nix ├── cockroachdb │ ├── devenv.nix │ └── devenv.yaml ├── compose │ ├── devenv.nix │ ├── devenv.yaml │ ├── projectA │ │ └── devenv.nix │ └── projectB │ │ ├── devenv.nix │ │ └── devenv.yaml ├── couchdb │ └── devenv.nix ├── dynamodb-local │ ├── .test.sh │ ├── devenv.nix │ └── devenv.yaml ├── elasticmq │ ├── .test.sh │ └── devenv.nix ├── fly.io │ ├── .test.sh │ ├── README.md │ ├── devenv.nix │ ├── devenv.yaml │ ├── fly.toml │ └── hello.py ├── gleam │ ├── .test.sh │ ├── devenv.nix │ └── devenv.yaml ├── go │ ├── default.nix │ ├── devenv.nix │ └── devenv.yaml ├── hivemind │ └── devenv.nix ├── httpbin │ ├── .test.sh │ └── devenv.nix ├── imports │ ├── .test.sh │ ├── devenv.nix │ ├── devenv.yaml │ ├── file.nix │ └── folder │ │ └── devenv.nix ├── influxdb │ ├── .test.sh │ └── devenv.nix ├── javascript-bun │ ├── .gitignore │ ├── .test.sh │ ├── devenv.nix │ └── package.json ├── javascript-yarn │ ├── .gitignore │ ├── .test.sh │ ├── devenv.nix │ └── package.json ├── javascript │ ├── .gitignore │ ├── .test.sh │ ├── devenv.nix │ └── package.json ├── jsonnet │ ├── .test.sh │ └── devenv.nix ├── lean4 │ ├── .gitignore │ ├── .test.sh │ └── devenv.nix ├── mailpit │ ├── .test.sh │ └── devenv.nix ├── meilisearch │ └── devenv.nix ├── minio │ ├── .test.sh │ └── devenv.nix ├── mkcert │ └── devenv.nix ├── modern-c │ ├── README.md │ └── devenv.nix ├── mongodb │ ├── .test.sh │ ├── devenv.nix │ └── devenv.yaml ├── mysql │ ├── .test.sh │ └── devenv.nix ├── nginx │ └── devenv.nix ├── nur │ ├── .envrc │ ├── devenv.nix │ └── devenv.yaml ├── opentelemetry-collector │ ├── .test.sh │ └── devenv.nix ├── overlays │ ├── devenv.nix │ ├── devenv.yaml │ └── subflake │ │ └── flake.nix ├── overmind │ └── devenv.nix ├── phoenix │ ├── .gitignore │ ├── .setup.sh │ ├── .test.sh │ ├── README.md │ └── devenv.nix ├── postgres-timescale │ ├── .test.sh │ ├── devenv.nix │ └── devenv.yaml ├── postgres │ ├── .test.sh │ └── devenv.nix ├── process-compose │ └── devenv.nix ├── python-django │ ├── .gitignore │ ├── README.md │ ├── devenv.nix │ ├── devenv.yaml │ ├── manage.py │ ├── myapp │ │ ├── __init__.py │ │ ├── apps.py │ │ ├── migrations │ │ │ └── __init__.py │ │ └── tests.py │ ├── myproject │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── poetry.lock │ └── pyproject.toml ├── python-poetry │ ├── .gitignore │ ├── .test.sh │ ├── devenv.nix │ ├── devenv.yaml │ ├── poetry.lock │ └── pyproject.toml ├── python-venv │ ├── .gitignore │ ├── .test.sh │ ├── README.md │ └── devenv.nix ├── python │ ├── .test.sh │ ├── devenv.nix │ ├── devenv.yaml │ └── requirements.txt ├── r │ └── devenv.nix ├── rabbitmq │ ├── .test.sh │ └── devenv.nix ├── racket │ ├── .patch.sh │ └── devenv.nix ├── ruby │ ├── .ruby-version │ ├── .test.sh │ ├── Gemfile │ ├── Gemfile.lock │ ├── devenv.nix │ └── devenv.yaml ├── rubyonrails │ ├── .gitignore │ ├── .setup.sh │ ├── .test.sh │ ├── README.md │ ├── devenv.nix │ └── devenv.yaml ├── rust-wasm-cross │ ├── .test.js │ ├── .test.sh │ ├── Cargo.lock │ ├── Cargo.toml │ ├── devenv.nix │ ├── devenv.yaml │ └── src │ │ └── lib.rs ├── rust │ ├── .test.sh │ ├── app │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ ├── devenv.nix │ └── devenv.yaml ├── scala │ └── devenv.nix ├── scripts │ ├── README.md │ └── devenv.nix ├── shell │ ├── .test.sh │ └── devenv.nix ├── simple-remote │ ├── .test.sh │ ├── devenv.nix │ └── devenv.yaml ├── simple │ ├── .envrc │ ├── .gitignore │ ├── devenv.nix │ └── devenv.yaml ├── solidity │ ├── .test.sh │ ├── devenv.nix │ └── devenv.yaml ├── starship │ ├── devenv.nix │ └── starship.toml ├── supported-languages │ ├── .envrc │ ├── .patch.sh │ ├── devenv.nix │ └── devenv.yaml ├── temporal │ ├── .test.sh │ └── devenv.nix ├── terraform │ ├── .test.sh │ ├── devenv.nix │ └── devenv.yaml ├── texlive │ ├── .test.sh │ └── devenv.nix ├── trafficserver │ ├── .test.sh │ └── devenv.nix ├── vala │ └── devenv.nix ├── varnish │ ├── .test.sh │ └── devenv.nix ├── vault │ ├── .test.sh │ ├── devenv.nix │ └── devenv.yaml └── wiremock │ └── devenv.nix ├── filterOptions.nix ├── flake-module.nix ├── flake.lock ├── flake.nix ├── http-client-tls ├── Cargo.toml └── src │ └── http_client_tls.rs ├── logos ├── .DS_Store ├── devenv-dark-bg.svg ├── devenv-github.png ├── devenv-horizontal-dark-bg.svg ├── devenv-horizontal-light-bg.svg ├── devenv-light-bg.svg ├── devenv-light-horizontal.png ├── devenv-light-vertical.png └── favicons │ ├── .DS_Store │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ └── favicon.ico ├── mkdocs.yml ├── nix-conf-parser ├── Cargo.toml └── src │ └── lib.rs ├── package-lock.json ├── package.json ├── package.nix ├── postcss.config.js ├── requirements.in ├── requirements.txt ├── shell.nix ├── src ├── devenv-devShell.nix ├── modules │ ├── cachix.nix │ ├── containers.nix │ ├── debug.nix │ ├── files.nix │ ├── flake.nix │ ├── info.nix │ ├── integrations │ │ ├── android.nix │ │ ├── aws-vault.nix │ │ ├── delta.nix │ │ ├── devcontainer.nix │ │ ├── difftastic.nix │ │ ├── dotenv.nix │ │ ├── git-hooks.nix │ │ ├── hostctl.nix │ │ ├── mkcert.nix │ │ └── starship.nix │ ├── languages │ │ ├── ansible.nix │ │ ├── c.nix │ │ ├── clojure.nix │ │ ├── cplusplus.nix │ │ ├── crystal.nix │ │ ├── cue.nix │ │ ├── dart.nix │ │ ├── deno.nix │ │ ├── dotnet.nix │ │ ├── elixir.nix │ │ ├── elm.nix │ │ ├── erlang.nix │ │ ├── fortran.nix │ │ ├── gawk.nix │ │ ├── gleam.nix │ │ ├── go.nix │ │ ├── haskell.nix │ │ ├── idris.nix │ │ ├── java.nix │ │ ├── javascript.nix │ │ ├── jsonnet.nix │ │ ├── julia.nix │ │ ├── kotlin.nix │ │ ├── lean4.nix │ │ ├── lua.nix │ │ ├── nim.nix │ │ ├── nix.nix │ │ ├── ocaml.nix │ │ ├── odin.nix │ │ ├── opentofu.nix │ │ ├── pascal.nix │ │ ├── perl.nix │ │ ├── php.nix │ │ ├── purescript.nix │ │ ├── python.nix │ │ ├── r.nix │ │ ├── racket.nix │ │ ├── raku.nix │ │ ├── robotframework.nix │ │ ├── ruby.nix │ │ ├── rust.nix │ │ ├── scala.nix │ │ ├── shell.nix │ │ ├── solidity.nix │ │ ├── standardml.nix │ │ ├── swift.nix │ │ ├── terraform.nix │ │ ├── texlive.nix │ │ ├── typescript.nix │ │ ├── typst.nix │ │ ├── unison.nix │ │ ├── v.nix │ │ ├── vala.nix │ │ └── zig.nix │ ├── latest-version │ ├── lib.nix │ ├── outputs.nix │ ├── process-managers │ │ ├── hivemind.nix │ │ ├── honcho.nix │ │ ├── mprocs.nix │ │ ├── overmind.nix │ │ └── process-compose.nix │ ├── processes.nix │ ├── scripts.nix │ ├── services │ │ ├── adminer.nix │ │ ├── blackfire.nix │ │ ├── caddy.nix │ │ ├── cassandra.nix │ │ ├── clickhouse.nix │ │ ├── cockroachdb.nix │ │ ├── couchdb.nix │ │ ├── dynamodb-local.nix │ │ ├── elasticmq.nix │ │ ├── elasticsearch.nix │ │ ├── httpbin.nix │ │ ├── influxdb.nix │ │ ├── kafka-connect.nix │ │ ├── kafka.nix │ │ ├── keycloak.nix │ │ ├── mailhog.nix │ │ ├── mailpit.nix │ │ ├── meilisearch.nix │ │ ├── memcached.nix │ │ ├── minio.nix │ │ ├── mongodb.nix │ │ ├── mysql.nix │ │ ├── nginx.nix │ │ ├── opensearch.nix │ │ ├── opentelemetry-collector.nix │ │ ├── postgres.nix │ │ ├── prometheus.nix │ │ ├── rabbitmq.nix │ │ ├── redis.nix │ │ ├── sqld.nix │ │ ├── tailscale.nix │ │ ├── temporal.nix │ │ ├── tideways.nix │ │ ├── trafficserver │ │ │ ├── default.nix │ │ │ ├── ip_allow.json │ │ │ ├── logging.json │ │ │ └── update.sh │ │ ├── typesense.nix │ │ ├── varnish.nix │ │ ├── vault.nix │ │ └── wiremock.nix │ ├── tasks.nix │ ├── tests.nix │ ├── top-level.nix │ └── update-check.nix └── python-wrapper.nix ├── tailwind.config.js ├── templates ├── flake-parts │ ├── .envrc │ ├── .gitignore │ └── flake.nix ├── simple │ ├── .envrc │ ├── .gitignore │ └── flake.nix └── terraform │ ├── .envrc │ ├── .gitignore │ └── flake.nix ├── tests ├── .gitignore ├── clean │ ├── devenv.nix │ └── devenv.yaml ├── cli-options │ ├── .test.sh │ ├── devenv.nix │ └── devenv.yaml ├── cli │ ├── .test.sh │ ├── devenv.nix │ └── devenv.yaml ├── direnv │ ├── .test.sh │ └── devenv.nix ├── dotenv │ ├── .setup.sh │ ├── .test.sh │ └── devenv.nix ├── exit-code │ ├── .test.sh │ └── devenv.nix ├── files │ ├── .test.sh │ └── devenv.nix ├── git-hooks-all-disabled │ ├── .setup.sh │ └── devenv.nix ├── git-hooks-no-python-leak │ └── devenv.nix ├── gitignore │ ├── .setup.sh │ ├── .test.sh │ └── devenv.nix ├── glibcLocales │ └── devenv.nix ├── impure │ ├── devenv.nix │ └── devenv.yaml ├── javascript-directory │ ├── .gitignore │ ├── .test.sh │ ├── devenv.nix │ └── directory │ │ └── package.json ├── javascript-pnpm │ ├── .gitignore │ ├── .test.sh │ ├── devenv.nix │ └── package.json ├── kafka-connect │ ├── .test.sh │ └── devenv.nix ├── kafka │ ├── .test.sh │ └── devenv.nix ├── keycloak-certs │ ├── .test.sh │ ├── README.md │ ├── certs │ │ ├── ssl-cert.crt │ │ └── ssl-cert.key │ ├── devenv.nix │ └── realms ├── keycloak │ ├── .test.sh │ ├── devenv.nix │ └── realms │ │ ├── master.json │ │ └── test.json ├── macos-custom-apple-sdk │ └── devenv.nix ├── macos-no-default-sdk │ └── devenv.nix ├── meilisearch │ └── devenv.nix ├── mysql │ ├── .test.sh │ └── devenv.nix ├── outputs │ └── devenv.nix ├── perl │ └── devenv.nix ├── postgres-pghost │ ├── .test.sh │ └── devenv.nix ├── postgresql-customdbuser │ ├── .test.sh │ ├── devenv.nix │ └── testinitdb.sql ├── postgresql-customperdbinit │ ├── .test.sh │ └── devenv.nix ├── postgresql-localhost │ ├── .test.sh │ └── devenv.nix ├── prometheus │ ├── .test.sh │ └── devenv.nix ├── python-directory │ ├── .gitignore │ ├── .test.sh │ ├── devenv.nix │ ├── devenv.yaml │ └── directory │ │ └── pyproject.toml ├── python-native-libs-poetry │ ├── .test.sh │ ├── devenv.nix │ └── subdir │ │ ├── poetry.lock │ │ └── pyproject.toml ├── python-native-libs-uv │ ├── .test.sh │ └── devenv.nix ├── python-native-libs │ ├── .test.sh │ └── devenv.nix ├── python-uv-sync │ ├── .gitignore │ ├── .test.sh │ ├── devenv.nix │ ├── devenv.yaml │ └── directory │ │ ├── pyproject.toml │ │ └── uv.lock ├── redis-socket │ ├── .test.sh │ └── devenv.nix ├── rust │ └── devenv.nix ├── sqld │ ├── .test.sh │ └── devenv.nix ├── tasks │ ├── .gitignore │ └── devenv.nix ├── unversioned-devenv-nix │ ├── .gitignore │ ├── .patch.sh │ └── .test.sh └── up-uses-shell │ └── devenv.nix └── xtask ├── Cargo.toml └── src ├── lib.rs ├── main.rs ├── manpage.rs └── shell_completion.rs /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [alias] 2 | xtask = "run --package xtask --" 3 | -------------------------------------------------------------------------------- /.devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "customizations": { 3 | "vscode": { 4 | "extensions": [ 5 | "jnoortheen.nix-ide" 6 | ] 7 | } 8 | }, 9 | "image": "ghcr.io/cachix/devenv/devcontainer:latest", 10 | "overrideCommand": false, 11 | "updateContentCommand": "devenv test" 12 | } 13 | -------------------------------------------------------------------------------- /.envrc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ^ for code highlighting 3 | # Used by https://direnv.net 4 | set -euo pipefail 5 | 6 | # External users should eval `devenv direnvrc` or use `source_url` to load this file 7 | source_env ./devenv/direnvrc 8 | 9 | # Use our own last built devenv/nix in CLI 10 | log_status "building dev devenv..." 11 | nix build --print-out-paths --accept-flake-config || log_status "nix build failed, using previous build" 12 | PATH_add "result/bin" 13 | 14 | log_status "evaluating shell..." 15 | use devenv 16 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve devenv 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To reproduce** 14 | Please provide an [Short, Self Contained, Correct (Compilable), Example](http://sscce.org) by [creating a gist](https://gist.github.com/) using `devenv.nix`, `devenv.yaml`, and optionally `devenv.lock`. 15 | 16 | Make sure to include full logs and what you expected to happen. 17 | 18 | **Version** 19 | 20 | Paste the output of `$ devenv version` here or tell us if you're using flakes. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/enhancement.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Enhancement 3 | about: What would you like devenv to do? 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: Ask a question 4 | title: '' 5 | labels: question 6 | assignees: '' 7 | 8 | --- 9 | 10 | See https://devenv.sh/community/get-involved/ for how to get in contact with the community. 11 | 12 | Feel free to also post a question here. 13 | -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "config:base" 5 | ], 6 | "nix": { 7 | "enabled": true 8 | }, 9 | "lockFileMaintenance": { 10 | "enabled": true 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /.github/workflows/auto-tag-latest.yml: -------------------------------------------------------------------------------- 1 | name: "Latest tag" 2 | on: 3 | push: 4 | tags: 5 | - v** 6 | jobs: 7 | latest-tag: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v4 11 | - name: Update 'latest' git tag 12 | uses: EndBug/latest-tag@latest 13 | -------------------------------------------------------------------------------- /.github/workflows/buildtest.yml: -------------------------------------------------------------------------------- 1 | name: "Build & Test" 2 | 3 | on: 4 | pull_request: 5 | paths-ignore: 6 | - "docs/**" 7 | - "mkdocs.yml" 8 | - "requirements.in" 9 | - "requirements.txt" 10 | 11 | concurrency: 12 | group: ${{ github.workflow }}-${{ github.ref }} 13 | cancel-in-progress: true 14 | 15 | jobs: 16 | build: 17 | uses: ./.github/workflows/build.yml 18 | secrets: inherit 19 | 20 | test: 21 | needs: build 22 | uses: ./.github/workflows/test.yml 23 | secrets: inherit 24 | -------------------------------------------------------------------------------- /.github/workflows/publish-flake.yml: -------------------------------------------------------------------------------- 1 | name: "Publish a flake to flakestry" 2 | on: 3 | push: 4 | tags: 5 | - "v?[0-9]+.[0-9]+.[0-9]+" 6 | - "v?[0-9]+" 7 | workflow_dispatch: 8 | inputs: 9 | tag: 10 | description: "The existing tag to publish" 11 | type: "string" 12 | required: true 13 | jobs: 14 | publish-flake: 15 | runs-on: ubuntu-latest 16 | permissions: 17 | id-token: "write" 18 | contents: "read" 19 | steps: 20 | - uses: flakestry/flakestry-publish@main 21 | with: 22 | version: "${{ inputs.tag || github.ref_name }}" -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: "Release" 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | tags: 8 | - v* 9 | workflow_dispatch: 10 | 11 | concurrency: 12 | group: "release" 13 | cancel-in-progress: false 14 | 15 | jobs: 16 | build: 17 | uses: ./.github/workflows/build.yml 18 | secrets: inherit 19 | 20 | test: 21 | needs: build 22 | uses: ./.github/workflows/test.yml 23 | secrets: inherit 24 | 25 | pin: 26 | needs: build 27 | if: startsWith(github.ref, 'refs/tags/v') 28 | uses: ./.github/workflows/pin.yml 29 | secrets: inherit 30 | 31 | containers: 32 | needs: build 33 | uses: ./.github/workflows/containers.yml 34 | secrets: inherit 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Nix & devenv 2 | result 3 | .env 4 | .env.* 5 | .devenv* 6 | .direnv* 7 | /.cache 8 | /.pre-commit-config.yaml 9 | man 10 | 11 | # mkdocs 12 | site/ 13 | 14 | # examples 15 | examples/rust/app/target 16 | 17 | # Rust 18 | target 19 | 20 | # JavaScript 21 | /node_modules 22 | 23 | **/.claude/settings.local.json 24 | -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | tasks: 2 | - command: | 3 | cachix use devenv 4 | nix build --accept-flake-config 5 | ./result/bin/devenv shell true 6 | -------------------------------------------------------------------------------- /RELEASE.md: -------------------------------------------------------------------------------- 1 | ### Release on GitHub 2 | 3 | - Update `devenv_nix` if necessary and run all tests 4 | - Tag a new release using https://github.com/cachix/devenv/releases/new 5 | 6 | ### Release on nixpkgs 7 | 8 | - Sync the `package.nix` in nixpkgs with [./package.nix](./package.nix) and bump `devenv_nix` if necessary 9 | 10 | ### After nixpkgs release 11 | 12 | - Write a blog post 13 | -------------------------------------------------------------------------------- /_redirects: -------------------------------------------------------------------------------- 1 | /blog/2023/03/20/devenv-10-rewrite-in-rust/ /blog/2024/03/20/devenv-10-rewrite-in-rust/ 301 2 | /blog/2024/10/22/devenv-is-switching-nix-implementation-to-tvix/ /blog/2024/10/22/devenv-is-switching-its-nix-implementation-to-tvix/ 301 3 | /pre-commit-hooks/ /git-hooks/ 301 4 | /roadmap/ /blog/2024/10/22/devenv-is-switching-its-nix-implementation-to-tvix/ 302 5 | -------------------------------------------------------------------------------- /build_cloudflare.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -xe 4 | pip install -r requirements.txt 5 | mkdocs build 6 | cp _redirects site/ 7 | -------------------------------------------------------------------------------- /containers/devcontainer/nix.conf: -------------------------------------------------------------------------------- 1 | experimental-features = nix-command flakes 2 | filter-syscalls = false 3 | max-jobs = auto 4 | sandbox = false 5 | trusted-users = root vscode 6 | -------------------------------------------------------------------------------- /containers/devenv/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nixos/nix:latest@sha256:3bb728719e2c4e478df4c50b80f93adbe27d5c561d1417c3a2306eb914d910da 2 | 3 | ARG CACHIX_VERSION=v1 4 | ARG DEVENV_VERSION=latest 5 | 6 | # https://github.com/NixOS/nix/issues/5258 7 | RUN echo "filter-syscalls = false" >> /etc/nix/nix.conf 8 | 9 | # Use devenv cache for faster installation 10 | RUN nix-env -iA cachix -f https://cachix.org/api/$CACHIX_VERSION/install && cachix use devenv 11 | 12 | RUN nix-env -if https://github.com/cachix/devenv/tarball/$DEVENV_VERSION 13 | 14 | # Remove devenv cache and cachix for cleaner image 15 | RUN cachix remove devenv && nix-env -e cachix 16 | -------------------------------------------------------------------------------- /default.nix: -------------------------------------------------------------------------------- 1 | (import 2 | ( 3 | let lock = builtins.fromJSON (builtins.readFile ./flake.lock); in 4 | fetchTarball { 5 | url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz"; 6 | sha256 = lock.nodes.flake-compat.locked.narHash; 7 | } 8 | ) 9 | { src = ./.; } 10 | ).defaultNix 11 | -------------------------------------------------------------------------------- /devenv-cache-core/src/lib.rs: -------------------------------------------------------------------------------- 1 | //! # devenv-cache-core 2 | //! 3 | //! Core utilities for file tracking and caching in devenv. 4 | //! 5 | //! This library provides shared functionality that can be used by both 6 | //! the task cache and eval cache implementations, including: 7 | //! 8 | //! - File hashing and change detection 9 | //! - SQLite database utilities 10 | //! - Time conversion utilities 11 | //! - Common error types 12 | 13 | pub mod db; 14 | pub mod error; 15 | pub mod file; 16 | pub mod time; 17 | 18 | // Re-export common types for convenience 19 | pub use db::Database; 20 | pub use error::{CacheError, CacheResult}; 21 | pub use file::{compute_file_hash, compute_string_hash, TrackedFile}; 22 | -------------------------------------------------------------------------------- /devenv-eval-cache/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "devenv-eval-cache" 3 | version.workspace = true 4 | edition.workspace = true 5 | license.workspace = true 6 | 7 | [dependencies] 8 | blake3.workspace = true 9 | futures.workspace = true 10 | lazy_static.workspace = true 11 | miette.workspace = true 12 | regex.workspace = true 13 | serde.workspace = true 14 | serde_json.workspace = true 15 | serde_repr.workspace = true 16 | sqlx.workspace = true 17 | thiserror.workspace = true 18 | tokio.workspace = true 19 | tracing.workspace = true 20 | devenv-cache-core.workspace = true 21 | 22 | [dev-dependencies] 23 | tempfile.workspace = true 24 | -------------------------------------------------------------------------------- /devenv-eval-cache/migrations/20241210011111_create-env-input.sql: -------------------------------------------------------------------------------- 1 | -- Rename table for file inputs 2 | ALTER TABLE file_path 3 | RENAME TO file_input; 4 | 5 | ALTER TABLE cmd_input_path 6 | RENAME COLUMN file_path_id TO file_input_id; 7 | 8 | CREATE TABLE env_input ( 9 | id INTEGER NOT NULL PRIMARY KEY, 10 | cached_cmd_id INTEGER NOT NULL, 11 | name TEXT NOT NULL, 12 | content_hash CHAR(64) NOT NULL, 13 | updated_at INTEGER NOT NULL DEFAULT (strftime ('%s', 'now')), 14 | FOREIGN KEY (cached_cmd_id) REFERENCES cached_cmd (id) ON DELETE CASCADE, 15 | UNIQUE (cached_cmd_id, name) 16 | ); 17 | -------------------------------------------------------------------------------- /devenv-eval-cache/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod command; 2 | pub mod db; 3 | pub mod internal_log; 4 | pub mod op; 5 | 6 | pub use command::{ 7 | supports_eval_caching, CachedCommand, EnvInputDesc, FileInputDesc, Input, Output, 8 | }; 9 | -------------------------------------------------------------------------------- /devenv-generate/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "devenv-generate" 3 | version.workspace = true 4 | edition.workspace = true 5 | license.workspace = true 6 | 7 | [dependencies] 8 | devenv.workspace = true 9 | http-client-tls.workspace = true 10 | 11 | binaryornot.workspace = true 12 | clap = { workspace = true, features = ["derive"] } 13 | dialoguer.workspace = true 14 | indoc.workspace = true 15 | miette.workspace = true 16 | reqwest.workspace = true 17 | serde.workspace = true 18 | serde_json.workspace = true 19 | tokio = { workspace = true, features = ["full"] } 20 | tokio-tar.workspace = true 21 | tracing.workspace = true 22 | tokio-util.workspace = true 23 | similar.workspace = true 24 | -------------------------------------------------------------------------------- /devenv-run-tests/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "devenv-run-tests" 3 | version.workspace = true 4 | edition.workspace = true 5 | license.workspace = true 6 | 7 | [dependencies] 8 | clap.workspace = true 9 | devenv.workspace = true 10 | tempfile.workspace = true 11 | tokio.workspace = true 12 | miette.workspace = true 13 | -------------------------------------------------------------------------------- /devenv-tasks/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "devenv-tasks" 3 | version.workspace = true 4 | edition.workspace = true 5 | license.workspace = true 6 | 7 | [dependencies] 8 | clap.workspace = true 9 | console.workspace = true 10 | eyre.workspace = true 11 | miette.workspace = true 12 | petgraph.workspace = true 13 | serde.workspace = true 14 | serde_json.workspace = true 15 | tempfile.workspace = true 16 | thiserror.workspace = true 17 | tokio.workspace = true 18 | tracing.workspace = true 19 | sqlx.workspace = true 20 | blake3.workspace = true 21 | walkdir = "2.4.0" 22 | devenv-cache-core.workspace = true 23 | shell-escape.workspace = true 24 | 25 | [dev-dependencies] 26 | pretty_assertions.workspace = true 27 | -------------------------------------------------------------------------------- /devenv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=./docs/devenv.schema.json 2 | inputs: 3 | nixpkgs: 4 | url: github:NixOS/nixpkgs/nixpkgs-unstable 5 | fenix: 6 | url: github:nix-community/fenix 7 | inputs: 8 | nixpkgs: 9 | follows: nixpkgs 10 | nix: 11 | url: github:domenkozar/nix/devenv-2.24 12 | devenv: 13 | url: path:.?dir=src/modules 14 | -------------------------------------------------------------------------------- /devenv/init/.envrc: -------------------------------------------------------------------------------- 1 | export DIRENV_WARN_TIMEOUT=20s 2 | 3 | eval "$(devenv direnvrc)" 4 | 5 | # The use_devenv function supports passing flags to the devenv command 6 | # For example: use devenv --impure --option services.postgres.enable:bool true 7 | use devenv 8 | -------------------------------------------------------------------------------- /devenv/init/.gitignore: -------------------------------------------------------------------------------- 1 | # Devenv 2 | .devenv* 3 | devenv.local.nix 4 | 5 | # direnv 6 | .direnv 7 | 8 | # pre-commit 9 | .pre-commit-config.yaml 10 | -------------------------------------------------------------------------------- /devenv/init/devenv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=https://devenv.sh/devenv.schema.json 2 | inputs: 3 | nixpkgs: 4 | url: github:cachix/devenv-nixpkgs/rolling 5 | 6 | # If you're using non-OSS software, you can set allowUnfree to true. 7 | # allowUnfree: true 8 | 9 | # If you're willing to use a package that's vulnerable 10 | # permittedInsecurePackages: 11 | # - "openssl-1.1.1w" 12 | 13 | # If you have more than one devenv you can merge them 14 | #imports: 15 | # - ./backend 16 | -------------------------------------------------------------------------------- /devenv/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod cli; 2 | pub(crate) mod cnix; 3 | pub mod config; 4 | mod devenv; 5 | pub mod log; 6 | mod util; 7 | 8 | pub use cli::{default_system, GlobalOptions}; 9 | pub use devenv::{Devenv, DevenvOptions, ProcessOptions, DIRENVRC, DIRENVRC_VERSION}; 10 | pub use devenv_tasks as tasks; 11 | -------------------------------------------------------------------------------- /docs/assets/devenv-preview.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cachix/devenv/b6be42d9e6f6053be1d180e4a4fb95e0aa9a8424/docs/assets/devenv-preview.tar.gz -------------------------------------------------------------------------------- /docs/assets/favicon.svg: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /docs/assets/images/caching.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cachix/devenv/b6be42d9e6f6053be1d180e4a4fb95e0aa9a8424/docs/assets/images/caching.gif -------------------------------------------------------------------------------- /docs/assets/images/cachix.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cachix/devenv/b6be42d9e6f6053be1d180e4a4fb95e0aa9a8424/docs/assets/images/cachix.webp -------------------------------------------------------------------------------- /docs/assets/images/chasm.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cachix/devenv/b6be42d9e6f6053be1d180e4a4fb95e0aa9a8424/docs/assets/images/chasm.webp -------------------------------------------------------------------------------- /docs/assets/images/nixcon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cachix/devenv/b6be42d9e6f6053be1d180e4a4fb95e0aa9a8424/docs/assets/images/nixcon.webp -------------------------------------------------------------------------------- /docs/assets/images/process-compose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cachix/devenv/b6be42d9e6f6053be1d180e4a4fb95e0aa9a8424/docs/assets/images/process-compose.png -------------------------------------------------------------------------------- /docs/assets/images/tasks.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cachix/devenv/b6be42d9e6f6053be1d180e4a4fb95e0aa9a8424/docs/assets/images/tasks.gif -------------------------------------------------------------------------------- /docs/assets/images/thailand.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cachix/devenv/b6be42d9e6f6053be1d180e4a4fb95e0aa9a8424/docs/assets/images/thailand.jpg -------------------------------------------------------------------------------- /docs/assets/logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cachix/devenv/b6be42d9e6f6053be1d180e4a4fb95e0aa9a8424/docs/assets/logo.webp -------------------------------------------------------------------------------- /docs/blog/.authors.yml: -------------------------------------------------------------------------------- 1 | authors: 2 | domenkozar: 3 | name: Domen Kožar 4 | description: Maintainer 5 | avatar: https://github.com/domenkozar.png 6 | sandydoo: 7 | name: Sander 8 | description: Maintainer 9 | avatar: https://github.com/sandydoo.png 10 | -------------------------------------------------------------------------------- /docs/blog/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cachix/devenv/b6be42d9e6f6053be1d180e4a4fb95e0aa9a8424/docs/blog/index.md -------------------------------------------------------------------------------- /docs/community/get-involved.md: -------------------------------------------------------------------------------- 1 | Join our community on [Discord](https://discord.gg/naMgvexb6q) or [Matrix](https://matrix.to/#/!plrRoZsBTUYBWzvzIq:matrix.org?via=matrix.org) to get help using devenv. 2 | -------------------------------------------------------------------------------- /docs/editor-support/.nav.yml: -------------------------------------------------------------------------------- 1 | nav: 2 | - VSCode: vscode.md 3 | - PhpStorm/Intellij/PyCharm: intellij.md 4 | - Zed: zed.md 5 | -------------------------------------------------------------------------------- /docs/editor-support/intellij.md: -------------------------------------------------------------------------------- 1 | It is recommend to use [automatic shell activation](../automatic-shell-activation.md) with the plugin [Devenv.sh Support](https://plugins.jetbrains.com/plugin/23136-devenv-sh-support). 2 | 3 | There's first-class support for PHP development. 4 | -------------------------------------------------------------------------------- /docs/editor-support/vscode.md: -------------------------------------------------------------------------------- 1 | It's best to use [automatic shell activation](../automatic-shell-activation.md) with [direnv extension](https://marketplace.visualstudio.com/items?itemName=mkhl.direnv). 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/editor-support/zed.md: -------------------------------------------------------------------------------- 1 | Upvote [Zed issue for direnv support](https://github.com/zed-industries/zed/issues/4977). 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/examples.md: -------------------------------------------------------------------------------- 1 | There are a few examples [in the devenv repository](https://github.com/cachix/devenv/tree/main/examples). 2 | 3 | [The devenv project itself uses devenv, which serves as an example](https://github.com/cachix/devenv/blob/main/devenv.nix). 4 | 5 | If you're searching for an example but can't find it, [let us know](https://github.com/cachix/devenv/issues/12). 6 | -------------------------------------------------------------------------------- /docs/garbage-collection.md: -------------------------------------------------------------------------------- 1 | # Garbage collection 2 | 3 | `devenv` involves optimizing disk space utilization through the creation of garbage collection roots for each activated developer environment, which is especially beneficial when switching between branches. 4 | 5 | This is based on the premise that disk space is inexpensive and can be better utilized by creating a root for each environment. The garbage collection process can be initiated by running the command `devenv gc` when it is deemed necessary to free up space. 6 | 7 | Running ``devenv gc`` will go through everything you've built so far 8 | and delete anything that's currently not the latest successful invocation 9 | of any ``devenv`` command per folder. 10 | -------------------------------------------------------------------------------- /docs/guides/.nav.yml: -------------------------------------------------------------------------------- 1 | nav: 2 | - Profiles: profiles.md 3 | - Using with Flakes: using-with-flakes.md 4 | - Using with flake.parts: using-with-flake-parts.md 5 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | template: home.html 3 | title: Fast, Declarative, Reproducible, and Composable Developer Environments 4 | --- 5 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/ansible.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/c.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/clojure.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/cplusplus.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/crystal.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/cue.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/dart.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/deno.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/dotnet.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/elixir.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/elm.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/erlang.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/fortran.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/gawk.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/gleam.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/go.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/haskell.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/idris.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/java.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/javascript.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/jsonnet.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/julia.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/kotlin.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/lean4.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/lua.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/nim.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/nix.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/ocaml.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/odin.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/opentofu.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/pascal.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/perl.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/php.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/purescript.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/python.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/r.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/racket.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/raku.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/robotframework.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/ruby.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/rust.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/scala.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/shell.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/solidity.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/standardml.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/swift.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/terraform.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/texlive.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/typescript.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/typst.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/unison.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/v.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/vala.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/languages/zig.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/process-managers/hivemind.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/process-managers/honcho.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/process-managers/mprocs.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/process-managers/overmind.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/process-managers/process-compose.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/adminer.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/blackfire.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/caddy.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/cassandra.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/clickhouse.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/cockroachdb.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/couchdb.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/dynamodb-local.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/elasticmq.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/elasticsearch.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/httpbin.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/influxdb.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/kafka-connect.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/kafka.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/keycloak.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/mailhog.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/mailpit.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/meilisearch.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/memcached.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/minio.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/mongodb.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/mysql.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/nginx.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/opensearch.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/opentelemetry-collector.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/postgres.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/prometheus.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/rabbitmq.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/redis.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/sqld.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/tailscale.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/temporal.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/tideways.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/trafficserver.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/typesense.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/varnish.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/vault.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/individual-docs/services/wiremock.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [comment]: # (Please add your documentation on top of this line) 4 | 5 | @AUTOGEN_OPTIONS@ 6 | -------------------------------------------------------------------------------- /docs/integrations/.nav.yml: -------------------------------------------------------------------------------- 1 | nav: 2 | - .env: dotenv.md 3 | - Android: android.md 4 | - Wordpress: wordpress.md 5 | - GitHub Actions: github-actions.md 6 | - Devenv Container: devenv-container.md 7 | - Codespaces / devcontainer: codespaces-devcontainer.md 8 | - Difftastic: difftastic.md 9 | - Delta: delta.md 10 | -------------------------------------------------------------------------------- /docs/integrations/codespaces-devcontainer.md: -------------------------------------------------------------------------------- 1 | To get started using [Codespaces](https://github.com/features/codespaces), flip a toggle: 2 | 3 | 4 | ```nix title="devenv.nix" 5 | { pkgs, ... }: 6 | 7 | { 8 | devcontainer.enable = true; 9 | } 10 | ``` 11 | 12 | Run ``devenv shell``. You should see an autogenerated `.devcontainer.json` file. 13 | 14 | 15 | Commit `.devcontainer.json` to the Git repository and push it. 16 | -------------------------------------------------------------------------------- /docs/integrations/delta.md: -------------------------------------------------------------------------------- 1 | To get started using [Delta, a syntax-highlighting pager for git, diff, and grep output](https://dandavison.github.io/delta/), flip a toggle: 2 | 3 | ```nix title="devenv.nix" 4 | { pkgs, ... }: 5 | 6 | { 7 | delta.enable = true; 8 | } 9 | ``` 10 | -------------------------------------------------------------------------------- /docs/integrations/difftastic.md: -------------------------------------------------------------------------------- 1 | To get started using [Difftastic, a structural diff that understands syntax for over 30 languages](https://difftastic.wilfred.me.uk/), flip a toggle: 2 | 3 | 4 | ```nix title="devenv.nix" 5 | { pkgs, ... }: 6 | 7 | { 8 | difftastic.enable = true; 9 | } 10 | ``` 11 | 12 | When you run `devenv shell` using `git diff`, you should see the following output: 13 | 14 | 15 |  16 | -------------------------------------------------------------------------------- /docs/integrations/dotenv.md: -------------------------------------------------------------------------------- 1 | [.env](https://github.com/motdotla/dotenv) files were introduced by Heroku in 2012. 2 | 3 | If you have a `.env`, you'll see instructions how to enable integration: 4 | 5 | ```nix title="devenv.nix" 6 | { 7 | dotenv.enable = true; 8 | 9 | # Optionally, you can choose which filename to load. 10 | # 11 | # dotenv.filename = ".env.production"; 12 | # or 13 | # dotenv.filename = [ ".env.production" ".env.development" ] 14 | } 15 | ``` 16 | 17 | When the developer environment is loaded, environment variables from `.env` will be loaded 18 | and set into `config.env`. 19 | 20 | Variables from `.env` are set using `lib.mkDefault`, meaning that any existing `env` variables set in `devenv.nix` will have priority over them. 21 | -------------------------------------------------------------------------------- /docs/javascript/extra.js: -------------------------------------------------------------------------------- 1 | document$.subscribe(() => { 2 | highlightCodeOnHomePage(); 3 | }); 4 | 5 | target$.subscribe(() => { 6 | highlightCodeOnHomePage(); 7 | }); 8 | 9 | function highlightCodeOnHomePage() { 10 | if (document.location.pathname === '/') { 11 | hljs.highlightAll(); 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /docs/supported-languages/ansible.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.ansible\.enable 7 | 8 | Whether to enable tools for Ansible development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.ansible\.package 28 | 29 | 30 | 31 | The Ansible package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.ansible ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/c.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.c\.enable 7 | 8 | 9 | 10 | Whether to enable tools for C development\. 11 | 12 | 13 | 14 | *Type:* 15 | boolean 16 | 17 | 18 | 19 | *Default:* 20 | ` false ` 21 | 22 | 23 | 24 | *Example:* 25 | ` true ` 26 | 27 | 28 | 29 | ## languages\.c\.debugger 30 | 31 | An optional debugger package to use with c\. 32 | The default is ` gdb `, if supported on the current system\. 33 | 34 | 35 | 36 | *Type:* 37 | null or package 38 | 39 | 40 | 41 | *Default:* 42 | ` pkgs.gdb ` 43 | -------------------------------------------------------------------------------- /docs/supported-languages/clojure.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.clojure\.enable 7 | 8 | Whether to enable tools for Clojure development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | -------------------------------------------------------------------------------- /docs/supported-languages/cplusplus.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.cplusplus\.enable 7 | 8 | Whether to enable tools for C++ development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | -------------------------------------------------------------------------------- /docs/supported-languages/crystal.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.crystal\.enable 7 | 8 | Whether to enable Enable tools for Crystal development… 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | -------------------------------------------------------------------------------- /docs/supported-languages/cue.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.cue\.enable 7 | 8 | Whether to enable tools for Cue development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.cue\.package 28 | 29 | 30 | 31 | The CUE package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.cue ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/dart.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.dart\.enable 7 | 8 | Whether to enable tools for Dart development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.dart\.package 28 | 29 | 30 | 31 | The Dart package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.dart ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/deno.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.deno\.enable 7 | 8 | Whether to enable tools for Deno development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.deno\.package 28 | 29 | 30 | 31 | Which package of Deno to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.deno ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/dotnet.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.dotnet\.enable 7 | 8 | Whether to enable tools for \.NET development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.dotnet\.package 28 | 29 | 30 | 31 | The \.NET SDK package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.dotnet-sdk ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/elixir.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.elixir\.enable 7 | 8 | Whether to enable tools for Elixir development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.elixir\.package 28 | 29 | 30 | 31 | Which Elixir package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.elixir ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/elm.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.elm\.enable 7 | 8 | Whether to enable tools for Elm development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | -------------------------------------------------------------------------------- /docs/supported-languages/erlang.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.erlang\.enable 7 | 8 | Whether to enable tools for Erlang development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.erlang\.package 28 | 29 | 30 | 31 | Which package of Erlang to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.erlang ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/fortran.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.fortran\.enable 7 | 8 | Whether to enable tools for Fortran Development… 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.fortran\.package 28 | 29 | 30 | 31 | The Fortran package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.gfortran ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/gawk.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.gawk\.enable 7 | 8 | Whether to enable tools for GNU Awk development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | -------------------------------------------------------------------------------- /docs/supported-languages/gleam.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.gleam\.enable 7 | 8 | Whether to enable tools for Gleam development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.gleam\.package 28 | 29 | 30 | 31 | The Gleam package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.gleam ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/idris.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.idris\.enable 7 | 8 | Whether to enable tools for Idris development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.idris\.package 28 | 29 | 30 | 31 | The Idris package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.idris2 ` 42 | 43 | 44 | 45 | *Example:* 46 | ` pkgs.idris ` 47 | -------------------------------------------------------------------------------- /docs/supported-languages/jsonnet.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.jsonnet\.enable 7 | 8 | Whether to enable tools for jsonnet development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | -------------------------------------------------------------------------------- /docs/supported-languages/julia.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.julia\.enable 7 | 8 | Whether to enable tools for Julia development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.julia\.package 28 | 29 | 30 | 31 | The Julia package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.julia-bin ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/kotlin.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.kotlin\.enable 7 | 8 | Whether to enable tools for Kotlin development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | -------------------------------------------------------------------------------- /docs/supported-languages/lean4.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.lean4\.enable 7 | 8 | Whether to enable tools for lean4 development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.lean4\.package 28 | 29 | 30 | 31 | The lean4 package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.lean4 ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/lua.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.lua\.enable 7 | 8 | Whether to enable tools for Lua development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.lua\.package 28 | 29 | 30 | 31 | The Lua package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.lua ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/nim.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.nim\.enable 7 | 8 | Whether to enable tools for Nim development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.nim\.package 28 | 29 | 30 | 31 | The Nim package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.nim ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/nix.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.nix\.enable 7 | 8 | Whether to enable tools for Nix development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.nix\.lsp\.package 28 | 29 | 30 | 31 | The LSP package to use 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.nil ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/ocaml.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.ocaml\.enable 7 | 8 | Whether to enable tools for OCaml development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.ocaml\.packages 28 | 29 | 30 | 31 | The package set of OCaml to use 32 | 33 | 34 | 35 | *Type:* 36 | attribute set 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.ocaml-ng.ocamlPackages_4_12 ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/opentofu.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.opentofu\.enable 7 | 8 | Whether to enable tools for OpenTofu development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.opentofu\.package 28 | 29 | 30 | 31 | The OpenTofu package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.opentofu ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/pascal.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.pascal\.enable 7 | 8 | Whether to enable tools for Pascal development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.pascal\.lazarus\.enable 28 | 29 | 30 | 31 | Whether to enable lazarus graphical IDE for the FreePascal language\. 32 | 33 | 34 | 35 | *Type:* 36 | boolean 37 | 38 | 39 | 40 | *Default:* 41 | ` false ` 42 | 43 | 44 | 45 | *Example:* 46 | ` true ` 47 | -------------------------------------------------------------------------------- /docs/supported-languages/perl.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.perl\.enable 7 | 8 | Whether to enable tools for Perl development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.perl\.packages 28 | 29 | 30 | 31 | Perl packages to include 32 | 33 | 34 | 35 | *Type:* 36 | list of string 37 | 38 | 39 | 40 | *Default:* 41 | ` [ ] ` 42 | 43 | 44 | 45 | *Example:* 46 | 47 | ``` 48 | [ 49 | "Mojolicious" 50 | ] 51 | ``` 52 | -------------------------------------------------------------------------------- /docs/supported-languages/purescript.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.purescript\.enable 7 | 8 | Whether to enable tools for PureScript development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.purescript\.package 28 | 29 | 30 | 31 | The PureScript package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.purescript ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/racket.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.racket\.enable 7 | 8 | Whether to enable tools for Racket development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.racket\.package 28 | 29 | 30 | 31 | The Racket package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.racket-minimal ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/raku.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.raku\.enable 7 | 8 | Whether to enable tools for Raku development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | -------------------------------------------------------------------------------- /docs/supported-languages/robotframework.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.robotframework\.enable 7 | 8 | Whether to enable tools for Robot Framework development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.robotframework\.python 28 | 29 | 30 | 31 | The Python package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.python3 ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/shell.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.shell\.enable 7 | 8 | Whether to enable tools for shell development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | -------------------------------------------------------------------------------- /docs/supported-languages/standardml.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.standardml\.enable 7 | 8 | Whether to enable tools for Standard ML development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.standardml\.package 28 | 29 | 30 | 31 | The Standard ML package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.mlton ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/swift.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.swift\.enable 7 | 8 | Whether to enable tools for Swift development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.swift\.package 28 | 29 | 30 | 31 | The Swift package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.swift ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/typescript.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.typescript\.enable 7 | 8 | Whether to enable tools for TypeScript development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | -------------------------------------------------------------------------------- /docs/supported-languages/unison.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.unison\.enable 7 | 8 | Whether to enable tools for Unison development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.unison\.package 28 | 29 | 30 | 31 | Which package of Unison to use 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.unison-ucm ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/v.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.v\.enable 7 | 8 | Whether to enable tools for V development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.v\.package 28 | 29 | 30 | 31 | The V package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.vlang ` 42 | -------------------------------------------------------------------------------- /docs/supported-languages/vala.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.vala\.enable 7 | 8 | Whether to enable tools for Vala development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.vala\.package 28 | 29 | 30 | 31 | The Vala package to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.vala ` 42 | 43 | 44 | 45 | *Example:* 46 | ` pkgs.vala_0_54 ` 47 | -------------------------------------------------------------------------------- /docs/supported-languages/zig.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## languages\.zig\.enable 7 | 8 | Whether to enable tools for Zig development\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## languages\.zig\.package 28 | 29 | 30 | 31 | Which package of Zig to use\. 32 | 33 | 34 | 35 | *Type:* 36 | package 37 | 38 | 39 | 40 | *Default:* 41 | ` pkgs.zig ` 42 | -------------------------------------------------------------------------------- /docs/supported-process-managers/hivemind.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## process\.managers\.hivemind\.package 7 | 8 | The hivemind package to use\. 9 | 10 | 11 | 12 | *Type:* 13 | package 14 | 15 | 16 | 17 | *Default:* 18 | ` pkgs.hivemind ` 19 | -------------------------------------------------------------------------------- /docs/supported-process-managers/honcho.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## process\.managers\.honcho\.package 7 | 8 | The honcho package to use\. 9 | 10 | 11 | 12 | *Type:* 13 | package 14 | 15 | 16 | 17 | *Default:* 18 | ` pkgs.honcho ` 19 | -------------------------------------------------------------------------------- /docs/supported-process-managers/mprocs.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## process\.managers\.mprocs\.package 7 | 8 | The mprocs package to use\. 9 | 10 | 11 | 12 | *Type:* 13 | package 14 | 15 | 16 | 17 | *Default:* 18 | ` pkgs.mprocs ` 19 | 20 | 21 | 22 | ## process\.managers\.mprocs\.settings 23 | 24 | 25 | 26 | Top-level mprocs\.yaml options 27 | 28 | https://github\.com/pvolok/mprocs?tab=readme-ov-file\#config 29 | 30 | 31 | 32 | *Type:* 33 | YAML value 34 | 35 | 36 | 37 | *Default:* 38 | ` { } ` 39 | -------------------------------------------------------------------------------- /docs/supported-process-managers/overmind.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## process\.managers\.overmind\.package 7 | 8 | The overmind package to use\. 9 | 10 | 11 | 12 | *Type:* 13 | package 14 | 15 | 16 | 17 | *Default:* 18 | ` pkgs.overmind ` 19 | -------------------------------------------------------------------------------- /docs/supported-services/tailscale.md: -------------------------------------------------------------------------------- 1 | [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) 2 | 3 | 4 | [comment]: # (Please add your documentation on top of this line) 5 | 6 | ## services\.tailscale\.funnel\.enable 7 | 8 | Whether to enable Tailscale funnel\. 9 | 10 | 11 | 12 | *Type:* 13 | boolean 14 | 15 | 16 | 17 | *Default:* 18 | ` false ` 19 | 20 | 21 | 22 | *Example:* 23 | ` true ` 24 | 25 | 26 | 27 | ## services\.tailscale\.funnel\.target 28 | 29 | 30 | 31 | Target host or host:port for Tailscale funnel 32 | 33 | 34 | 35 | *Type:* 36 | string 37 | -------------------------------------------------------------------------------- /examples/.gitignore: -------------------------------------------------------------------------------- 1 | devenv.lock 2 | -------------------------------------------------------------------------------- /examples/android/.patch.sh: -------------------------------------------------------------------------------- 1 | echo "{ pkgs, lib, ... }: {" > devenv.local.nix 2 | echo " android.enable = lib.mkForce (pkgs.stdenv.isLinux && !pkgs.stdenv.isAarch64);" >> devenv.local.nix 3 | echo "}" >> devenv.local.nix 4 | 5 | -------------------------------------------------------------------------------- /examples/android/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | android.enable = true; 5 | android.android-studio.enable = false; 6 | } 7 | -------------------------------------------------------------------------------- /examples/android/devenv.yaml: -------------------------------------------------------------------------------- 1 | allowUnfree: true -------------------------------------------------------------------------------- /examples/aws-vault/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | # Since Terraform adopted a non-free license (BSL 1.1) in August 2023, 5 | # using terraform instead of opentofu now requires adding `allowUnfree: true` to `devenv.yaml` 6 | languages.opentofu.enable = true; 7 | 8 | aws-vault = { 9 | enable = true; 10 | profile = "aws-profile"; 11 | awscliWrapper.enable = true; 12 | opentofuWrapper.enable = true; 13 | }; 14 | } 15 | -------------------------------------------------------------------------------- /examples/caddy-php/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, config, ... }: 2 | 3 | { 4 | languages.php = { 5 | enable = true; 6 | version = "8.1"; 7 | ini = '' 8 | memory_limit = 256M 9 | ''; 10 | fpm.pools.web = { 11 | settings = { 12 | "pm" = "dynamic"; 13 | "pm.max_children" = 5; 14 | "pm.start_servers" = 2; 15 | "pm.min_spare_servers" = 1; 16 | "pm.max_spare_servers" = 5; 17 | }; 18 | }; 19 | }; 20 | 21 | services.caddy.enable = true; 22 | services.caddy.virtualHosts."http://localhost:8000" = { 23 | extraConfig = '' 24 | root * public 25 | php_fastcgi unix/${config.languages.php.fpm.pools.web.socket} 26 | file_server 27 | ''; 28 | }; 29 | } 30 | -------------------------------------------------------------------------------- /examples/clickhouse/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -xe 3 | 4 | wait_for_port 9000 5 | sleep 2 6 | clickhouse-client --query "SELECT 1" -------------------------------------------------------------------------------- /examples/clickhouse/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | services.clickhouse = { 5 | enable = true; 6 | config = '' 7 | # http_port: 8123 8 | ''; 9 | }; 10 | } 11 | -------------------------------------------------------------------------------- /examples/cockroachdb/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | services.cockroachdb = { 5 | enable = pkgs.stdenv.isLinux; 6 | }; 7 | } 8 | -------------------------------------------------------------------------------- /examples/cockroachdb/devenv.yaml: -------------------------------------------------------------------------------- 1 | allowUnfree: true -------------------------------------------------------------------------------- /examples/compose/devenv.nix: -------------------------------------------------------------------------------- 1 | { 2 | enterTest = '' 3 | pushd projectB 4 | devenv shell python -- --version 5 | devenv shell cargo -- --version 6 | popd 7 | ''; 8 | } 9 | -------------------------------------------------------------------------------- /examples/compose/devenv.yaml: -------------------------------------------------------------------------------- 1 | imports: 2 | - ./projectA 3 | - ./projectB -------------------------------------------------------------------------------- /examples/compose/projectA/devenv.nix: -------------------------------------------------------------------------------- 1 | { 2 | languages.python.enable = true; 3 | } 4 | -------------------------------------------------------------------------------- /examples/compose/projectB/devenv.nix: -------------------------------------------------------------------------------- 1 | { 2 | languages.rust.enable = true; 3 | } 4 | -------------------------------------------------------------------------------- /examples/compose/projectB/devenv.yaml: -------------------------------------------------------------------------------- 1 | inputs: 2 | root: 3 | url: ../ 4 | flake: false 5 | imports: 6 | - root/projectA 7 | -------------------------------------------------------------------------------- /examples/couchdb/devenv.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | { 3 | services.couchdb.enable = true; 4 | } 5 | -------------------------------------------------------------------------------- /examples/dynamodb-local/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ex 3 | 4 | export AWS_DEFAULT_REGION=fakeRegion 5 | export AWS_ACCESS_KEY_ID=fakeMyKeyId 6 | export AWS_SECRET_ACCESS_KEY=fakeSecretAccessKey 7 | 8 | wait_for_port 8000 9 | 10 | aws dynamodb list-tables --endpoint-url http://localhost:8000 11 | -------------------------------------------------------------------------------- /examples/dynamodb-local/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | services.dynamodb-local.enable = true; 5 | packages = [ 6 | pkgs.awscli2 7 | ]; 8 | } 9 | -------------------------------------------------------------------------------- /examples/dynamodb-local/devenv.yaml: -------------------------------------------------------------------------------- 1 | allowUnfree: true 2 | -------------------------------------------------------------------------------- /examples/elasticmq/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ex 3 | 4 | wait_for_port 9325 60 5 | 6 | QUEUE_NAME=$(curl http://localhost:9325/statistics/queues -s | jq .[].name -r) 7 | 8 | if [[ "$QUEUE_NAME" != "test-queue" ]]; then 9 | echo "The queue is not created" 10 | exit 1 11 | fi 12 | -------------------------------------------------------------------------------- /examples/elasticmq/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | packages = [ 5 | pkgs.jq 6 | ]; 7 | 8 | services.elasticmq.enable = true; 9 | services.elasticmq.settings = '' 10 | queues { 11 | test-queue {} 12 | } 13 | ''; 14 | } 15 | -------------------------------------------------------------------------------- /examples/fly.io/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | if [ "$(uname -s)" == "Linux" ]; then 3 | devenv container shell 4 | devenv container processes 5 | fi -------------------------------------------------------------------------------- /examples/fly.io/README.md: -------------------------------------------------------------------------------- 1 | Login: 2 | 3 | ``` 4 | flyctl auth login 5 | ``` 6 | 7 | Create an app: 8 | 9 | ``` 10 | flyctl apps create simple-python-app 11 | ``` 12 | 13 | Allocate ipv4: 14 | 15 | ``` 16 | flyctl ips allocate-v4 17 | ``` 18 | 19 | Copy the container to fly.io registry: 20 | 21 | ``` 22 | devenv container processes --copy 23 | ``` 24 | 25 | Create a volume for `devenv` state: 26 | 27 | ``` 28 | fly volumes create devenv_state --region ams --size 1 29 | ``` 30 | 31 | Deploy your app: 32 | 33 | ``` 34 | flyctl deploy 35 | ``` -------------------------------------------------------------------------------- /examples/fly.io/devenv.nix: -------------------------------------------------------------------------------- 1 | { config, pkgs, lib, ... }: 2 | 3 | let 4 | pythonPackages = config.languages.python.package.pkgs; 5 | in 6 | { 7 | languages.python.enable = true; 8 | 9 | packages = [ pythonPackages.flask ] 10 | ++ lib.optionals (!config.container.isBuilding) [ pkgs.flyctl ]; 11 | 12 | processes.serve.exec = "flask --app hello run"; 13 | 14 | containers.processes.name = "simple-python-app"; 15 | containers.processes.registry = "docker://registry.fly.io/"; 16 | containers.processes.defaultCopyArgs = [ 17 | "--dest-creds" 18 | "x:\"$(${pkgs.flyctl}/bin/flyctl auth token)\"" 19 | ]; 20 | } 21 | -------------------------------------------------------------------------------- /examples/fly.io/devenv.yaml: -------------------------------------------------------------------------------- 1 | inputs: 2 | nix2container: 3 | url: github:nlewo/nix2container 4 | inputs: 5 | nixpkgs: 6 | follows: nixpkgs 7 | mk-shell-bin: 8 | url: github:rrbutani/nix-mk-shell-bin -------------------------------------------------------------------------------- /examples/fly.io/fly.toml: -------------------------------------------------------------------------------- 1 | app = "simple-python-app" 2 | 3 | [build] 4 | image = "registry.fly.io/simple-python-app:latest" 5 | 6 | [[services]] 7 | internal_port = 5000 8 | protocol = "tcp" 9 | 10 | [[services.ports]] 11 | handlers = ["tls", "http"] 12 | port = "443" 13 | 14 | [mounts] 15 | source="devenv_state" 16 | destination="/.devenv/state" -------------------------------------------------------------------------------- /examples/fly.io/hello.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | 3 | app = Flask(__name__) 4 | 5 | 6 | @app.route("/") 7 | def hello_world(): 8 | return "
Hello, World!
" 9 | -------------------------------------------------------------------------------- /examples/gleam/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -ex 4 | rm -rf test_proj 5 | gleam --version 6 | gleam new test_proj 7 | 8 | # These are currently too flaky to run in CI 9 | # cd test_proj 10 | # gleam test 11 | -------------------------------------------------------------------------------- /examples/gleam/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | # https://devenv.sh/languages/ 5 | languages.gleam.enable = true; 6 | 7 | enterShell = '' 8 | gleam --version 9 | ''; 10 | 11 | # See full reference at https://devenv.sh/reference/options/ 12 | } 13 | -------------------------------------------------------------------------------- /examples/gleam/devenv.yaml: -------------------------------------------------------------------------------- 1 | inputs: 2 | nixpkgs: 3 | url: github:NixOS/nixpkgs/nixpkgs-unstable 4 | -------------------------------------------------------------------------------- /examples/go/default.nix: -------------------------------------------------------------------------------- 1 | { pkgs, name, version, ... }: 2 | pkgs.buildGoApplication { 3 | pname = name; 4 | version = version; 5 | 6 | src = builtins.path { 7 | path = ./.; 8 | name = "source"; 9 | }; 10 | 11 | ## remember to call 'gomod2nix' to generate this file 12 | modules = ./gomod2nix.toml; 13 | } 14 | -------------------------------------------------------------------------------- /examples/go/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, lib, config, inputs, ... }: 2 | 3 | { 4 | packages = [ pkgs.git pkgs.gomod2nix ]; 5 | 6 | languages.go.enable = true; 7 | 8 | git-hooks.hooks = { 9 | govet = { 10 | enable = true; 11 | pass_filenames = false; 12 | }; 13 | gotest.enable = true; 14 | golangci-lint = { 15 | enable = true; 16 | pass_filenames = false; 17 | }; 18 | }; 19 | 20 | outputs = 21 | let 22 | name = "my-app"; 23 | version = "1.0.0"; 24 | in 25 | { app = import ./default.nix { inherit pkgs name version; }; }; 26 | 27 | # See full reference at https://devenv.sh/reference/options/ 28 | } 29 | -------------------------------------------------------------------------------- /examples/go/devenv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=https://devenv.sh/devenv.schema.json 2 | inputs: 3 | gomod: 4 | url: github:nix-community/gomod2nix 5 | overlays: 6 | - default 7 | # If you're using non-OSS software, you can set allowUnfree to true. 8 | # allowUnfree: true 9 | -------------------------------------------------------------------------------- /examples/hivemind/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | process.manager.implementation = "hivemind"; 5 | processes.foo.exec = "echo foo; sleep inf"; 6 | processes.bar.exec = "echo bar; sleep inf"; 7 | } 8 | -------------------------------------------------------------------------------- /examples/httpbin/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euxo pipefail 3 | 4 | for port in 8080 8081; do 5 | wait_for_port "$port" 6 | curl -vf "http://127.0.0.1:$port/headers" 7 | done 8 | -------------------------------------------------------------------------------- /examples/httpbin/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | packages = [ pkgs.curl ]; 5 | 6 | services.httpbin = { 7 | enable = true; 8 | bind = [ "127.0.0.1:8080" "127.0.0.1:8081" ]; 9 | }; 10 | } 11 | -------------------------------------------------------------------------------- /examples/imports/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | env | grep "FILE=1" 3 | env | grep "FOLDER=1" -------------------------------------------------------------------------------- /examples/imports/devenv.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /examples/imports/devenv.yaml: -------------------------------------------------------------------------------- 1 | imports: 2 | - ./file.nix 3 | - ./folder/ -------------------------------------------------------------------------------- /examples/imports/file.nix: -------------------------------------------------------------------------------- 1 | { 2 | env.FILE = "1"; 3 | } 4 | -------------------------------------------------------------------------------- /examples/imports/folder/devenv.nix: -------------------------------------------------------------------------------- 1 | { 2 | env.FOLDER = "1"; 3 | } 4 | -------------------------------------------------------------------------------- /examples/influxdb/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ex 3 | 4 | wait_for_port 8087 60 5 | 6 | influx --port 8087 --execute "CREATE DATABASE devenv" 7 | DATABASES=$(influx --port 8087 --execute "SHOW DATABASES" | grep devenv) 8 | 9 | if [[ "$DATABASES" != "devenv" ]]; then 10 | echo "The influxdb database was not created" 11 | exit 1 12 | fi 13 | -------------------------------------------------------------------------------- /examples/javascript-bun/.gitignore: -------------------------------------------------------------------------------- 1 | # Devenv 2 | .devenv* 3 | devenv.local.nix 4 | 5 | # JavaScript runtimes 6 | node_modules/ 7 | package-lock.json 8 | pnpm-lock.yaml 9 | yarn.lock 10 | bun.lockb 11 | -------------------------------------------------------------------------------- /examples/javascript-bun/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -ex 4 | 5 | node -e "require('axios')" 6 | -------------------------------------------------------------------------------- /examples/javascript-bun/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, lib, ... }: 2 | 3 | { 4 | languages.javascript = { 5 | enable = true; 6 | bun = { 7 | enable = true; 8 | install.enable = true; 9 | }; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /examples/javascript-bun/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "javascript", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "axios": "^1.4.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/javascript-yarn/.gitignore: -------------------------------------------------------------------------------- 1 | # Devenv 2 | .devenv* 3 | devenv.local.nix 4 | 5 | # JavaScript runtimes 6 | node_modules/ 7 | package-lock.json 8 | pnpm-lock.yaml 9 | yarn.lock 10 | bun.lockb 11 | -------------------------------------------------------------------------------- /examples/javascript-yarn/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -ex 4 | 5 | node -e "require('axios')" 6 | -------------------------------------------------------------------------------- /examples/javascript-yarn/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, lib, ... }: 2 | 3 | { 4 | languages.javascript = { 5 | enable = true; 6 | yarn = { 7 | enable = true; 8 | install.enable = true; 9 | }; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /examples/javascript-yarn/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "javascript", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "axios": "^1.4.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/javascript/.gitignore: -------------------------------------------------------------------------------- 1 | # Devenv 2 | .devenv* 3 | devenv.local.nix 4 | 5 | # JavaScript runtimes 6 | node_modules/ 7 | package-lock.json 8 | pnpm-lock.yaml 9 | yarn.lock 10 | bun.lockb 11 | -------------------------------------------------------------------------------- /examples/javascript/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -ex 4 | 5 | node -e "require('axios')" 6 | -------------------------------------------------------------------------------- /examples/javascript/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, lib, ... }: 2 | 3 | { 4 | languages.javascript = { 5 | enable = true; 6 | npm = { 7 | enable = true; 8 | install.enable = true; 9 | }; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /examples/javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "javascript", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "axios": "^1.4.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/jsonnet/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -ex 4 | jsonnet --version 5 | -------------------------------------------------------------------------------- /examples/jsonnet/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | languages.jsonnet.enable = true; 5 | enterShell = '' 6 | jsonnet --version 7 | ''; 8 | } 9 | -------------------------------------------------------------------------------- /examples/lean4/.gitignore: -------------------------------------------------------------------------------- 1 | test_proj -------------------------------------------------------------------------------- /examples/lean4/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -ex 4 | rm -rf test_proj 5 | lake new test_proj 6 | cd test_proj 7 | lake exe test_proj -------------------------------------------------------------------------------- /examples/lean4/devenv.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | languages.lean4.enable = true; 5 | } 6 | -------------------------------------------------------------------------------- /examples/mailpit/.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ex 3 | 4 | wait_for_port 1025 5 | 6 | sendmail john@example.com <