Skip to content

Dev environments for numerous languages based on Nix flakes [maintainer=@lucperkins]

License

Notifications You must be signed in to change notification settings

the-nix-way/dev-templates

Repository files navigation

Nix flake templates for easy dev environments

built with nix

To initialize (where ${ENV} is listed in the table below):

nix flake init --template "https://flakehub.com/f/the-nix-way/dev-templates/*#${ENV}"

Here's an example (for the rust template):

# Initialize in the current project nix flake init --template "https://flakehub.com/f/the-nix-way/dev-templates/*#rust"# Create a new project nix flake new --template "https://flakehub.com/f/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:

  1. If you have nix-direnv installed, you can initialize the environment by running direnv allow.
  2. If you don't have nix-direnv installed, you can run nix develop to open up the Nix-defined shell.

Available templates

Language/framework/toolTemplate
Bunbun
C / C++c-cpp
Clojureclojure
Cuecue
Dhalldhall
Elixirelixir
Elmelm
Empty (change at will)empty
Gleamgleam
Gogo
Hashicorp toolshashi
Haskellhaskell
Haxehaxe
Javajava
Jupyterjupyter
Kotlinkotlin
LaTeXlatex
Nickelnickel
Nimnim
Nixnix
Node.jsnode
OCamlocaml
Odinodin
Open Policy Agentopa
PHPphp
PlatformIOplatformio
Protobufprotobuf
Pulumipulumi
Purescriptpurescript
Pythonpython
Rr
Rubyruby
Rustrust
Scalascala
Shellshell
SWI-prologswi-prolog
Swiftswift
Typsttypst
Vlangvlang
Zigzig

Template contents

The sections below list what each template includes. In all cases, you're free to add and remove packages as you see fit; the templates are just boilerplate.

A dev template that's fully customizable.

  • Ruby, plus the standard Ruby tools (bundle, gem, etc.)
  • Rust, including cargo, Clippy, and the other standard tools. The Rust version is determined as follows, in order:

    • From the rust-toolchain.toml file if present
    • From the rust-toolchain file if present
    • Version 1.78.0 if neither is present
  • rust-analyzer

  • cargo-edit

  • cargo-deny

About

Dev environments for numerous languages based on Nix flakes [maintainer=@lucperkins]

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 28