Support custom profiles to always install certain components
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 22h 40m
- Merged PRs (30d)
- 46
Description
Problem you are trying to solve
I always want the rust-analyzer component installed when working with Rust. I work across a number of rust projects that periodically update their toolchains. Each time this happens, I have to manually run rustup component add rust-analyzer for that new toolchain. I often forget, and am briefly confused when I open an editor and don't get any LSP features.
It seems that right now my only option is to set my default profile to complete, which has many components I don't need, and the docs reccommend against it.
Solution you'd like
I'd like the ability to define a custom profile. It should include a "base" profile (e.g. default) and a list of additional components (e.g. rust-analyzer) to include in that profile.
Ideally this would go in a config file, but based on the docs there is no public config file, so I guess a CLI command like rustup profile [add|remove] would work?
Notes
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the rustup configuration documentation linked in the issue and investigate how the existing default and complete profiles are represented and selected. Define how a custom profile would persist its base profile and additional components, then verify that a component such as rust-analyzer is installed when toolchains update.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100