osbm-nvim/plugins/default.nix
2025-02-16 02:42:03 +03:00

76 lines
1.9 KiB
Nix

{ self, lib, pkgs, ... }:
{
imports = [ ./mini.nix ];
plugins = {
treesitter = {
enable = true;
# folding = true; # i dont like the way it starts neovim with everything folded
};
todo-comments.enable = true;
lsp = {
servers = {
nixd = {
enable = true;
settings = let flake = ''(builtins.getFlake "${self}")'';
in {
nixpkgs.expr = "import ${flake}.inputs.nixpkgs { }";
formatting = {
command = [ "${lib.getExe pkgs.nixfmt-rfc-style}" ];
};
};
};
typos_lsp = {
enable = true;
extraOptions = { init_options = { diagnosticSeverity = "Hint"; }; };
};
pylsp = {
enable = true;
settings = {
configurationSources = [ "flake8" ];
plugins = {
pycodestyle = {
enabled = true;
maxLineLength = 120;
};
flake8 = {
enabled = true;
maxLineLength = 120;
};
};
};
};
astro = { enable = true; };
arduino_language_server = { enable = true; };
bashls = { enable = true; };
clangd = { enable = true; };
dartls = { enable = true; };
lua_ls = { enable = true; };
mdx_analyzer = { enable = true; };
fish_lsp = { enable = true; };
docker_compose_language_service = { enable = true; };
dockerls = { enable = true; };
marksman = { enable = true; };
};
};
lualine = { enable = true; };
cmp = {
# TODO read what this does
# basically, it's a completion plugin
enable = true;
autoEnableSources = true;
};
oil.enable = true; # shell scripting
#telescope
telescope = { enable = true; };
web-devicons.enable = true; # be concious of this choice
};
}