rust-nix-template/README.md
2023-07-23 09:54:27 -04:00

1.2 KiB

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

There are also mission-control shell commands provided in the devShell.