Skip to content

dev environments for numerous languages based on Nix flakes

License

Notifications You must be signed in to change notification settings

USER1012007/dev-templates

 
 

Repository files navigation

Nix flake templates for easy dev environments

built with nix

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

# Initialize in the current project
nix flake init -t github:user1012007/dev-templates#rust

# Create a new project
nix flake new -t github:user1012007/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/tool Template
C / C++ c-cpp
Empty (change at will) empty
Go go
Haskell haskell
Java java
Jupyter jupyter
Kotlin kotlin
LaTeX latex
Nix nix
Node.js node
PHP php
Python python
R r
Ruby ruby
Rust rust
Scala scala
Shell shell
Swift swift
Typst typst

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.

  • 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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 61.2%
  • Nix 31.0%
  • TypeScript 5.6%
  • CSS 1.0%
  • JavaScript 0.5%
  • HTML 0.3%
  • Other 0.4%