return { { 'catppuccin/nvim', name = 'catppuccin', priority = 1000, config = function() require('catppuccin').setup({ flavour = 'mocha', transparent_background = true, }); vim.cmd.colorscheme('catppuccin'); end, }, { 'nvim-lualine/lualine.nvim', opts = { options = { icons_enabled = false, theme = 'catppuccin', component_separators = '|', section_separators = '', }, }, }, { 'lukas-reineke/indent-blankline.nvim', main = 'ibl', opts = {}, }, { 'lewis6991/gitsigns.nvim', opts = { signs = { add = { text = '+' }, change = { text = '~' }, delete = { text = '+' }, topdelete = { text = '-' }, changedelete = { text = '~' }, }, on_attach = function(bufnr) vim.keymap.set('n', 'hp', require('gitsigns').preview_hunk, { buffer = bufnr, desc = 'Preview git hunk' }); local gs = package.loaded.gitsigns; vim.keymap.set({ 'n', 'v' }, ']c', function() if vim.wo.diff then return ']c'; end vim.schedule(function() gs.next_hunk() end); return ''; end, { expr = true, buffer = bufnr, desc = 'Jump to next hunk' }); vim.keymap.set({ 'n', 'v' }, '[c', function() if vim.wo.diff then return '[c'; end vim.schedule(function() gs.next_hunk() end); return ''; end, { expr = true, buffer = bufnr, desc = 'Jump to previous hunk' }); end, }, }, { 'nvim-treesitter/nvim-treesitter', dependencies = { 'nvim-treesitter/nvim-treesitter-textobjects', 'nvim-treesitter/playground', }, build = ':TSUpdate', }, { 'j-hui/fidget.nvim', }, { "williamboman/mason.nvim", }, { "williamboman/mason-lspconfig.nvim", }, { "neovim/nvim-lspconfig", }, { 'folke/which-key.nvim', }, { 'lewis6991/hover.nvim', }, { 'folke/neodev.nvim', }, { 'nvim-tree/nvim-web-devicons', }, { 'hrsh7th/nvim-cmp', dependencies = { 'L3MON4D3/LuaSnip', 'saadparwaiz1/cmp_luasnip', 'rafamadriz/friendly-snippets', 'hrsh7th/cmp-nvim-lsp', 'onsails/lspkind.nvim', }, }, { 'tpope/vim-sleuth', }, { 'folke/trouble.nvim', dependencies = { 'nvim-tree/nvim-web-devicons', }, opts = {}, lazy = false, }, { 'nvim-telescope/telescope.nvim', branch = '0.1.x', dependencies = { 'nvim-lua/plenary.nvim', { 'nvim-telescope/telescope-fnf-native.nvim', build = 'make', cond = function() return vim.fn.executable('make') == 1 end }, }, }, -- Do no why I can't clone it via lazy.nvim --[[ { 'ThePrimeagen/harpoon', branch = 'harpoon2', dependencies = { 'nvim-lua/plenary.nvim', }, }, ]] { 'romgrk/barbar.nvim', dependencies = { 'lewis6991/gitsigns.nvim', 'nvim-tree/nvim-web-devicons', }, init = function() vim.g.barbar_auto_setup = false end, opts = {}, lazy = false, }, { 'stevearc/conform.nvim', opts = { formatters_by_ft = { nix = { 'nixpkgs_fmt' }, }, format_on_save = { timeout_ms = 1000, lsp_fallback = true, }, }, }, { 'numToStr/Comment.nvim', opts = { extra = { above = 'gc0', below = 'gco', eol = 'gcA', }, mappings = { basic = true, extra = true, }, }, }, { 'okuuva/auto-save.nvim', lazy = false, event = { 'InsertLeave', 'TextChanged', }, opts = {}, }, { 'tpope/vim-fugitive', }, { 'tpope/vim-rhubarb', }, { 'kdheepak/lazygit.nvim', dependencies = { 'nvim-lua/plenary.nvim', }, keys = { { 'gg', ':LazyGit', desc = '[gg] Lazygit', } }, }, { 'lambdalisue/suda.vim', }, { 'aserowy/tmux.nvim', config = true, }, };