I think I figured this out.
cd /media/user/1234
mkdir rust
wget https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init > rustup-init
chmod +x rustup-init.1
CARGO_HOME=$PWD/rust/.cargo RUSTUP_HOME=$PWD/rust/.rustup ./rustup-init.1 --profile minimal --default-toolchain nightly
. "/media/user/1234/rust/.cargo/env"
CARGO_HOME=$PWD/rust/.cargo RUSTUP_HOME=$PWD/rust/.rustup cargo --version
cargo 1.85.0-nightly (c86f4b3a1 2024-12-24)
CARGO_HOME=$PWD/rust/.cargo RUSTUP_HOME=$PWD/rust/.rustup cargo init --bin runjs
cd runjs
CARGO_HOME=../rust/.cargo RUSTUP_HOME=../rust/.rustup cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.59s
Running `target/debug/runjs`
Hello, world!
CARGO_HOME=../rust/.cargo RUSTUP_HOME=../rust/.rustup cargo add deno_core
Updating crates.io index
Adding deno_core v0.327.0 to dependencies
CARGO_HOME=../rust/.cargo RUSTUP_HOME=../rust/.rustup cargo add tokio --features=full
Updating crates.io index
Adding tokio v1.42.0 to dependencies
CARGO_HOME=../rust/.cargo RUSTUP_HOME=../rust/.rustup cargo run
Compiling runjs v0.1.0 (/media/user/1234/runjs)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 22m 09s
Running `target/debug/runjs`
Hello, world!