return require('packer').startup(function() -- Packer can manage itself as an optional plugin use {'wbthomason/packer.nvim', opt = true} -- Fuzzy finder use { 'nvim-telescope/telescope.nvim', requires = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}} } vim.cmd('source ~/.config/nvim/lua/nvim-tree-config.vim') use { 'nvim-tree/nvim-tree.lua', requires = 'nvim-tree/nvim-web-devicons', config = function() require'nvim-tree'.setup { create_in_closed_folder = false, disable_netrw = true, hijack_netrw = true, open_on_setup = false, ignore_ft_on_setup = {}, respect_buf_cwd = true, open_on_tab = false, hijack_cursor = false, update_cwd = false, git = { ignore = true }, diagnostics = { enable = true, icons = { hint = "", info = "", warning = "", error = "", } }, update_focused_file = { enable = false, update_cwd = false, ignore_list = {} }, system_open = { cmd = nil, args = {} }, filters = { dotfiles = false, custom = {} }, actions = { open_file = { window_picker = { enable = false, exclude = { filetype = { 'notify', 'packer', 'qf' }, buftype = { 'terminal' } } }, quit_on_open = false, resize_window = false } }, renderer = { indent_markers = { enable = true }, add_trailing = true, group_empty = true, highlight_opened_files = "all", highlight_git = true, root_folder_modifier = ':~', special_files = { 'README.md', 'Makefile', 'MAKEFILE' }, icons = { padding = ' ', symlink_arrow = ' >> ', show = { git = true, file = true, folder = true, folder_arrow = true }, glyphs = { default = '', symlink = '', git = { unstaged = "✗", staged = "✓", unmerged = "-", renamed = "➜", untracked = "★", deleted = "", ignored = "◌" }, folder = { arrow_open = "-", arrow_closed = "|", default = "", open = "", empty = "", empty_open = "", symlink = "", symlink_open = "", } } } }, view = { hide_root_folder = false, mappings = { custom_only = false, list = {} }, float = { enable = true, quit_on_focus_loss = true, open_win_config = { relative = "editor", border = "rounded", width = 30, height = 30, row = 1, col = 1, } } } } end } -- LSP and completion use { 'neovim/nvim-lspconfig' } use { 'nvim-lua/completion-nvim' } -- Lua development use { 'tjdevries/nlua.nvim' } -- Vim dispatch use { 'tpope/vim-dispatch' } -- Fugitive for Git use { 'tpope/vim-fugitive' } -- Fugitive for Git use { 'ray-x/lsp_signature.nvim' } -- Airline status bar use { 'vim-airline/vim-airline' } use { 'vim-airline/vim-airline-themes' } use { 'cespare/vim-toml' } use { 'folke/trouble.nvim' } use { 'hrsh7th/nvim-compe' } use { 'jacoborus/tender.vim' } use { 'RRethy/vim-illuminate' } use { 'rust-lang/rust.vim' } use { 'vim-scripts/DrawIt' } use { 'gleam-lang/gleam.vim' } end)