|
||
---|---|---|
.forgejo/default_merge_message | ||
.woodpecker | ||
src | ||
.envrc.recommended | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
flake.lock | ||
flake.nix | ||
justfile | ||
README.adoc |
My Rust Project
Template features
-
CI template for Woodpecker.
-
Forgejo commit message templates.
-
Linting and formatting.
-
Nix-centered development environment.
-
Include language servers and all tooling in Nix dev shell.
Rust Opinions
-
rust-overlay to manage rust version.
-
nextest for running tests.
-
mold for faster linking.
-
rustfmt for code formatting.
-
clippy for linting.
Dev tools by default
-
direnv for automatic dev shell activation.
-
Bacon - automatic and minimal interaction code checker.
-
cargo-machete for removing unused dependencies.
-
hyperfine for simple benchmarking.
-
just for running things and discovery.
-
watchexec (and cargo-watch) for watching files and running commands.
Nix opinions
-
Crane for incremental artifact builds and nice set of checks.
-
Advisory-db for automatic checking of vulnerabilities of dependencies.
-
nix-filter allows filtering out files from the source input for a project.
-
treefmt supports automatic code formatting of all kinds of source code.