#Emacs with elixir-mode under #NixOS and elixir-ls (which Emacs offered to download itself at some point) works perfectly for me.
(use-package elixir-mode
:ensure t
:bind
(:map elixir-mode-map
("M-." . lsp-find-definition)
("M-," . xref-pop-marker-stack)
("C-M-," . (lambda ()
(interactive)
(kill-current-buffer)
(xref-pop-marker-stack)))
("
("
(lsp-describe-thing-at-point)
(next-window-any-frame))))
:config
(add-hook 'elixir-mode-hook 'lsp-deferred)
(add-hook 'lsp-mode-hook 'lsp-ui-mode)
(add-to-list 'auto-mode-alist '("\\.ex\\'" . elixir-mode))
(add-to-list 'auto-mode-alist '("\\.exs\\'" . elixir-mode))
)
