Open shanesveller opened 2 years ago
Alternatives considered:
.riff.toml
or another project-local file that Riff consumes, would offer much of the same technical capability for projects that don't want to track Nixpkgs' blessed toolchain, but with fewer of the on-ramp benefits IMO. The lion's share of implementation complexity is probably not in this part of the decision, in any case, but in procuring the correct toolchain binaries once the target version is identified.I think this should be partially fixed by https://github.com/DeterminateSystems/riff/pull/171. I say "partially", because we still rely on the user having installed Rust via rustup
(or having rustup
installed). However, this way we don't need to deal with parsing and using the potentially-complex rust-toolchain.toml
file ourselves -- rustup
handles that.
Please take a look at that PR and let me know what you think! (There are instructions for how to use it in the PR body, since it's not immediately obvious.)
Upstream reference: https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file
There's two forms I've seen in the wild, a simple string like
stable
or1.64.0
or a TOML file that could optionally indicate what compilationtarget
orcomponents
were required, as well as what version. Per upstream the former is considered legacy/deprecated.From my POV, this would both:
Known complications:
I myself am not a nightly user but I imagine this support would be attractive to such projects as well.