267 lines
4.7 KiB
Nix
267 lines
4.7 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
plugins = {
|
|
lsp = {
|
|
enable = true;
|
|
servers = {
|
|
basedpyright.enable = true;
|
|
asm_lsp.enable = true;
|
|
gopls.enable = true;
|
|
java_language_server.enable = true;
|
|
rust_analyzer = {
|
|
enable = true;
|
|
installRustc = true;
|
|
installCargo = true;
|
|
};
|
|
nil_ls.enable = true;
|
|
marksman.enable = true;
|
|
clangd = {
|
|
enable = true;
|
|
};
|
|
astro.enable = true;
|
|
};
|
|
};
|
|
|
|
grug-far = {
|
|
enable = true;
|
|
settings = {
|
|
debounceMs = 1000;
|
|
engine = "ripgrep";
|
|
engines = {
|
|
ripgrep = {
|
|
path = "rg";
|
|
showReplaceDiff = true;
|
|
};
|
|
};
|
|
maxSearchMatches = 2000;
|
|
maxWorkers = 8;
|
|
minSearchChars = 1;
|
|
normalModeSearch = false;
|
|
};
|
|
};
|
|
|
|
conform-nvim = {
|
|
enable = true;
|
|
settings = {
|
|
notify_no_formatters = true;
|
|
formatters_by_ft = {
|
|
rust = [ "rustfmt" ];
|
|
lua = [ "stylua" ];
|
|
python = [
|
|
"autoflake"
|
|
"autopep8"
|
|
"ruff_fix"
|
|
"ruff_organize_imports"
|
|
"ruff_format"
|
|
];
|
|
javascript = {
|
|
__unkeyed-1 = "prettierd";
|
|
__unkeyed-2 = "prettier";
|
|
stop_after_first = true;
|
|
};
|
|
nix = {
|
|
__unkeyed-1 = "alejandra";
|
|
__unkeyed-2 = "nixfmt";
|
|
stop_after_first = true;
|
|
};
|
|
markdown = [ "markdownlint-cli2" ];
|
|
};
|
|
};
|
|
};
|
|
|
|
markdown-preview = {
|
|
enable = true;
|
|
};
|
|
|
|
blink-ripgrep.enable = true;
|
|
|
|
blink-cmp = {
|
|
enable = true;
|
|
setupLspCapabilities = true;
|
|
settings = {
|
|
|
|
keymap = {
|
|
"<CR>" = [
|
|
"accept"
|
|
"fallback"
|
|
];
|
|
"<Tab>" = [
|
|
"select_next"
|
|
"snippet_forward"
|
|
"fallback"
|
|
];
|
|
"<S-Tab>" = [
|
|
"select_prev"
|
|
"snippet_backward"
|
|
"fallback"
|
|
];
|
|
};
|
|
|
|
signature = {
|
|
enabled = true;
|
|
window = {
|
|
border = "rounded";
|
|
};
|
|
};
|
|
|
|
sources = {
|
|
default = [
|
|
"buffer"
|
|
"lsp"
|
|
"path"
|
|
"snippets"
|
|
"ripgrep"
|
|
];
|
|
providers = {
|
|
lsp.score_offset = 4;
|
|
ripgrep = {
|
|
name = "ripgrep";
|
|
module = "blink-ripgrep";
|
|
score_offset = 1;
|
|
};
|
|
};
|
|
};
|
|
|
|
};
|
|
};
|
|
|
|
barbar.enable = true;
|
|
gitsigns.enable = true;
|
|
|
|
comment = {
|
|
enable = true;
|
|
};
|
|
|
|
treesitter = {
|
|
enable = true;
|
|
folding = true;
|
|
grammarPackages = pkgs.vimPlugins.nvim-treesitter.passthru.allGrammars;
|
|
|
|
settings = {
|
|
auto_install = true;
|
|
};
|
|
};
|
|
|
|
web-devicons = {
|
|
enable = true;
|
|
};
|
|
|
|
emmet = {
|
|
enable = true;
|
|
};
|
|
|
|
cord = {
|
|
enable = true;
|
|
};
|
|
|
|
chadtree = {
|
|
enable = true;
|
|
view.openDirection = "right";
|
|
keymap.openFileFolder.primary = [
|
|
"l"
|
|
"<enter>"
|
|
];
|
|
};
|
|
|
|
fzf-lua = {
|
|
enable = true;
|
|
};
|
|
|
|
notify = {
|
|
enable = true;
|
|
};
|
|
|
|
lualine = {
|
|
enable = true;
|
|
settings.options.theme = "ayu_light";
|
|
};
|
|
|
|
neotest = {
|
|
enable = true;
|
|
adapters = {
|
|
bash.enable = true;
|
|
rust.enable = true;
|
|
python.enable = true;
|
|
java.enable = true;
|
|
vitest.enable = true;
|
|
go.enable = true;
|
|
};
|
|
};
|
|
|
|
lsp-lines.enable = true;
|
|
|
|
which-key = {
|
|
enable = true;
|
|
};
|
|
|
|
lazygit.enable = true;
|
|
mini.enable = true;
|
|
mini-pairs.enable = true;
|
|
alpha = {
|
|
enable = true;
|
|
theme = "startify";
|
|
};
|
|
|
|
dap = {
|
|
enable = true;
|
|
adapters = {
|
|
executables = {
|
|
on_config = { };
|
|
};
|
|
servers = { };
|
|
};
|
|
};
|
|
|
|
dap-ui = {
|
|
enable = true;
|
|
};
|
|
|
|
dap-python = {
|
|
enable = true;
|
|
};
|
|
|
|
toggleterm = {
|
|
enable = true;
|
|
};
|
|
trouble = {
|
|
enable = true;
|
|
settings = {
|
|
auto_jump = true;
|
|
auto_refresh = true;
|
|
};
|
|
};
|
|
todo-comments = {
|
|
enable = true;
|
|
};
|
|
zen-mode = {
|
|
enable = true;
|
|
};
|
|
|
|
indent-blankline.enable = true;
|
|
neorg = {
|
|
enable = true;
|
|
};
|
|
|
|
obsidian = {
|
|
enable = true;
|
|
settings = {
|
|
completion = {
|
|
min_chars = 2;
|
|
blink = true;
|
|
};
|
|
new_notes_location = "current_dir";
|
|
workspaces = [
|
|
{
|
|
name = "notes";
|
|
path = "~/Documents/Notes";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|