-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
# Language specific tools are not configured in this file because
# these tools are project specific. Each project should have Flake
# file (provided by the project or manually created by a user).
{
config,
pkgs,
...
}: {
programs = {
neovim = {
plugins = with pkgs.vimPlugins; [
{
plugin = nvim-lspconfig;
type = "lua";
config = ''
-- Based on https://github.com/neovim/nvim-lspconfig#suggested-configuration
local lspconfig = require("lspconfig")
-- Elm
lspconfig.elmls.setup {}
-- TypeScript
lspconfig.tsserver.setup {}
-- Deno
lspconfig.denols.setup {}
-- CSS
lspconfig.cssls.setup {}
-- HTML
lspconfig.html.setup {}
-- LSP key mappings
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
local opts = { buffer = ev.buf }
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
end,
})
'';
}
];
};
};
}