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 { name = 'harpoon', dependencies = { 'nvim-lua/plenary.nvim', }, dir = '/home/guz/.config/nvim/plugins/harpoon', }, { 'romgrk/barbar.nvim', dependencies = { 'lewis6991/gitsigns.nvim', 'nvim-tree/nvim-web-devicons', }, init = function() vim.g.barbar_auto_setup = false end, opts = {}, lazy = false, }, { 'nvim-neo-tree/neo-tree.nvim', dependencies = { 'nvim-lua/plenary.nvim', 'nvim-tree/nvim-web-devicons', 'MunifTanjim/nui.nvim', '3rd/image.nvim', }, lazy = false, opts = { closes_if_last_window = true, window = { position = 'left', width = 30, mappings = {}, }, filesystem = { filtered_items = { visible = true, hide_dotfiles = false, hide_gitignored = false, hide_by_name = { }, never_show = { '.DS_Store', }, }, hijack_netrw_behavior = 'disabled', follow_current_file = { enabled = true, }, window = { mappings = {} }, }, }, keys = { { 'Ex', 'Neotree toggle', desc = '[Ex] Toggle explorer' }, }, }, { '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 = {}, }, { 'mhartington/formatter.nvim' }, { '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, }, };