No description
Find a file Use this template
2023-07-26 14:51:14 -04:00
.github/workflows ci: Use newer actions 2023-06-26 12:49:55 -04:00
.vscode vscode: inlayHints 2023-06-30 21:20:00 -04:00
src Switch to clap, to demonstrate non-rust deps 2023-07-23 10:07:10 -04:00
.envrc Add .envrc (for direnv) 2022-05-04 11:45:44 -04:00
.gitattributes git: Mark flake.lock as generated 2022-05-08 17:04:18 -04:00
.gitignore Add .envrc (for direnv) 2022-05-04 11:45:44 -04:00
Cargo.lock Switch to clap, to demonstrate non-rust deps 2023-07-23 10:07:10 -04:00
Cargo.toml Switch to clap, to demonstrate non-rust deps 2023-07-23 10:07:10 -04:00
flake.lock mission-control -> just 2023-07-23 10:10:10 -04:00
flake.nix fmt 2023-07-23 10:11:14 -04:00
Jenkinsfile Add Jenkinsfile 2023-07-23 10:00:06 -04:00
justfile mission-control -> just 2023-07-23 10:10:10 -04:00
LICENSE Add license; resolves #12 2023-06-26 15:27:21 -04:00
README.md readme: note formatting 2023-07-26 14:51:14 -04:00
shell.nix Simplify shell.nix 2023-06-26 15:34:09 -04:00

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 change description 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.