Declarative alternative to cargo install

I create declarative development environments for Rust projects with a flake based around the oxalica rust overlay.

Recently I’ve come across a number of packages/frameworks in the rust ecosystem which come with extra tooling that they suggest be provided with cargo install. How should I go about managing such tools in a declarative way?

For example, the Dioxus Getting Started guide suggests

  1. cargo install dioxus-cli@0.5.0-alpha.0
  2. rustup target add wasm32-unknown-unknown
  3. cargo add dioxus@0.5.0-alpha.0 --features web

No. 2 can be provided declaratively by including it in the targets in the oxalica overlay, while no. 3 is just a convenient front-end for adding a declaration to Cargo.toml. But what would be a declarative way of achieving no. 1?

(In the case, of dioxus-cli, it is present in nixpkgs, but only in an older version.)