rustydocs
Concepts

Toolchains

Install, select, and proxy Rust toolchains through rusty env and PATH shims.

rusty inverts rustup: toolchain management lives in the same binary as package management. No separate rustup install.

Install and select

rusty env install stable
rusty env install nightly
rusty env use stable
rusty env list
rusty env show

env install accepts optional target triples as additional arguments. env uninstall <id> removes a toolchain directory under $RUSTY_HOME/toolchains/.

Resolve binaries

rusty env which rustc
rusty env which cargo

which prints the path to the program in the active toolchain.

PATH shims

After env use, $RUSTY_HOME/bin contains hardlinks to rusty itself. Invoking cargo or rustc through those shims dispatches to the active toolchain:

export PATH="${RUSTY_HOME:-$HOME/.rusty}/bin:$PATH"
cargo build
rustc -vV

Overrides

MechanismExample
+toolchain suffixcargo +nightly build
RUSTY_TOOLCHAIN envRUSTY_TOOLCHAIN=stable rustc -vV
rusty proxyrusty proxy cargo build (explicit dispatch)

Bootstrap layout

env show ensures the rusty home layout exists:

~/.rusty/
├── bin/           # shims (cargo, rustc, rusty-wrapper, …)
├── cache/         # artifact cache
├── store/         # content-addressable blobs
└── toolchains/    # installed compiler trees

Override the root with RUSTY_HOME when running on shared builders or in containers.

Relationship to builds

rusty build, test, and cargo passthrough all expect a toolchain on PATH or a successful env use. If cargo is missing, rusty prints:

rusty: 'cargo' was not found on PATH
       install a toolchain with `rusty env install stable`.

On this page