rust-nix-template/README.md

40 lines
1 KiB
Markdown
Raw Normal View History

2021-04-10 18:10:57 +02: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).
2021-04-10 18:12:49 +02:00
See [Nix-ifying Rust projects](https://notes.srid.ca/rust-nix) for details.
2021-04-10 18:10:57 +02:00
## Adapting this template
2021-04-10 18:17:27 +02:00
- 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.
2021-04-10 18:10:57 +02:00
## Development (Flakes)
This repo uses [Flakes](https://nixos.wiki/wiki/Flakes) from the get-go, but compat is provided for traditional nix-shell/nix-build as well (see the section below).
2021-04-07 00:24:07 +02:00
```bash
2021-04-10 18:10:57 +02:00
# Dev shell
2021-04-07 00:24:07 +02:00
nix develop
# or just run directly
2021-04-10 18:10:57 +02:00
nix run
# or run via cargo
2021-04-07 00:24:07 +02:00
nix develop -c cargo run
2021-04-10 18:10:57 +02:00
# build
nix build
```
## Development (Legacy Nix)
```bash
2021-04-10 18:10:57 +02:00
# Dev shell
nix-shell
# run via cargo
nix-shell --run 'cargo run'
# build
nix-build
```