# Neovim config ## Install Instructions > Install requires Neovim 0.10+. Always review the code before installing a configuration. Clone the repository and install the plugins: ```sh git clone git@github.com:pnx/dotfiles ~/.config/pnx/dotfiles ``` Open Neovim with this config: ```sh NVIM_APPNAME=pnx/dotfiles/nvim nvim ``` ## File structure ```sh ├── after │ ├── ftplugin # filetype specific settings. │ └── indent #indent settings. ├── init.lua └── lua └── user ├── extras.lua ├── icons.lua # icons used for plugins/settings ├── keymaps.lua ├── lazy.lua # plugin manager ├── options.lua └─── plugins #plugins ├── core # core plugins ├── editor # editor specific plugins/settings ├── lang #language specific plugins/settings └── ide # IDE plugins ``` Plugin directory is organized by category. at minimum there should be a `.lua` file, but if that file becomes to large, the code can be splitted into multiple files in a subdirectory with the same name and included in the main `.lua` file ## Plugins ### bars-and-lines + [luukvbaal/statuscol.nvim](https://dotfyle.com/plugins/luukvbaal/statuscol.nvim) ### color + [brenoprata10/nvim-highlight-colors](https://dotfyle.com/plugins/brenoprata10/nvim-highlight-colors) ### colorscheme + [catppuccin/nvim](https://dotfyle.com/plugins/catppuccin/nvim) ### completion + [hrsh7th/nvim-cmp](https://dotfyle.com/plugins/hrsh7th/nvim-cmp) ### editing-support + [windwp/nvim-autopairs](https://dotfyle.com/plugins/windwp/nvim-autopairs) + [windwp/nvim-ts-autotag](https://dotfyle.com/plugins/windwp/nvim-ts-autotag) ### file-explorer + [nvim-neo-tree/neo-tree.nvim](https://dotfyle.com/plugins/nvim-neo-tree/neo-tree.nvim) ### formatting + [stevearc/conform.nvim](https://dotfyle.com/plugins/stevearc/conform.nvim) ### fuzzy-finder + [nvim-telescope/telescope.nvim](https://dotfyle.com/plugins/nvim-telescope/telescope.nvim) ### git + [lewis6991/gitsigns.nvim](https://dotfyle.com/plugins/lewis6991/gitsigns.nvim) ### icon + [nvim-tree/nvim-web-devicons](https://dotfyle.com/plugins/nvim-tree/nvim-web-devicons) ### indent + [lukas-reineke/indent-blankline.nvim](https://dotfyle.com/plugins/lukas-reineke/indent-blankline.nvim) ### keybinding + [folke/which-key.nvim](https://dotfyle.com/plugins/folke/which-key.nvim) ### lsp + [j-hui/fidget.nvim](https://dotfyle.com/plugins/j-hui/fidget.nvim) + [neovim/nvim-lspconfig](https://dotfyle.com/plugins/neovim/nvim-lspconfig) + [nvimtools/none-ls.nvim](https://dotfyle.com/plugins/nvimtools/none-ls.nvim) ### markdown-and-latex + [MeanderingProgrammer/render-markdown.nvim](https://dotfyle.com/plugins/MeanderingProgrammer/render-markdown.nvim) ### nvim-dev + [nvim-lua/plenary.nvim](https://dotfyle.com/plugins/nvim-lua/plenary.nvim) + [MunifTanjim/nui.nvim](https://dotfyle.com/plugins/MunifTanjim/nui.nvim) ### plugin-manager + [folke/lazy.nvim](https://dotfyle.com/plugins/folke/lazy.nvim) ### snippet + [rafamadriz/friendly-snippets](https://dotfyle.com/plugins/rafamadriz/friendly-snippets) + [L3MON4D3/LuaSnip](https://dotfyle.com/plugins/L3MON4D3/LuaSnip) ### split-and-window + [echasnovski/mini.bufremove](https://dotfyle.com/plugins/echasnovski/mini.bufremove) ### statusline + [pnx/lualine-lsp-status](https://dotfyle.com/plugins/pnx/lualine-lsp-status) + [nvim-lualine/lualine.nvim](https://dotfyle.com/plugins/nvim-lualine/lualine.nvim) ### syntax + [nvim-treesitter/nvim-treesitter-textobjects](https://dotfyle.com/plugins/nvim-treesitter/nvim-treesitter-textobjects) + [nvim-treesitter/nvim-treesitter](https://dotfyle.com/plugins/nvim-treesitter/nvim-treesitter) ### test + [nvim-neotest/neotest](https://dotfyle.com/plugins/nvim-neotest/neotest) ### utility + [kevinhwang91/nvim-ufo](https://dotfyle.com/plugins/kevinhwang91/nvim-ufo) ## Language Servers + cmake + html + php + typescript + c/c++ + golang