| lang |
|---|
en |
Initialize an environment with the below command (or better as a script),
passing the wanted stack as the $1 argument.
nix flake init -t "github:gfauredev/dev-templates#$1"
direnv allow| Stack (language, tools…) | Nix Flake Template |
|---|---|
| Bun | bun |
| CadQuery/Build123d | cadquery |
| C/C++ | c-cpp |
| Clojure | clojure |
| Cue | cue |
| Dhall | dhall |
| Elixir | elixir |
| Elm | elm |
| Empty | empty |
| Gleam | gleam |
| Go | go |
| Hashicorp tools | hashi |
| Haskell | haskell |
| Haxe | haxe |
| Java | java |
| Jupyter | jupyter |
| Kotlin | kotlin |
| LaTeX | latex |
| Lisp experiments | lisp |
| Lua | lua |
| Nickel | nickel |
| Nim | nim |
| Nix | nix |
| Node.js | node |
| OCaml | ocaml |
| Odin | odin |
| OpenSCAD | opa |
| Open Policy Agent | opa |
| PHP | php |
| PlatformIO | platformio |
| Protobuf | protobuf |
| Pulumi | pulumi |
| Purescript | purescript |
| Python | python |
| R | r |
| Ruby | ruby |
| Rust | rust |
| Scala | scala |
| Shell | shell |
| SWI-prolog | swi-prolog |
| Swift | swift |
| Typst | typst |
| Vagrant | vagrant |
| Vlang | vlang |
| Web (HTML/CSS/TS) | web |
| Zig | zig |
What each template includes
Default compiler gcc is replaced by clang.
A basic CMakeLists.txt is provided.
- clang-tools CLIs
- cmake build automation tool
- cmake-lsp build automation tool LSP
- cppcheck static analysis
- doxygen documentation generation
- gnumake build automation tool
- gtest testing framework
- lcov code coverage analyzer
- lldb clang debug adapter
- pkg-config libraries finder
- valgrind debugging, profiling
- codespell spell checker
- conan package manager
- gdb debugger
- vcpkg library manager
- vcpkg-tool library manager tools
- Dhall
- dhall-bash
- dhall-docs
- dhall-json
- dhall-lsp-server
- dhall-nix
- dhall-nixpkgs
- dhall-openapi
- dhall-toml
- dhall-yaml
A dev template that's fully customizable.
- Go
- Standard Go tools (goimports, godoc, and others)
- golangci-lint
- OpenSCAD compiler generating 3D models
- OpenSCAD-LSP LSP for the same-named language
- sca2d Static analysis for OpenSCAD
- Python
- pip
- ruff lint and format
- mypy type checking, static analysis
- rope smart refactoring
- python-lsp-server python LSP
- pylsp-mypy mypy LSP
- pylsp-rope rope LSP
- uv Packages and environment manager
- ruff lint and format
- mypy type checking, static analysis
- rope smart refactoring
- python-lsp-server python LSP
- pylsp-mypy mypy LSP
- pylsp-rope rope LSP
- Ruby, plus the standard Ruby tools (
bundle,gem, etc.)
-
Rust, including cargo, Clippy, and the other standard tools, with the Rust version determined as follows, in order
- From the
rust-toolchain.tomlfile if present - From the
rust-toolchainfile if present - Version if neither is present
- From the
-
lldb clang debug adapter
- bash-lsp language server
- shellcheck
- shfmt formatter