I am working to make this kickstart a standard for my development team, to be deployed on Windows Linux and MacOSX systems.
Kickstart.nvim is just a configuration procedure. It requires to have several components installed and prepared. In the following notes I will list the preparation activities to be performed on the different operating systems.
winget install gnuwin32.tar (bsdtar, installed in c:\Windows\WinSxS\.. c:\cygwin64\bin...)
winget install gnuwin32.findutils (grep)
winget install Microsoft.WindowsTerminal (if not from winget, it can be installed from microsoft https://aka.ms/terminal https://github.com/microsoft/terminal#other-install-methods https://github.com/microsoft/terminal (go on releases on right side...))
choco install less bat gzip ripgrep grep fd fzf far netcat curl wget procexp mingw (choco installs the tools in c:\ProgramData\chocolatey\bin these tools are needed for lsp config)
- nerdfonts are a nice to have extension. After font installation, they can be setup in Windows Terminal to be available for neovim interface. Go download nerdfonts https://github.com/ryanoasis/nerd-fonts/releases/download/v2.3.3/Hack.zip uncompress in a temporary folder. then select all the .ttf files and press right-click then install. Open MS terminal, press the top icon on the right of the "+", then choose Profile/Defaults on the left, then Appearance and in font face set Hack Nerd Font
Please edit Python interpreter path to match the interpreter within the dedicated venv_nvim environment
- this edit is to be carried out in nvim/lua/custom/plugins/additional_keymaps.lua
- once done execute :checkhealth from nvim to see if there are other issues
# Treesitter and LSP language parser install
After configuration, from within nvim, we can proceed to install and activate additional language parsers. This can be done with
- :TSInstall <TAB>
And choosing all the language we need. My preferences are:
```
:TSInstall javascript c python perl css lua vim bash php regex html awk sql make cmake sql dockerfile json markdown mermaid yaml
```
- Similar action is to be performed for LSP, whose config is managed via mason plugin. Some plugins like sqlls, intelphense, awk-language-server and others) require nodejs javascript modules to be managed via npm, therefore node installation is pre-required at the system level.
This will automatically install `nvim-autopairs` and enable it on startup. For more information, see documentation for [lazy.nvim](https://github.com/folke/lazy.nvim).
This will install the tree plugin and add the command `:Neotree` for you. You can explore the documentation at [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) for more information.
To change default options, 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`).
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: