42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
# Rust-monorepo. TODO: Change this to your monorepo name
|
|
|
|
## About this template
|
|
|
|
[![built with nix](https://builtwithnix.org/badge.svg)](https://builtwithnix.org)
|
|
|
|
- Bootstrapped with [pegasust/dotfiles](https://git.pegasust.com/pegasust/dotfiles)
|
|
|
|
- Uses [naersk](https://github.com/nix-community/naersk.git) to build package(s)
|
|
|
|
- Provides [devShell (`nix develop`)](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-develop.html),
|
|
[shell.nix (`nix-shell -p ./`)](https://nixos.org/manual/nix/stable/command-ref/nix-shell.html)
|
|
for development environment. It contains:
|
|
- The default `devShell` provides Nightly rustc via
|
|
[`gh:oxalica/rust-overlay`](https://github.com/oxalica/rust-overlay.git)
|
|
- [rustc components](https://rust-lang.github.io/rustup/concepts/components.html) includes
|
|
`rust-src`, [`rust-analyzer`](https://github.com/rust-lang/rust-analyzer.git),
|
|
`clippy`, `miri`
|
|
- [`evcxr`: Rust REPL]() and [`bacon`: Rust nodemon]()
|
|
|
|
## Check out these [killer libraries](https://jondot.medium.com/12-killer-rust-libraries-you-should-know-c60bab07624f)
|
|
### Application development
|
|
|
|
- [Serde](https://github.com/serde-rs/serde) for (de)serialization needs
|
|
- Data-driven programming in Rust starts with Serde
|
|
- Service system programming starts with defining your message protocols & data formats
|
|
|
|
- [Clap](https://docs.rs/clap/latest/clap/) declarative CLI arguments
|
|
- Data-driven CLI development in Rust starts with Clap
|
|
|
|
- [itertools](https://lib.rs/crates/itertools) for extra juice to iterators
|
|
|
|
- [log](https://lib.rs/crates/log) or [env-logger](https://docs.rs/env_logger/latest/env_logger)
|
|
for logging needs
|
|
|
|
### Library development
|
|
|
|
- [proptest](https://lib.rs/crates/proptest) for hypothesis testing
|
|
- Data-driven testing starts with proptest
|
|
|
|
|