nixos-configuration/modules/editors/nixvim/plugins/lsp.nix

76 lines
1.7 KiB
Nix
Executable file

{ ... }:
{
programs.nixvim.plugins.zig.enable = true;
programs.nixvim.plugins.lsp = {
enable = true;
servers = {
lua_ls.enable = true;
nil_ls = {
enable = true;
settings = {
formatting.command = [ "nixpkgs-fmt" ];
};
};
clangd = {
enable = true;
# package = null; # Install your own clang fucker # actually dont, its aids
cmd = [ "clangd" "--background-index" "--suggest-missing-includes" ];
};
# As much as i hate python, it is useful for CTF and quick scripts
pylsp = {
enable = true;
};
zls = {
enable = true;
};
ts_ls = {
enable = true;
};
rust_analyzer = {
enable = true;
package = null; # Install your own rust
cargoPackage = null; # Install your own rust
installCargo = false; # Install your own rust
rustcPackage = null; # Install your own rust
installRustc = false; # Install your own rust
};
# TODO: Create a flake.nix for texlabs so its not installed globally.
texlab = {
enable = true;
};
fsautocomplete = {
enable = false;
cmd = [ "fsautocomplete" "--adaptive-lsp-server-enabled" "--verbose" ];
filetypes = [ "fsharp" "fs" ];
package = null; # Fuck you too
# settings = {
# AutomaticWorkspaceInit = true;
#
# callback = {
# __raw = ''
# function()
# print("fsharp lsp")
# end
# '';
# };
# };
};
csharp_ls = {
enable = true;
# package = null; # Fuck c#, install it yourself if you need it
};
};
};
}