Configurations
Lazyman Supported Configurations
After installing and initializing Lazyman, additional Neovim configurations can be installed and initialized using the lazyman
command.
All of the supported Lazyman Neovim configurations can be managed using the lazyman
command interactive menu interface. The lazyman
menu is presented by invoking lazyman
without arguments after the initial bootstrap process is complete. Lazyman Neovim configurations can also be managed with lazyman
command line operations.
Currently over 100 popular Neovim configurations are supported in the following configuration categories:
Lazyman | Supported | Configuration | Frameworks |
---|---|---|---|
AstroNvim configurations | LazyVim configurations | LunarVim configurations | NvChad configurations |
Lazyman | Supported | Configuration | Categories |
---|---|---|---|
Base configurations | Language configurations | Personal configurations | Starter configurations |
In addition to the supported configuration categories, Custom configurations can be installed and initialized using lazyman command line arguments.
Base configurations
The Lazyman “Base” Neovim configurations are well tested, full featured Neovim configurations that provide an excellent base starting point for exploring the features of lazyman
and the wealth of Neovim configuration possibilities.
All “Base” Neovim configurations can be installed and initialized with lazyman -B
.
Lazyman “Base” Neovim configurations
- Lazyman
- See the Installation section
- Installed and initialized by default
- Abstract
- Preconfigured Neovim as IDE (see the Abstract website)
- Install and initialize with
lazyman -g
- AstroNvimPlus
- Install and initialize with
lazyman -a
- An example AstroNvim community plugins configuration is added
- Install and initialize with
- Basic IDE
- Maintained by LunarVim, this is a descendent of “Neovim from Scratch”
- All plugins are pinned to known working versions
- Install and initialize with
lazyman -j
- Ecovim
- Install and initialize with
lazyman -e
- Tailored for frontend development with React and Vue.js
- Install and initialize with
- LazyVim
- The LazyVim starter configuration
- Install and initialize with
lazyman -l
- LunarVim
- Installs LunarVim plus the IfCodingWereNatural custom user config
- Install and initialize with
lazyman -v
- MagicVim
- Custom Neovim configuration designed to be light and fast
- LSP, Treesitter & Code Completion all work out of the box
- Auto install when you open a file type that doesn’t have code completion for it yet
- Uses Packer plugin manager, installs in
~/.config/nvim-MagicVim
- Install and initialize with
lazyman -m
- NvChad
- Advanced customization of NvChad
- Good introductory video to NvChad
- Install and initialize with
lazyman -c
- SpaceVim
- SpaceVim started in December 2016, mature and well supported
- Standard SpaceVim install uses
curl
:curl -sLf https://spacevim.org/install.sh | bash
- Lazyman custom SpaceVim configuration installed in
~/.SpaceVim.d/
- Install and initialize using Lazyman with
lazyman -s
Language configurations
In addition to the base Neovim configurations listed above, lazyman
can install and initialize several “Language” Neovim configurations. These can be used as programming or document format specific Neovim configurations. The Language
category configurations either employ a specific language or target specific language(s).
[Note:] The Language
category does not include all supported Lazyman Neovim configurations with programming language support. In fact, most Neovim configurations support several programming languages. The Language
category simply serves as a convenience to get started exploring language support.
All of the “Language” configurations can be installed and initialized with the command lazyman -L all
. Individual “Language” configurations can be installed with the -L lang
option.
Lazyman “Language” Neovim configurations
- AlanVim
- Oriented toward Python development
- Install and initialize with
lazyman -L AlanVim
- Allaman
- One of the inspirations for
Lazyman
- Excellent support for Python, Golang, Rust, YAML, and more
- Install and initialize with
lazyman -L Allaman
- One of the inspirations for
- CatNvim
- Included in the
Language
category as the configuration is written inC
- Yes, this is a Neovim configuration written in the C programming language
CatNvim
is aLazyVim
based configuration- Install and initialize with
lazyman -L CatNvim
- Included in the
- Cpp
NvChad
based Neovim config with C++ formatting, debugging, and diagnostics- Dreams of Code video tutorial
- Install and initialize with
lazyman -L Cpp
- Go
NvChad
based Neovim config with Go formatting, debugging, and diagnostics- Dreams of Code video tutorial
- Install and initialize with
lazyman -L Go
- Go2one
- Neovim Go development environment that does not touch standard Neovim configuration folders
- The
lazyman
install does not use thego2one
script - Install and initialize with
lazyman -L Go2one
- Insis
- Out-of-the-box Neovim IDE solution with simple development environment setup
- Install and initialize with
lazyman -L Insis
- Knvim
- Targets Python, Bash, LaTeX, Markdown, and C/C++
- See the Knvim Config Cheat Sheet
- Install and initialize with
lazyman -L Knvim
- LaTeX
- Neovim configuration optimized for writing in LaTeX
- Personal Neovim configuration of Benjamin Brast-McKie
- Keymaps and more described in the configuration Cheatsheet
- Blog article by the author detailing tools used by his configuration
- Video playlist of tutorials on using this config for writing LaTeX in Neovim
- Install and initialize with
lazyman -L LaTeX
- LazyIde
- LazyVim IDE config for Neovim
- Install and initialize with
lazyman -L LazyIde
- LunarIde
- LunarVim config based on Christian Chiarulli’s
- Java, Python, Lua, Go, JavaScript, Typescript, React, and Rust IDE
- Install and initialize with
lazyman -L LunarIde
- LvimIde
- Not to be confused with
LunarVim
, this is a standalone Neovim configuration - Modular configuration with LSP support for 60+ languages
- Debug support for c, cpp, dart, elixir, go, haskell, java, javascript/typescript, lua, php, python, ruby, rust
- Install and initialize with
lazyman -L LvimIde
- Not to be confused with
- Magidc
- Java, Python, Lua, and Rust IDE
- Install and initialize with
lazyman -L Magidc
- Nv
LazyVim
based Neovim configuration- Andreas Gerlach develops smart farming tech and maintains the
Sway
edition ofManjaro-arm
- Install and initialize with
lazyman -L Nv
- NV-IDE
- Configuration oriented for web developers (rails, ruby, php, html, css, SCSS, javascript)
- Install and initialize with
lazyman -L NV-IDE
- Orange
- Modern Neovim configuration for coding React and TypeScript
- Install and initialize with
lazyman -L Orange
- Python
NvChad
based Neovim config with Python formatting, debugging, and diagnostics- Dreams of Code video tutorial
- These features are included in the Base
NvChad
custom add-on (lazyman -c
) - Install and initialize
lazyman -L Python
- Rust
NvChad
based Neovim config with Rust formatting, debugging, and diagnostics- Dreams of Code video tutorial
- Install and initialize with
lazyman -L Rust
- SaleVim
Salesforce
optimized IDE with custom features for editingApex
,Visualforce
, andLightning
code- Install and initialize with
lazyman -L SaleVim
- Shuvro
- Significantly improved fork of Abouzar Parvan’s advanced
LunarVim
config - Install and initialize with
lazyman -L Shuvro
- Significantly improved fork of Abouzar Parvan’s advanced
- Webdev
- LazyVim based config for web developers
- JavaScript, Typescript, React, and Tailwind CSS support
- Install and initialize with
lazyman -L Webdev
Personal configurations
In addition to the base and language Neovim configurations listed above, lazyman
can install and initialize several “Personal” Neovim configurations. These are used as personal Neovim configurations, so there are no guarantees made about stability or compatibility. Each supported personal configuration uses some interesting approach and provides significant value making them worthy of study, exploration, and possible use in tailoring your own configuration.
All of the ‘Personal’ configurations can be installed and initialized with the command lazyman -W
. Individual ‘Personal’ configurations can be installed with the -w conf
option.
Lazyman “Personal” Neovim configurations
- Adib
- Personal Neovim configuration of Adib Hanna
- Tips, distros, and configuration demo video
- Install and initialize with
lazyman -w Adib
- Ahsan
- Personal Neovim configuration of Ahsan Habib
- Install and initialize with
lazyman -w Ahsan
- Artur
- Personal Neovim configuration of Artur Gomes
- Install and initialize with
lazyman -w Artur
- Beethoven
- Personal Neovim configuration of mechanical engineering student Alexander Vazquez
lazyman -w Beethoven
- Brain
- Well structured personal config based on the KISS principle
lazyman -w Brain
- Charles
- Well structured lazy config with several setup scripts and a Wiki
- Install and initialize with
lazyman -w Charles
- Chokerman
- Personal Neovim configuration of Github user
justchokingaround
- Install and initialize with
lazyman -w Chokerman
- Personal Neovim configuration of Github user
- Craftzdog
- Takuya Matsuyama’s Neovim configuration
- Install and initialize with
lazyman -w Craftzdog
- Daniel
LunarVim
based config of Daniel Vera Gilliard- Install and initialize with
lazyman -w Daniel
- Dillon
- Author of tsc.nvim, asynchronous TypeScript type-checking
- Install and initialize with
lazyman -w Dillon
- Elianiva
- Personal Neovim configuration of Dicha Zelianivan Arkana
lazyman -w Elianiva
- Elijah
- Personal Neovim configuration of Elijah Manor
lazyman -w Elijah
- Enrique
- Personal Neovim configuration of Enrique Mejidas
lazyman -w Enrique
- Jdhao
- Modern Neovim configuration with full support for Python, Lua, C++, Markdown, LaTeX, and more
lazyman -w Jdhao
- Kristijan
- Personal Neovim configuration of Kristijan Husak, author of several Neovim plugins including
orgmode
andvim-dadbod-ui
lazyman -w Kristijan
- Personal Neovim configuration of Kristijan Husak, author of several Neovim plugins including
- Heiker
- Neovim config of Heiker Curiel, author of lsp-zero
- Install and initialize with
lazyman -w Heiker
- J4de
- Personal Neovim configuration of Jade Fox
lazyman -w J4de
- Josean
- Josean Martinez video tutorial
lazyman -w Josean
- JustinLvim
- LunarVim based Neovim configuration by Justin Angeles
- Install and initialize with
lazyman -w JustinLvim
- JustinNvim
- LazyVim based Neovim configuration by Justin Angeles
- Justin has created a series of YouTube videos on configuring LazyVim
- Install and initialize with
lazyman -w JustinNvim
- Kodo
- Personal Neovim configuration of chadcat, a high school student with no life
Kodo
is a Neovim configuration that looks good and is fast (startuptime < 0.035s)- Install and initialize with
lazyman -w Kodo
- LamarVim
- Personal Neovim configuration of Cassio Lamarck
- Install and initialize with
lazyman -w LamarVim
- Lukas
- Packer based personal Neovim configuration of Lukas Reineke, author of many excellent Neovim plugins
- Requires an externally installed
lua-language-server
andefm-langserver
- Install and initialize with
lazyman -w Lukas
- Maddison
- Personal Neovim configuration of Maddison Hellstrom
- Author of
incline.nvim
floating statuslines,SchemaStore.nvim
JSON schemas,mapx.nvim
better keymaps - Install and initialize with
lazyman -w Maddison
- Metis
- Neovim config by the creator of
MetisLinux
andEwm
- Install and initialize with
lazyman -w Metis
- Neovim config by the creator of
- Mini
- Uses the mini.nvim library
- Personal configuration of the
mini.nvim
author - Install and initialize with
lazyman -M
- ONNO
- One of the primary inspirations for Lazyman
- Install and initialize with
lazyman -w ONNO
- OnMyWay
- The personal Neovim configuration of Richard Ariza
- Install and initialize with
lazyman -w OnMyWay
- Optixal
- Hybrid Neovim config for developers with a functional yet aesthetic experience
- Uses a combination of vimscript and lua with the
vim-plug
plugin manager - Install and initialize with
lazyman -w Optixal
- Orhun
- Personal AstroNvim based Neovim configuration of open source developer Orhun Parmaksiz
- Install and initialize with
lazyman -w Orhun
- Primeagen
- Packer based config from scratch by ThePrimeagen”
- Install and initialize with
lazyman -w Primeagen
- Rafi
- Extensible Neovim configuration
- Install and initialize with
lazyman -w Rafi
- RNvim
- Personal Neovim configuration of Github user
RoryNesbitt
- Install and initialize with
lazyman -w RNvim
- Personal Neovim configuration of Github user
- Roiz
- Just a random Neovim config found on Github, works well
- Install and initialize with
lazyman -w Roiz
- SeniorMars
- The popular Neovim configuration of SeniorMars
- Install and initialize with
lazyman -w SeniorMars
- Simple
- A remarkably effective Neovim configuration in only one small file
- The author’s video description of this config
- Install and initialize with
lazyman -w Simple
- Slydragonn
- Introductory video
lazyman -w Slydragonn
- Spider
- AstroNvim based configuration with animated status bar and smooth scroll
- Introductory video
- Install and initialize with
lazyman -w Spider
- Traap
- Introductory video
- Install and initialize with
lazyman -w Traap
- Wuelner
- Wuelner’s Neovim setup follows a well-defined philosophy governed by coherence and minimalism
- Install and initialize with
lazyman -w Wuelner
- xero
- personal neovim configuration of xero harrison
- xero is a fine example, as are many here, of the unix greybeard
- install and initialize with
lazyman -w xero
- Xiao
- Personal Neovim configuration of XiaoZhang
- Install and initialize with
lazyman -w Xiao
Starter configurations
The “Starter” Neovim configurations include Basic
, Kickstart
, NvPak
, Modern
, PDE
, and those provided by VonHeikemen, the author of LSP Zero.
All of the “Starter” configurations can be installed and initialized with the command lazyman -X
. Individual “Starter” configurations can be installed with the -x conf
option.
Lazyman “Starter” Neovim configurations
- AstroNvimStart
- Default AstroNvim example configuration
- Install and initialize with
lazyman -x AstroNvimStart
- Barebones
- Starter bare bones LazyVim config by Traap with video introduction
- Install and initialize with
lazyman -x Barebones
- Basic
- Starter config by the author of NvChad with video tutorial
- Install and initialize with
lazyman -x Basic
- CodeArt
- Use Neovim as general purpose IDE
- Install and initialize with
lazyman -x CodeArt
- CosmicNvim
- Install
Node.js
,prettierd
, andeslint_d
- Install and initialize with
lazyman -x Cosmic
- Install
- Ember
- Dan is a computer science student at Arizona State University
- Install and initialize with
lazyman -x Ember
- Fennel
- An opinionated configuration reminiscent of Doom-Emacs, written in Fennel
- Install and initialize with
lazyman -x Fennel
- Kickstart
- Popular starting point, small, single file, well documented, modular
- Install and initialize with
lazyman -k
- KickstartPython
- Kickstart configuration tailored for use with Python
- Install and initialize with
lazyman -x KickstartPython
- nvim2k
- Video walkthrough
- Install and initialize with
lazyman -x 2k
- NvPak
- PaK in Farsi means pure, something that is in its purest form
- Install and initialize with
lazyman -x NvPak
- HardHacker
- A theme-driven modern Neovim configuration
- Install and initialize with
lazyman -x HardHacker
- JustinOhMy
- Full featured starter LazyVim based Neovim configuration by Justin Angeles
- Justin has created a YouTube video describing this config
- Install and initialize with
lazyman -x JustinOhMy
- Modern
- Configure Neovim as a modernized development environment
- Details described in an excellent Medium article
- Install and initialize with
lazyman -x Modern
- PDE
- Configure Neovim as a Personalized Development Environment (PDE)
- Install and initialize with
lazyman -x pde
- Kabin
- One of the AstroNvim “Black Belt” example advanced configurations
lazyman -x Kabin
- Micah
- One of the AstroNvim “Black Belt” example advanced configurations
lazyman -x Micah
- Normal
- Based on AstroNvim with additional features
- Install and initialize with
lazyman -x Normal
- Rohit
- Good example use of mason-tool-installer
- Install and initialize with
lazyman -x Rohit
- Scratch
- Jumping-off point for new Neovim users or those who have declared config bankruptcy
- Install and initialize with
lazyman -x Scratch
- SingleFile
- A clean, organized pre-configured Neovim configuration guide in a single
init.lua
- Install and initialize with
lazyman -x SingleFile
- A clean, organized pre-configured Neovim configuration guide in a single
VonHeikemen Starter configurations
- BasicLsp
- Example lua configuration showing one way to setup LSP servers without plugins
- Install and initialize with
lazyman -x BasicLsp
- BasicMason
- Minimal setup with
mason.nvim
- Install and initialize with
lazyman -x BasicMason
- Minimal setup with
- LspCmp
- Minimal setup with
nvim-lspconfig
andnvim-cmp
- Install and initialize with
lazyman -x LspCmp
- Minimal setup with
- Extralight
- Single file lightweight configuration focused on providing basic features
- Install and initialize with
lazyman -x Extralight
- Minimal
- Small configuration without third party plugins
- Install and initialize with
lazyman -x Minimal
- Modular
- Same as
StartMason
but everything is split in modules - Install and initialize with
lazyman -x Modular
- Same as
- StartBase
- Small configuration that includes a plugin manager
- Install and initialize with
lazyman -x StartBase
- Opinionated
- Includes a combination of popular plugins
- Install and initialize with
lazyman -x Opinion
- StartLsp
- Configures the built-in LSP client with autocompletion, based on
Opinionated
- Install and initialize with
lazyman -x StartLsp
- Configures the built-in LSP client with autocompletion, based on
- StartMason
- Same as
StartLsp
but uses mason.nvim to install language servers - Install and initialize with
lazyman -x StartMason
- Same as
Custom configurations
Lazyman includes support for Custom
Neovim configurations. To install and initialize a Neovim configuration not supported out-of-the-box by Lazyman, use the -C url
and -N nvimdir
options to lazyman
. After the installation and initialization completes, set the NVIM_APPNAME
environment variable to use the newly created Neovim configuration:
1
export NVIM_APPNAME="<nvimdir>"
Where <nvimdir>
is the argument provided to -N
above.
For example, to install and initialize the Packer based Neovim configuration hosted at https://github.com/VapourNvim/VapourNvim and place it in ~/.config/nvim-VapourNvim
, execute the command:
1
2
3
lazyman -C https://github.com/VapourNvim/VapourNvim -N nvim-VapourNvim -P
export NVIM_APPNAME="nvim-VapourNvim"
nvim
Sometimes people place their Neovim configuration in a repository subdirectory along with other configurations in a dotfiles
repo. To retrieve only the Neovim configuration subdirectory in such a repository, use the -b branch
and -D subdir
arguments to lazyman
along with -C url
and -N nvimdir
. If no -b branch
is provided then the default git branch is assumed to be master
. For example, to install and initialize the Neovim configuration hosted at https://github.com/alanRizzo/dot-files in the subdirectory nvim
with default branch main
, place it in ~/.config/nvim-AlanVim
, and initialize it with Packer:
1
lazyman -b main -C https://github.com/alanRizzo/dot-files -D nvim -N nvim-AlanVim -P
Note the -b main
argument in this Lazyman command. When specifying a subdirectory of a repository with -D <subdir>
it is necessary to also provide the default branch of the repository if not master
.
Custom Neovim configurations may require additional setup work. Often a custom Lazyman configuration will appear to work without issue but contain references to ~/.config/nvim/
in its configuration files. For example, a configuration’s dashboard may contain a reference to ~/.config/nvim/init.lua
. References like this can be fixed so the configuration is relocatable by doing something like the following in Lua:
1
local config_path = vim.fn.stdpath("config") .. "/init.lua"
Another example custom Neovim configuration not yet supported by Lazyman is the NvChad
based Vimacs
configuration. The Vimacs
Neovim configuration can be installed with the command:
1
lazyman -V https://github.com/UTFeight/vimacs -D custom -N nvim-Vimacs
Note the -V url
argument. This indicates to lazyman
that this is an NvChad
based configuration and should be installed accordingly. The -D custom
argument indicates that the NvChad
custom configuration resides in the custom
subdirectory of the repository.
Custom Neovim configurations will be displayed and available in subsequent runs of lazyman
in the Lazyman Menu System.
An excellent list of preconfigured Neovim configurations is available at the Awesome Neovim Repository. Many of these can be easily installed and initialized using lazyman -b <branch> -C <url> -N <nvimdir> ...
.
Feel free to open an issue at https://github.com/doctorfree/nvim-lazyman/issues to help tackle any problems installing or initializing Neovim configurations with Lazyman.
Custom configuration patches
If you encounter a Neovim configuration that does not cleanly initialize with lazyman
it is often possible to make a few minor changes to the configuration to get it working. Lazyman supports custom configuration patches that are applied during initialization of a configuration.
The ~/.config/nvim-Lazyman/scripts/patches/
directory contains patches to Neovim configurations applied after cloning the repo with lazyman
.
The patch file for a configuration must be named <Name>.patch
where <Name>
is the name of the configuration folder in ~/.config/
.
Some Neovim configurations do not initialize cleanly using lazyman
and modifications to the configuration files may be necessary. In this case it is possible to generate a patch file for the config, place it here, and re-run lazyman
to install and initialize that configuration.
The patch should be created from the top of the configuration directory after making the necessary changes and backing up the original file(s).
For example, the Neovim configuration by 3rd contains references to a custom tree-sitter grammar and does not initialize cleanly with lazyman
. After commenting out these references a patch can be created for this config with:
1
2
3
diff -Naur lua/modules/language-support/tree-sitter.lua.orig \
lua/modules/language-support/tree-sitter.lua \
> ~/.config/nvim-Lazyman/scripts/patches/nvim-3rd.patch
Subsequently, running:
1
lazyman -C https://github.com/3rd/config -D home/dotfiles/nvim -N nvim-3rd
will produce a patched nvim-3rd
initialized Neovim configuration.