Desktop environments have a *lot* of dependencies. In the case of Gnome 3 (and 2) and KDE 3.5+, this is far too much but even in the case of Xfce 4, LXDE, etc this is still a fair chunk. Traditionally this is handled by the Linux/UNIX package manager and it kind of works in a satisfactory manner (though many prefer a simpler Window Manager to avoid this "inelegance").
What remains to be seen is how Rust handles this. You will generally need the same C or C++ dependencies as all other desktop environments (because C pretty much *is* the computing platform today) but you will also need many, many additional Rust bindings around them. Not only does Rust tend to drag in a little *too* many dependencies, but these will also be from crates.io, an external package manager. I feel this is going to be a little bit too fragile for good release engineering.