No description
Find a file Use this template
2021-04-11 21:30:21 -04:00
.github/workflows rename CI files 2021-04-08 13:15:49 -04:00
.vscode nix autoformat etc 2021-04-08 21:27:32 -04:00
src Prepare to make a template 2021-04-10 12:10:57 -04:00
.gitignore crate2nix reborn 2021-04-08 13:10:55 -04:00
Cargo.lock Change name 2021-04-10 12:12:49 -04:00
Cargo.toml Change name 2021-04-10 12:12:49 -04:00
default.nix nix autoformat etc 2021-04-08 21:27:32 -04:00
flake.lock Prepare to make a template 2021-04-10 12:10:57 -04:00
flake.nix Add cargo-watch, demonstrating addition of build tools 2021-04-11 21:30:21 -04:00
README.md Add cargo-watch, demonstrating addition of build tools 2021-04-11 21:30:21 -04:00
shell.nix fmt 2021-04-06 23:42:49 -04:00

A template Rust project with fully functional and no-frills Nix support, as well as builtin VSCode configuration to get IDE support without doing anything (open in VSCode and accept the suggestions).

See Nix-ifying Rust projects for details.

Adapting this template

  • Change name in Cargo.toml and flake.nix. Also change description in flake.nix.
  • 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, but compat is provided for traditional nix-shell/nix-build as well (see the section below).

# Dev shell
nix develop

# or just run directly
nix run

# or run via cargo
nix develop -c cargo run

# build
nix build

Development (Legacy Nix)

# Dev shell
nix-shell

# run via cargo
nix-shell --run 'cargo run'

# build
nix-build