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#rust
Or perpetually by putting into your .envrc
, the following (see: Determinate systems - Nix Direnv):
use flake "github:abayomi185/nix-dev-templates?dir=rust"
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-direnv
installed, you can runnix develop
to 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 |