srid / rust-nix-template

Rust project template with Nix (Flakes) and VSCode support
https://srid.ca/rust-nix
MIT License
208 stars 21 forks source link
nix rust template-project vscode

A template Rust project with fully functional and no-frills Nix support, as well as builtin VSCode configuration to get IDE experience without any manual setup (just install direnv, open in VSCode and accept the suggestions). It uses crane, via rust-flake.

[!NOTE] If you are looking for the original template based on this blog post's use of crate2nix, browse from this tag. The evolution of this template can be gleaned from releases.

Usage

You can use omnix[^omnix] to initialize this template:

nix --accept-flake-config run github:juspay/omnix -- init github:srid/rust-nix-template -o ~/my-rust-project

[^omnix]: If initializing manually, make sure to:

Adapting this template

Development (Flakes)

This repo uses Flakes from the get-go.

# Dev shell
nix develop

# or run via cargo
nix develop -c cargo run

# build
nix build

We also provide a justfile for Makefile'esque commands to be run inside of the devShell.

Discussion

See Also