Add optional packer plugins hook (#20)
* Add optional packer plugins hook * Provide help in README and simplify module * Fix spelling and tweak verbiage about after/plugin
This commit is contained in:
		
							parent
							
								
									e311d48c97
								
							
						
					
					
						commit
						e80aa66671
					
				
					 2 changed files with 35 additions and 0 deletions
				
			
		
							
								
								
									
										31
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										31
									
								
								README.md
									
										
									
									
									
								
							|  | @ -18,6 +18,37 @@ This repo is meant to be used as a starting point for a user's own configuration | ||||||
| * Start Neovim (`nvim`) and run `:PackerInstall` - ignore any error message about missing plugins, `:PackerInstall` will fix that shortly | * Start Neovim (`nvim`) and run `:PackerInstall` - ignore any error message about missing plugins, `:PackerInstall` will fix that shortly | ||||||
| * Restart Neovim | * Restart Neovim | ||||||
| 
 | 
 | ||||||
|  | ### Configuration | ||||||
|  | 
 | ||||||
|  | You could directly modify the `init.lua` file with your personal customizations. This option is the most straightforward, but if you update your config from this repo, you may need to reapply your changes. | ||||||
|  | 
 | ||||||
|  | An alternative approach is to create a separate `custom.plugins` module to register your own plugins. In addition, you can handle further customizations in the `/after/plugin/` directory (see `:help load-plugins`). See the following examples for more information. Leveraging this technique should make upgrading to a newer version of this repo easier.  | ||||||
|  | 
 | ||||||
|  | #### Example `plugins.lua` | ||||||
|  | 
 | ||||||
|  | The following is an example of a `plugins.lua` module (located at `$HOME/.config/nvim/lua/custom/plugins.lua`) where you can register your own plugins.  | ||||||
|  | 
 | ||||||
|  | ```lua | ||||||
|  | return function(use) | ||||||
|  |   use({ | ||||||
|  |     "folke/which-key.nvim", | ||||||
|  |       config = function() | ||||||
|  |         require("which-key").setup({}) | ||||||
|  |       end | ||||||
|  |   }) | ||||||
|  | end | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | #### Example `defaults.lua` | ||||||
|  | 
 | ||||||
|  | For further customizations, you can add a file in the `/after/plugin/` folder (see `:help load-plugins`) to include your own options, keymaps, autogroups, and more. The following is an example `defaults.lua` file (located at `$HOME/.config/nvim/after/plugin/defaults.lua`). | ||||||
|  | 
 | ||||||
|  | ```lua | ||||||
|  | vim.opt.relativenumber = true | ||||||
|  | 
 | ||||||
|  | vim.keymap.set('n', '<leader>sr', require('telescope.builtin').resume, { desc = '[S]earch [R]esume' }) | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
| ### Contribution | ### Contribution | ||||||
| 
 | 
 | ||||||
| Pull-requests are welcome. The goal of this repo is not to create a Neovim configuration framework, but to offer a starting template that shows, by example, available features in Neovim. Some things that will not be included: | Pull-requests are welcome. The goal of this repo is not to create a Neovim configuration framework, but to offer a starting template that shows, by example, available features in Neovim. Some things that will not be included: | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								init.lua
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								init.lua
									
										
									
									
									
								
							|  | @ -57,6 +57,10 @@ require('packer').startup(function(use) | ||||||
|   -- Fuzzy Finder Algorithm which requires local dependencies to be built. Only load if `make` is available |   -- Fuzzy Finder Algorithm which requires local dependencies to be built. Only load if `make` is available | ||||||
|   use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make', cond = vim.fn.executable 'make' == 1 } |   use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make', cond = vim.fn.executable 'make' == 1 } | ||||||
| 
 | 
 | ||||||
|  |   -- Add custom plugins to packer from /nvim/lua/custom/plugins.lua | ||||||
|  |   local has_plugins, plugins = pcall(require, "custom.plugins") | ||||||
|  |   if has_plugins then plugins(use) end | ||||||
|  | 
 | ||||||
|   if is_bootstrap then |   if is_bootstrap then | ||||||
|     require('packer').sync() |     require('packer').sync() | ||||||
|   end |   end | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Elijah Manor
						Elijah Manor