Create a Neovim IDE with LazyVim hero

Create a Neovim IDE with LazyVim

LazyVim is a Neovim setup powered by 💤 lazy.nvim to make it easy to customize and extend your config. It turns Neovim into a IDE with very little effort and offers a simple and flexible structure to modify and extend it to your liking.

Install

First, you need to install neovim.

Terminal window
brew install neovim

I recommend going to the LazyVim installation page to get the complete and up-to-date instructions, but here’s a quick overview of how to set it up. You have to clone the starter repo, remove the .git folder, then run neovim with the nvim command.

Terminal window
git clone https://github.com/LazyVim/starter ~/.config/nvim # clone
rm -rf ~/.config/nvim/.git # remove .git folder
nvim # start neovim

LazyVim will automatically begin to install all it’s plugins and boot up.

Configure

LazyVim is configured with the following structure.

  • ~/.config/nvim/lua/config/lazy.lua is the entry file to setup LazyVim and default options.
  • ~/.config/nvim/lua/config/* holds other files that help setup basic configurations for Neovim.
  • ~/.config/nvim/lua/plugins/* holds files that can automatically be read by LazyVim to manage plugins.

Catppuccin Theme

The default theme that ships with LazyVim doesn’t work well with Alacritty’s semi-transparent styling that we set up previously. I recommend the popular scheme catppuccin which offers great transparency support. You’ll also learn some basics for overwriting the LazyVim configuration and adding new plugins.

First, you have to install the catppuccin plugin by adding the following content to a new catppuccin.lua file in the plugins folder.

~/.config/nvim/lua/plugins/catppuchin.lua
return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
---@class CatppuccinOptions
opts = {
transparent_background = true,
},
}

Then, you need to overwrite the default colorscheme defined by LazyVim by adding the following plugin file.

~/.config/nvim/lua/plugins/lazyvim.lua
return {
"LazyVim/LazyVim",
opts = {
colorscheme = "catppuccin",
},
}

Restart Neovim and you should now have the catppuccin theme enabled with transparency support. You can learn more about how to configure catppuccin, including adding additional integration support, on it’s GitHub page.

Deep Dive

There is so much to cover with LazyVim, if you want to get a solid overview of all the features it offers, I recommend my friend Elijah Manor’s video.

Conclusion

LazyVim allows you to quickly setup an IDE for Neovim. It’s a great starting point for beginners and offers a simple and flexible structure to modify and extend it to your liking. We covered how to install it and overwrite the theme with Catppuccin. If you want to learn more about LazyVim, I recommend checking the following resources.

Sign-Up for New Posts

Stay in the loop and get the latest blog posts about dotfiles sent to your inbox.

man sitting at desk in front of a landscape of rivers leading to a mountain range

Dev Workflow Intro

Your guide to creating a powerful and intuitive development workflow in the terminal.

The terminal is a powerful tool for developers, but it can be overwhelming to know where to start. This guide will help you create a powerful development environment in the terminal. Here are some of the things you'll learn.

  • Install packages and keep them up-to-date
  • Design a minimalist, distraction-free, user-interface
  • Use familiar keyboard shortcuts
  • Manage multiple projects with ease
  • Integrate with Git and GitHub
Get Started