rust-lang / rust-lang/rustup

Support custom profiles to always install certain components

Open
#4,285 1 comment 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.