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", } } }, -- 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 = false, branch = "main", build = ':TSUpdate', }, { "xiyaowong/transparent.nvim", lazy = false, priority = 1000, config = function() require("transparent").setup({ exclude = {}, }) end, }, { '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", 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-opus-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 }, }