config.nvim
An opinionated but robust Neovim configuration used across most of my project.
Introduction
A customizable personal Neovim config that is:
- Small
- Single-file
- Completely Documented
NOT a Neovim distribution, but instead a starting point for your configuration.
Project in display is go-relaychat.
Installation
Install Neovim
Kickstart.nvim targets only the latest 'stable' and latest 'nightly' of Neovim. If you are experiencing issues, please make sure you have the latest versions.
Install External Dependencies
External Requirements:
- Basic utils:
git,make,unzip, C Compiler (gcc) - ripgrep
- Clipboard tool (xclip/xsel/win32yank or other depending on platform)
- A Nerd Font: optional, provides various icons
- if you have it set
vim.g.have_nerd_fontininit.luato true
- if you have it set
- An ImageMagick installation for image preview in Nvim. For
magickbinding, it will be handled by this plugin so we don't have to install luarocks by ourselves.- Ubuntu:
sudo apt install libmagickwand-dev - MacOS:
brew install imagemagick- By default, brew installs into a weird location, so you have to add
$(brew --prefix)/libtoDYLD_LIBRARY_PATHby adding something likeexport DYLD_LIBRARY_PATH="$(brew --prefix)/lib:$DYLD_LIBRARY_PATH"to your shell profile (probably.zshrcor.bashrc)
- By default, brew installs into a weird location, so you have to add
- Fedora:
sudo dnf install ImageMagick-devel - Arch:
sudo pacman -Syu imagemagick
- Ubuntu:
- Language Setup:
- If you want to write Typescript, you need
npm - If you want to write Golang, you will need
go - etc.
- If you want to write Typescript, you need
- Silicon to generate a beautiful image of your code. Go to
nvim-siliconusing find feature and change the configuration accordingly! (NOTE: It contains my personal font and watermark, so don't forget to change!)cargo install silicon
NOTE > For Arch/Cachy, just install from pacman with
sudo pacman -S silicon
NOTE See Install Recipes for additional Windows and Linux specific notes and quick install snippets
Install Kickstart
NOTE > Backup your previous configuration (if any exists)
Neovim's configurations are located under the following paths, depending on your OS:
| OS | PATH |
|---|---|
| Linux, MacOS | $XDG_CONFIG_HOME/nvim, ~/.config/nvim |
| Windows (cmd) | %localappdata%\nvim\ |
| Windows (powershell) | $env:LOCALAPPDATA\nvim\ |
*Extra Step
If you're planning to build your own Neovim config, Fork this repo so that you have your own copy that you can modify, then install by cloning the fork to your machine using one of the commands below, depending on your OS.
NOTE Your fork's url will be something like this:
https://github.com//kickstart.nvim.git
You likely want to remove lazy-lock.json from your fork's .gitignore file
too - it's ignored in the kickstart repo to make maintenance easier, but it's
recommmended to track it in version control.
Clone kickstart.nvim
NOTE If following the recommended step above (i.e., forking the repo), replace
nvim-luawithin the commands below
Linux and Mac
Windows
If you're using cmd.exe:
git clone https://github.com/billyaddlers/config.nvim "%localappdata%\nvim"
If you're using powershell.exe
git clone https://github.com/billyaddlers/config.nvim "${env:LOCALAPPDATA}\nvim"
Post Installation
Start Neovim
That's it! Lazy will install all the plugins you have. Use :Lazy to view
current plugin status. Hit q to close the window.
Read through the init.lua file in your configuration folder for more
information about extending and exploring Neovim. That also includes
examples of adding popularly requested plugins.
Getting Started
The Only Video You Need to Get Started with Neovim
FAQ
- What should I do if I already have a pre-existing neovim configuration?
- You should back it up and then delete all associated files.
- This includes your existing init.lua and the neovim files in
~/.localwhich can be deleted withrm -rf ~/.local/share/nvim/
- Can I keep my existing configuration in parallel to kickstart?
- Yes! You can use NVIM_APPNAME
=nvim-NAMEto maintain multiple configurations. For example, you can install the kickstart configuration in~/.config/nvim-kickstartand create an alias:alias nvim-kickstart='NVIM_APPNAME="nvim-kickstart" nvim'
- Yes! You can use NVIM_APPNAME