__ __ ____ ___ __ _____ / /___ _____ ____/ / / __ \/ _ \/ / / / _ \/ / __ `/ __ \/ __ / / / / / __/ /_/ / __/ / /_/ / / / / /_/ / /_/ /_/\___/\__,_/\___/ /\__,_/_/ /_/\__,_/ 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: ```sh 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: ```sh rustup target add x86_64-unknown-linux-musl cargo build --target x86_64-unknown-linux-musl ``` Release builds look like: ```sh 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. ### It doesn't work, what now?