Inspired by the-nix-way/dev-templates
To initialize (where ${ENV} is listed in the table below):
nix flake init --template github:the-nix-way/dev-templates#${ENV}Here's an example (for the rust template):
# Initialize in the current project
nix flake init --template github:abayomi185/nix-dev-templates#rust
# Create a new project
nix flake new --template github:abayomi185/nix-dev-templates#rust ${NEW_PROJECT_DIRECTORY}You can also use these flakes directly, one off using:
nix develop github:abayomi185/nix-dev-templates#rustOr perpetually by putting into your .envrc, the following (see: Determinate systems - Nix Direnv):
use flake "github:abayomi185/nix-dev-templates?dir=rust"
# or
use flake "github:abayomi185/nix-dev-templates?dir=python&rev=f888276eeece760339aad5f9009a8e4d3a89b264"Once your preferred template has been initialized, you can use the provided shell in two ways:
- If you have [
nix-direnv][nix-direnv] installed, you can initialize the environment by runningdirenv allow. - If you don't have
nix-direnvinstalled, you can runnix developto open up the Nix-defined shell.
| Language/framework/tool | Template |
|---|---|
| [AWS-SAM] | aws-sam |
| [Bun] | bun |
| [Expo] | expo |
| [Deno] | deno |
| [Go] | go |
| [Kubernetes] | yaml |
| [Nix] | nix |
| [node] | node |
| [Python] | python |
| [Rust] | rust |
| [Rustup] | rustup |
| [Rust ESP32] | rust_esp32 |
| [Zig] | zig |