{ 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; }; 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 = { "" = [ "accept" "fallback" ]; "" = [ "select_next" "snippet_forward" "fallback" ]; "" = [ "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" "" ]; }; 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"; } ]; }; }; }; }