Overview of Crane features
masterCrane is a Nix library designed for building Cargo (Rust) projects. It provides several key capabilities for Nix-based Rust development:
- Automatic Source Fetching: Uses your
Cargo.lockfile to automatically fetch dependencies. - Incremental Builds: Builds workspace dependencies once and reuses artifacts, allowing for fast linting, building, and testing of local changes.
- Automatic Vendoring: Handles dependency vendoring in a Nix-compatible way. It supports Git dependencies out-of-the-box and can be configured to support alternative cargo registries.
- Tool Support: Provides built-in support for various Rust and web tools, including:
clippy(linting)rustfmt(formatting)cargo-doc(documentation generation)cargo-audit(security auditing)cargo-deny(dependency analysis)cargo-llvm-cov(coverage)cargo-nextest(test runner)cargo-tarpaulin(coverage)trunk(WASM web development)