Skip to main content

Rust

The easiest way to manage Rust with Devbox is to install rustup, and then configure the channel you wish to install via Devbox's init_hook. You can also use the init_hook to configure rustup to install the Rust toolchain locally.

Example Repo

Open In Devbox.sh

{
"packages": [
"rustup@latest",
"libiconv@latest"
],
"shell": {
"init_hook": [
"projectDir=$(dirname $(readlink -f \"$0\"))",
"rustupHomeDir=\"$projectDir\"/.rustup",
"mkdir -p $rustupHomeDir",
"export RUSTUP_HOME=$rustupHomeDir",
"export LIBRARY_PATH=$LIBRARY_PATH:\"$projectDir/nix/profile/default/lib\"",
"rustup default stable",
"cargo fetch"
],
"scripts": {
"test": "cargo test -- --show-output",
"start" : "cargo run",
"build-docs": "cargo doc"
}
}
}

To pin a specific version of Rust with Rustup, you can add a rust-toolchain.toml and check it into source control.