diff --git a/jrpotter/neovim/default.nix b/jrpotter/neovim/default.nix index f11eea6..9d7b167 100644 --- a/jrpotter/neovim/default.nix +++ b/jrpotter/neovim/default.nix @@ -32,6 +32,7 @@ let plugin = (pkgs.vimPlugins.nvim-treesitter.withPlugins ( ps: with ps; [ bash + elixir lua nix python @@ -68,6 +69,7 @@ in imports = [ ./lang/bash.nix + ./lang/elixir.nix ./lang/lean.nix ./lang/lua.nix ./lang/nix.nix diff --git a/jrpotter/neovim/lang/elixir.nix b/jrpotter/neovim/lang/elixir.nix new file mode 100644 index 0000000..923113f --- /dev/null +++ b/jrpotter/neovim/lang/elixir.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: +{ + programs.neovim = { + nvim-lspconfig = '' + require('init.lsp').setup(require('lspconfig').elixirls) { + -- Keep command relative. Compatibility of `elixir-ls` depends tightly + -- on -- the version of elixir being used so this allows local (i.e. + -- within nix shells) versions of `elixir-ls` to override the version + -- specified -- in `extraPackages`. + cmd = { 'elixir-ls' }, + } + ''; + + extraPackages = with pkgs; [ + elixir-ls + ]; + }; +}