3.2 KiB
3.2 KiB
Nix flake templates for easy dev environments
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:the-nix-way/dev-templates#rust
# Create a new project
nix flake new --template github:the-nix-way/dev-templates#rust ${NEW_PROJECT_DIRECTORY}
How to use the templates
Once your preferred template has been initialized, you can use the provided shell in two ways:
- If you have
nix-direnvinstalled, 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.
Available templates
| Language/framework/tool | Template |
|---|---|
| Dhall | dhall |
| Elixir | elixir |
| Gleam | gleam |
| Go 1.17 | go1_17 |
| Go 1.18 | go1_18 |
| Java | java |
| Kotlin | kotlin |
| Nix | nix |
| Node.js | node |
| Protobuf | protobuf |
| Rust | rust |
| Scala | scala |
| Zig | zig |
Template contents
The sections below list what each template includes.
dhall
- Dhall
dhall-bashdhall-csv(Linux only)dhall-docsdhall-haskell(Linux only)dhall-jsondhall-lsp-serverdhall-nixdhall-nixpkgsdhall-openapidhall-text(Linux only)dhall-tomldhall-yaml