return { -- LSP / Mason {"williamboman/mason-lspconfig.nvim", opts = {}}, {"WhoIsSethDaniel/mason-tool-installer.nvim"}, { "stevearc/conform.nvim", -- event = 'BufWritePre', -- uncomment for format on save opts = require "configs.conform" }, -- Misc { "vyfor/cord.nvim", opts = { display = { theme = "atom" } } }, { "nvim-tree/nvim-tree.lua", enabled = false }, -- Basic plugins {"nat-418/boole.nvim", lazy = false}, {"lambdalisue/suda.vim", lazy = false}, {"numToStr/Comment.nvim", lazy = true}, -- { "mg979/vim-visual-multi", lazy = false}, {"tpope/vim-fugitive", lazy = false}, {"stevearc/oil.nvim", lazy = false}, {"NeogitOrg/neogit", lazy = false}, -- { -- 'uZer/pywal16.nvim', -- -- for local dev replace with: -- -- dir = '~/your/path/pywal16.nvim', -- config = function() -- vim.cmd.colorscheme("pywal16") -- end, -- }, { "folke/persistence.nvim", event = "BufReadPre", config = true }, { "MeanderingProgrammer/render-markdown.nvim" }, { "karb94/neoscroll.nvim", lazy = true, opts = { hide_cursor = true, stop_eof = true, respect_scrolloff = true, cursor_scrolls_alone = true } }, { "folke/snacks.nvim", priority = 1000, lazy = false, opts = { bigfile = {enabled = true}, dashboard = {enabled = true}, explorer = { enabled = false, auto_close = true }, indent = {enabled = false}, input = {enabled = true}, picker = {enabled = true}, notifier = {enabled = true}, quickfile = {enabled = true}, scope = {enabled = true}, -- scroll = { enabled = true }, statuscolumn = {enabled = true}, words = {enabled = true} } }, { "nvim-treesitter/nvim-treesitter", lazy = true, branch = "main", build = ":TSUpdate" }, { "xiyaowong/transparent.nvim", lazy = false, priority = 1000, }, { "mfussenegger/nvim-dap", config = function() local dap, dapui = require("dap"), require("dapui") dap.listeners.before.attach.dapui_config = function() dapui.open() end dap.listeners.before.launch.dapui_config = function() dapui.open() end dap.listeners.before.event_terminated.dapui_config = function() dapui.close() end dap.listeners.before.event_exited.dapui_config = function() dapui.close() end end }, { "rcarriga/nvim-dap-ui", dependencies = {"mfussenegger/nvim-dap", "nvim-neotest/nvim-nio"}, config = function() require("dapui").setup() end }, -- AI { "zbirenbaum/copilot.lua", cmd = "Copilot", event = "InsertEnter", lazy = true, config = function() require("copilot").setup( { suggestion = { enabled = true, auto_trigger = true, keymap = { accept = "", dismiss = "" } }, filetypes = { python = true, javascript = true, typescript = true, lua = true, cpp = true, rust = true, ["*"] = false } } ) end }, { "jvune0/copilot-cmp", after = {"copilot.lua", "nvim-cmp"}, -- Ensure it loads after copilot and nvim-cmp config = function() require("copilot_cmp").setup() end }, { "CopilotC-Nvim/CopilotChat.nvim", branch = "main", dependencies = { {"zbirenbaum/copilot.lua"}, {"nvim-lua/plenary.nvim"} }, show_diff = { full_diff = true }, opts = { model = "claude-sonnet-4.6", context = "buffer", border = "rounded", show_help = false, window = { layout = "float", width = 0.6, height = 0.6 }, mappings = { submit_prompt = { insert = "" } } }, build = nil -- Disable the build step }, -- RUST { "mrcjkb/rustaceanvim", lazy = false, config = function() local extension_path = vim.fn.expand("$HOME/.local/share/nvim/mason/packages/codelldb/extension") local codelldb_path = extension_path .. "adapter/codelldb" local liblldb_path = extension_path .. "lldb/lib/liblldb.dylib" local cfg = require("rustaceanvim.config") vim.g.rustaceanvim = { dap = { adapter = cfg.get_codelldb_adapter(codelldb_path, liblldb_path) } } end }, { "rust-lang/rust.vim", ft = "rust", init = function() vim.g.rustfmt_autosave = 1 end }, { "saecki/crates.nvim", ft = {"toml"}, config = function() require("crates").setup {} require("cmp").setup.buffer( { sources = {{name = "crates"}} } ) end } }