Skip to content

Supported_Configurations

Ronald Record edited this page May 14, 2023 · 7 revisions

Supported configurations

After installing and initializing lazyman, additional Neovim configurations can be installed and initialized using the lazyman command.

Currently the following Neovim configurations are supported:

The lazyman command separates Neovim configurations into 4 categories: Base, Extra, Starter, and Custom. The Base category consists of well tested Neovim configurations, all of which provide significant value. The Extra category includes additional Neovim configurations that provide significant value but have not been thoroughly tested. The Starter category consists of the Kickstarter Neovim configuration 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.

Currently over 25 popular Neovim configurations are supported in the following Lazyman Neovim configuration categories:

Base Configs
AstroNvim Ecovim Abstract
LazyVim LunarVim MagicVim
Nv NvChad SpaceVim
Personal Configs
Mini Ember Knvim Fennel Adib
Optixal Vim Plug Heiker Roiz Simple
Starter Configs
Basic Kickstart Minimal
StartBase Opinionated StartLsp
StartMason Modular NvPak

Known working custom Lazyman configurations not yet integrated into the above categories. See the custom configuration section for installation details.

Custom Configs
AlanVim Basic IDE Brain Charles CodeArt
CosmicNvim Elianiva Magidc Oh-My-Nvim ONNO

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.

Custom 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:

export NVIM_APPNAME="<nvimdir>"

where <nvimdir> is the argument provided to -N above.

For example, to install and initialize the LazyVim based Neovim configuration hosted at https://github.com/appelgriebsch/Nv and place it in ~/.config/nvim-Nv, execute the command:

lazyman -C https://github.com/appelgriebsch/Nv -N nvim-Nv
export NVIM_APPNAME="nvim-Nv"
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:

lazyman -b main -C https://github.com/alanRizzo/dot-files -D nvim -N nvim-AlanVim -P

Custom Neovim configurations may require additional setup work not performed by lazyman. For example, the CosmicNvim Neovim config requires Node.js, prettierd, and eslint_d but these are installed with Mason when using lazyman. To install and initialize the CosmicNvim Neovim configuration perform the following:

  • Verify the above prerequisites are installed
  • Install CosmicNvim with lazyman:
    • lazyman -b main -C https://github.com/CosmicNvim/CosmicNvim -N nvim-Cosmic -z
  • Copy the example configs:
    • cd ~/.config/nvim-Cosmic/lua/cosmic/config
    • cp examples/config.lua config.lua
    • cp examples/editor.lua editor.lua
  • Run Neovim with the CosmicNvim configuration:
    • NVIM_APPNAME="nvim-Cosmic" nvim

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> ....

Custom Neovim configurations can be installed and initialized in this manner but there are often errors and issues such as an initialization process that Lazyman does not yet support. However, you may find it useful or interesting to explore, resolve errors and issues, and contribute to the ever expanding set of Lazyman supported Neovim configurations.

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.