__ __
____ ___ __ _____ / /___ _____ ____/ /
/ __ \/ _ \/ / / / _ \/ / __ `/ __ \/ __ /
/ / / / __/ /_/ / __/ / /_/ / / / / /_/ /
/_/ /_/\___/\__,_/\___/ /\__,_/_/ /_/\__,_/
out of foppery /_/ and whim
What is this and why should I care?
It's a shell written in Rust.
Sounds dumb, how do I use it?
Building with the default toolchain and target is simple:
cargo build
You can also use musl instead of glibc. If this is not your default toolchain, you can use rustup to install that target:
rustup target add x86_64-unknown-linux-musl
cargo build --target x86_64-unknown-linux-musl
Release builds look like:
cargo build --release --locked --all-features --target-dir=target
where: - --release tells cargo to compile a release build - --locked tells cargo to adhere the Cargo.lock file and prevent it from updating dependencies which is important for reproducible builds. - --all-features tells cargo to compile with all features of the package enabled. Alternatively, use --features FEATURE1,FEATURE2 if you want enable only selected features. - --target-dir=target tells cargo to put the target directory in the current directory.