Skip to content
LogoLogo

develop-templates

Curated Nix flake project templates — bootstrap reproducible development environments with a single command.

Quick Start

# Register the alias (once)
nix registry add beans "github:nixcafe/develop-templates"
 
# Bootstrap a project
nix flake init -t beans#node
nix flake init -t beans#python
nix flake init -t beans#rust
 
# Enter the dev shell
nix develop

That's it — no Docker, no manual toolchain setup, no version managers.

Available Templates

TemplateStackWhat's included
nix (default)Nixnixfmt, deadnix, statix — Nix dev shell with formatting & linting
nodeNode.js / Bun / DenoNode.js, Bun, Deno, ni
pythonPythonPython auto-configured, ruff, hatchling
rustRustcargo, rustc, clippy, rustfmt, rust-analyzer
javaJavaGraalVM JDK, Maven, Gradle
kotlinKotlinGraalVM JDK, Kotlin compiler, Gradle
latexLaTeXLaTeX with Nix formatters
typstTypstTypst with Nix formatters
nix-configNixOS / macOSNixOS, nix-darwin, home-manager
colmena-configNixOS + ColmenaNixOS with Colmena deployment
secretsSecretsagenix/ragenix with YubiKey
purrpurr Frameworkpurr project (mkFlake)
purr-flake-partspurr + flake-partspurr with flake-parts

See the Available Templates page for descriptions and usage examples for every template.

Why Nix Flake Templates?

  • Reproducible — identical environments across Linux, macOS, and WSL
  • No Docker overhead — native Nix builds, no container runtime
  • Declarative — tools, dependencies, and env vars in one flake.nix
  • Zero-install bootstrapnix flake init -t + nix develop
  • Polyglot — one toolchain for all programming languages
  • CI-friendly — same environment locally and in CI

Architecture

Each template is a thin wrapper pulling content from a dedicated repository under nixcafe-develop:

# templates/node/default.nix
{ inputs, ... }:
{
  description = "Node.js development environment";
  path = "${inputs.templates-node}";
  welcomeText = ''
    # Node.js — Nix Development Environment
    Run `nix develop` to enter the dev shell.
  '';
}

The template flake itself is built with purr — directory convention, auto-discovery, zero boilerplate.

See the Quick Start page for detailed setup instructions, and Contributing to add your own template.