Skip to content

Commit 04850a1

Browse files
committed
Auto merge of rust-lang#14049 - lnicola:flatpak, r=lnicola
internal: Add a manual section for Flatpak Fixes rust-lang#14042
2 parents eeceba7 + f112d3f commit 04850a1

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

docs/user/manual.adoc

+21
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,27 @@ The `rust-analyzer` binary can be installed via https://brew.sh/[Homebrew].
232232
$ brew install rust-analyzer
233233
----
234234

235+
=== VS Code or VSCodium in Flatpak
236+
237+
Setting up `rust-analyzer` with a Flatpak version of Code is not trivial because of the Flatpak sandbox.
238+
While the sandbox can be disabled for some directories, `/usr/bin` will always be mounted under `/run/host/usr/bin`.
239+
This prevents access to the system's C compiler, a system-wide installation of Rust, or any other libraries you might want to link to.
240+
Some compilers and libraries can be acquired as Flatpak SDKs, such as `org.freedesktop.Sdk.Extension.rust-stable` or `org.freedesktop.Sdk.Extension.llvm15`.
241+
242+
If you use a Flatpak SDK for Rust, there should be no extra steps necessary.
243+
244+
If you want to use Flatpak in combination with `rustup`, the following steps might help:
245+
246+
- both Rust and `rustup` have to be installed using https://rustup.rs. Distro packages _will not_ work.
247+
- you need to launch Code, open a terminal and run `echo $PATH`
248+
- using https://flathub.org/apps/details/com.github.tchx84.Flatseal[Flatseal], you must add an environment variable called `PATH`.
249+
Set its value to the output from above, appending `:~/.cargo/bin`, where `~` is the path to your home directory.
250+
You must replace `~`, as it won't be expanded otherwise.
251+
- while Flatseal is open, you must enable access to "All user files"
252+
253+
A C compiler should already be available via `org.freedesktop.Sdk`.
254+
Any other tools or libraries you will need to acquire from Flatpak.
255+
235256
=== Emacs
236257

237258
Prerequisites: You have installed the <<rust-analyzer-language-server-binary,`rust-analyzer` binary>>.

0 commit comments

Comments
 (0)