← All Workshops

MudEngine Part 4: Single-Player Dioxus GUI

Step 4 / 10

Dev tools with mise

In Part 1 we installed mise — a version manager for development tools. Now let us add a mise.toml to the mud-engine project. This file declares which tool versions the project needs, so anyone cloning it gets the same environment by running a single command.

Create mise.toml in the project root (mud-engine/mise.toml):

mud-engine/mise.toml
[tools]
# Rust toolchain — edition 2024 requires 1.85+
rust = "latest"

# Dioxus CLI — version tracks the dioxus dependency in Cargo.toml
"cargo:dioxus-cli" = "0.7"

[tasks]
# ── Dioxus ──
serve = { description = "Start the dev server", run = "dx serve" }
build = { description = "Build for production", run = "dx build" }
clean = { description = "Clean artifacts", run = "dx clean" }

# ── Rust ──
check = { description = "Type-check", run = "cargo check" }
test = { description = "Run tests", run = "cargo test" }
lint = { description = "Run clippy", run = "cargo clippy -- -D warnings" }
fmt = { description = "Format code", run = "cargo fmt" }
🔍 What each entry does
EntryPurpose
rust = "latest"Installs the latest stable Rust via rustup (managed by mise)
cargo:dioxus-cli = "0.7"Installs the dx CLI via cargo install dioxus-cli at the latest 0.7.x
[tasks]Project-specific commands you run with mise run <task> — e.g. mise run serve instead of typing dx serve

The cargo: prefix tells mise to install a binary via cargo install. Mise handles the download, compilation, and version pinning so every contributor uses the same dx version.

⚡ Install all tools

After saving the file, run this in the project root:

mise install

Mise will install Rust (if missing) and compile the dx CLI. Now instead of remembering every tool install command, you just run mise install once per project.

You can verify the active tools with mise ls or just use dx serve as normal — mise automatically puts the right versions on your PATH.

Step 4 / 10