66 lines
1.4 KiB
Nix
66 lines
1.4 KiB
Nix
{ ... }: {
|
|
plugins = {
|
|
lsp-signature.enable = true;
|
|
lsp-status.enable = true;
|
|
lsp = {
|
|
enable = true;
|
|
servers = {
|
|
# For Python
|
|
pylsp.enable = true;
|
|
#pylyzer.enable = true;
|
|
#ruff.enable = true;
|
|
#ruff_lsp.enable = true;
|
|
|
|
rust_analyzer = {
|
|
enable = true;
|
|
installCargo = false;
|
|
installRustc = false;
|
|
};
|
|
# For CXX
|
|
clangd.enable = true;
|
|
|
|
# Misc
|
|
bashls.enable = true;
|
|
fsautocomplete.enable = true;
|
|
gopls.enable = true;
|
|
|
|
#nushell.enable = true;
|
|
|
|
# For Nix
|
|
#nil_ls.enable = true;
|
|
nixd = {
|
|
enable = true;
|
|
extraOptions = {
|
|
home-manager = {
|
|
expr = ''
|
|
(builtins.getFlake "/home/stvnliu/nix-conf/").homeConfigurations."stvnliu@nixos-msi".options'';
|
|
};
|
|
};
|
|
};
|
|
|
|
# Haskell
|
|
hls = {
|
|
enable = true;
|
|
installGhc = false;
|
|
};
|
|
|
|
# For TypeScript
|
|
ts_ls.enable = true;
|
|
};
|
|
keymaps.lspBuf = {
|
|
"gd" = "definition";
|
|
"gD" = "references";
|
|
"gt" = "type_definition";
|
|
"gi" = "implementation";
|
|
"K" = "hover";
|
|
};
|
|
};
|
|
#lsp-lines.enable = true;
|
|
|
|
#rustaceanvim = {
|
|
# enable = true;
|
|
# # rust-tools.enable = true;
|
|
#};
|
|
};
|
|
diagnostics.virtual_lines.only_current_line = true;
|
|
}
|