Helix + ElixirLS Issues: 'elixir-ls' not found in $PATH

Hey. I’m having some issues getting elixir-ls to work properly with my installation of the Helix editor. I’ve been out of the game for a while, and coming back after a long programming hiatus, so please forgive me if my issue turns out to be trivial.

Since I travel constantly, my dev machine is currently running SteamOS 3.7. All of my tooling is installed via brew.

I’m having an issue getting Helix to recognize the ElixirLS:

(deck@steamdeck ~)$ type elixir-ls
elixir-ls is /home/linuxbrew/.linuxbrew/bin/elixir-ls
(deck@steamdeck ~)$ echo $PATH
/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/home/deck/.local/share/flatpak/exports/bin:/var/lib/flatpak/exports/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
(deck@steamdeck ~)$ hx --health elixir
F: Not sharing "/esp" with sandbox: Ignoring blocking autofs path "/esp"
Configured language servers:
  ✘ elixir-ls: 'elixir-ls' not found in $PATH
...

As you can see, elixir-ls should be in my PATH, but Helix is complaining it can’t find it. For what it’s worth, I also have a ~/.config/helix/languages.toml set up properly, I believe:

[[language]]
name = "elixir"
scope = "source.elixir"
file-types = ["ex", "exs", "html.heex"]
roots = ["mix.exs"]
auto-format = true
diagnostic-severity = "Hint"
comment-token = "#"
indent = {tab-width = 2, unit = " "}
language-server = {command = "elixir-ls"}

Can anyone help me with this issue? I’m at a bit of an impasse.

Thanks!
Brandon

Solved

It turned out to be something really silly. I’d forgotten I installed Helix using flatpack; I am not very experienced with flatpack, but I think it had something to do with its sandboxing behavior.

Anyway, I uninstalled and reinstalled using brew and now ElixirLS is working wonderfully in Helix.

As an aside, you should really give Helix a try, it’s a great editor.

2 Likes