No description
.github/workflows | ||
.vscode | ||
src | ||
.envrc | ||
.gitattributes | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
flake.lock | ||
flake.nix | ||
Jenkinsfile | ||
justfile | ||
LICENSE | ||
README.md | ||
shell.nix |
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 open in VSCode and accept the suggestions).
Note
If you are looking for the original template based on this blog post's use of
crate2nix
, browse from this tag.
Adapting this template
- Run
nix develop
to have a working shell ready before name change (Workaround for an issue - Change
name
in Cargo.toml and flake.nix. Also changedescription
in flake.nix. - Run
cargo generate-lockfile
in the nix shell - There are two CI workflows, and one of them uses Nix which is slower (unless you configure a cache) than the other that is based on rustup. Pick one or the other depending on your trade-offs.
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.