Lazyman Neovim Configuration Manager
The Lazyman project can be used to install, initialize, and manage multiple Neovim configurations. Over 100 popular Neovim configurations are supported.
Lazyman is now available as a Kasm Workspace by adding
https://doctorfree.github.io/kasm-registry/ as a Kasm 3rd party registry and installing the
Deluxe workspace in your Kasm instance.
Lazyman provides a character-based menu interface as well as a weath of command line options. The Lazyman main menu looks like this:
Follow the Installation instructions to bootstrap Lazyman. Once Lazyman is installed, execute the
lazyman command to manage Neovim configurations. The
lazyman command is located in $HOME/.local/bin/lazyman.
The two primary features of the Lazyman project are the
lazyman command and the
nvims shell function. The
lazyman command provides a menu interface and command line options to install, initialize, and manage multiple Neovim configurations. The
nvims shell function dynamically generates a fuzzy searchable menu of Neovim configurations from which to select. The selected configurations can be opened in Neovim, removed, or a configuration information document can be viewed.
The nvims Neovim configuration fuzzy selector:
More info on the
neovides shell functions can be found in the nvims fuzzy selector article , in the nvims man page with man nvims, with the command nvims -U, or in Neovim using the Lazyman configuration with :h Nvims.
lazyman command separates Neovim configurations into 5 categories:
Base category consists of well tested Neovim configurations and distributions, all of which provide significant value. The
Language category includes Neovim configurations tailored for a specific programming or document format language. The
Personal category includes personal Neovim configurations that provide significant value or demonstrate some cool features. Configurations in the
Personal category are not necessarily intended for public use, these repositories are maintained for the personal use of the authors but are included here for their value. The
Starter category includes Neovim configurations tailored to serve as a starting point for developing your own Neovim configuration. These include the popular Neovim
Kickstart configuration, a
Modern Neovim config, the
PDE personal development environment config, and the Neovim configurations provided by the nvim-starter project. The
Custom category includes any additional Neovim configurations installed and initialized with
lazyman by the end-user using the
C url and
N nvimdir options.
In addition, Lazyman installs and initializes the Lazyman Neovim configuration, a richly configured Neovim environment using Lua, Lazy, and Mason to support highlighting, completion, diagnostics, and more for many programming languages.
The installation and initialization of Neovim configurations are placed in separate directories and managed using the
NVIM_APPNAME environment variable.
Note that a full installation and initialization of all supported Neovim configurations, plugins, language servers, formatters, linters, and tools will consume over 20GB of disk space.
lazyman command is installed as
local/bin/lazyman and can be used to install, initialize, remove, and manage multiple Neovim configurations.
See the Install section for details on both Requirements and Installation.
See the Configurations section for details on Supported Configurations.
See the Features section for details on Lazyman Features.
See the Usage section for details on Lazyman Usage.
I’m a lazy man. I wanted to try out a bunch of nifty looking Neovim configurations but I didn’t want to spend a lot of time setting each of them up and managing them. Instead, I spent a lot of time writing an install/initialize/manage tool I could use:
Although the primary motivation for creating this project was to provide an easy way to try out various Neovim configurations,
lazyman can be used to setup and manage Neovim configurations tailored for specific purposes. A Neovim configuration for work, one for school, one for Python development, another for git repository maintenance and markdown editing, one with language servers and debugging tools, one for your mom.
It’s also pretty interesting and educational to see how some of these Neovim Wizards setup their configurations.
Lazyman was inspired by several Neovim distributions and configurations including:
Some of these distributions, like the work of Michael Peter, are released under an MIT license and I was able to copy directly configuration or initialization code. Others, like the work of Marc Jakobi, are released under a more restrictive license and I was only able to use these as reference but still a valuable aid. I copied my own previous work liberally.
See the Info section for detailed information on Lazyman supported configurations.
See the Notes article for details on Lazyman Notes.
See the Removal section of Install for details on Lazyman Configuration Removal.
See the article Known Limitations and Troubleshooting for details on limitations and debugging.