81 lines
2 KiB
Nix
81 lines
2 KiB
Nix
{ ... }: {
|
|
imports = [ ./nixvim-base.nix ];
|
|
|
|
programs.nixvim = {
|
|
plugins = {
|
|
lsp = {
|
|
enable = true;
|
|
servers = {
|
|
rust-analyzer = {
|
|
enable = true;
|
|
installCargo = true;
|
|
installRustc = true;
|
|
};
|
|
pylsp = {
|
|
enable = true;
|
|
autostart = true;
|
|
installLanguageServer = true;
|
|
settings = {
|
|
plugins = {
|
|
black = {
|
|
enabled = true;
|
|
preview = true;
|
|
};
|
|
jedi_completion = {
|
|
enabled = true;
|
|
fuzzy = true;
|
|
};
|
|
pylint.enabled = true;
|
|
pylsp_mypy.enabled = true;
|
|
};
|
|
};
|
|
};
|
|
nil_ls.enable = true;
|
|
html.enable = true;
|
|
cssls.enable = true;
|
|
bashls.enable = true;
|
|
};
|
|
keymaps = {
|
|
silent = true;
|
|
diagnostic = {
|
|
"<leader>lk" = {
|
|
action = "goto_prev";
|
|
desc = "Go to prev";
|
|
};
|
|
"<leader>lj" = {
|
|
action = "goto_next";
|
|
desc = "Go to next";
|
|
};
|
|
};
|
|
|
|
lspBuf = {
|
|
K = {
|
|
action = "hover";
|
|
desc = "Hover";
|
|
};
|
|
"<leader>lr" = {
|
|
action = "references";
|
|
desc = "LSP [r]eferences";
|
|
};
|
|
"<leader>ld" = {
|
|
action = "definition";
|
|
desc = "LSP [d]efinitions";
|
|
};
|
|
"<leader>li" = {
|
|
action = "implementation";
|
|
desc = "LSP [i]implementations";
|
|
};
|
|
"<leader>lt" = {
|
|
action = "type_definition";
|
|
desc = "LSP [t]ype definitions";
|
|
};
|
|
"<leader>la" = {
|
|
action = "code_action";
|
|
desc = "LSP Code [A]ctions";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|