90 lines
2.2 KiB
Nix
90 lines
2.2 KiB
Nix
{ ... }:
|
|
{
|
|
programs.nixvim = {
|
|
plugins = {
|
|
|
|
hmts.enable = true;
|
|
|
|
lsp-lines = { enable = true; };
|
|
lsp-format = { enable = true; };
|
|
lsp = {
|
|
enable = true;
|
|
inlayHints = true;
|
|
servers = {
|
|
clangd = { enable = true; };
|
|
html = { enable = true; };
|
|
lua_ls = { enable = true; };
|
|
nixd = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
formatting.command = [ "nixpkgs-fmt" ];
|
|
nixpkgs.expr = "import <nixpkgs> {}";
|
|
};
|
|
};
|
|
pyright = { enable = true; };
|
|
gopls = { enable = true; };
|
|
jsonls = { enable = true; };
|
|
rust_analyzer = {
|
|
enable = true;
|
|
installCargo = true;
|
|
installRustc = true;
|
|
};
|
|
yamlls = { enable = true; };
|
|
};
|
|
|
|
keymaps = {
|
|
silent = true;
|
|
lspBuf = {
|
|
gd = {
|
|
action = "definition";
|
|
desc = "Goto Definition";
|
|
};
|
|
gr = {
|
|
action = "references";
|
|
desc = "Goto References";
|
|
};
|
|
gD = {
|
|
action = "declaration";
|
|
desc = "Goto Declaration";
|
|
};
|
|
gI = {
|
|
action = "implementation";
|
|
desc = "Goto Implementation";
|
|
};
|
|
gT = {
|
|
action = "type_definition";
|
|
desc = "Type Definition";
|
|
};
|
|
K = {
|
|
action = "hover";
|
|
desc = "Hover";
|
|
};
|
|
"<leader>cw" = {
|
|
action = "workspace_symbol";
|
|
desc = "Workspace Symbol";
|
|
};
|
|
"<leader>cr" = {
|
|
action = "rename";
|
|
desc = "Rename";
|
|
};
|
|
};
|
|
diagnostic = {
|
|
"<leader>cd" = {
|
|
action = "open_float";
|
|
desc = "Line Diagnostics";
|
|
};
|
|
"[d" = {
|
|
action = "goto_next";
|
|
desc = "Next Diagnostic";
|
|
};
|
|
"]d" = {
|
|
action = "goto_prev";
|
|
desc = "Previous Diagnostic";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|