This release addresses the breaking change in AstroNvim
v4, released 01-Apr-2024
. Version 4 AstroNvim
configurations can be installed with lazyman -4 ...
and version 3 AstroNvim
configurations can be installed with lazyman -J ...
. Several Lazyman
supported configurations switched from Packer
to Lazy.nvim
and this release addresses those changes.
In addition, an example AstroNvim v4
configuration is included in the lazyman
supported Starter
configurations and can be installed with lazyman -x AstroNvimV4
. The AstroNvimV4
configuration can be managed using an interactive menu interface with lazyman -F anvmv4
.
- Support for Neovim 0.10
- Support for Ubuntu 23.04 and greater
- Use
fzf
andlsd
to provide a preview innvims
shell function
This major new release of lazyman
supports over 100 Neovim configurations. The nvim-Lazyman
Neovim configuration options and enabled plugins can be managed through the lazyman
command menus. The Lazyman initialization defaults to using the native package manager rather than Homebrew to install Neovim dependencies and tools. Native package managers are supported on Debian based platforms (e.g. Ubuntu), RPM based platforms (e.g. Fedora), Arch Linux, Alpine Linux, SUSE Linux, and Void Linux. To use Homebrew rather than the native package manager, use lazyman -h ...
when initializing the system. Homebrew is the default on macOS and used elsewhere if no supported native package manager is found.
Version 3.1 adds support for 3 namespaces in the Lazyman
Neovim configuration - ecovim
(the default), free
(the original), and onno
. All namespaces can be managed via menus (lazyman -F
).
All that is needed to bootstrap Lazyman
is the lazyman.sh script. Download and execute to get started:
git clone https://github.com/doctorfree/nvim-lazyman $HOME/.config/nvim-Lazyman
$HOME/.config/nvim-Lazyman/lazyman.sh
See below for detailed Installation instructions to bootstrap Lazyman. Once Lazyman is installed, execute the lazyman
command to manage Neovim configurations. The lazyman
command is located in ~/.local/bin/lazyman
.
The Lazyman project can be used to install, initialize, manage, and explore multiple Neovim configurations. Currently over 100 popular Neovim configurations are supported in the following configuration categories:
Base | Configs | |
---|---|---|
Abstract | AstroNvimPlus | Basic IDE |
Ecovim | LazyVim | LunarVim |
MagicVim | NvChad | SpaceVim |
Language | Configs | |||||
---|---|---|---|---|---|---|
AlanVim | Allaman | CatNvim | Cpp | Go | Go2one | Insis |
Knvim | LaTeX | LazyIde | LunarIde | LvimIde | Magidc | Nv |
NV-IDE | Orange | Python | Rust | SaleVim | Shuvro | Webdev |
Starter | Configs | |||
---|---|---|---|---|
AstroNvimStart | Barebones | Basic | CodeArt | CosmicNvim |
Ember | Fennel | HardHacker | JustinOhMy | Kickstart |
KickstartPython | Kabin | Micah | Modern | Normal |
nvim2k | NvPak | PDE | Rohit | Scratch |
SingleFile |
VonHeikemen | Starter | Configs | ||
---|---|---|---|---|
BasicLsp | BasicMason | Extralight | LspCmp | Minimal |
Modular | Opinionated | StartBase | StartLsp | StartMason |
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.
The lazyman
command is installed as ~/.local/bin/lazyman
and can be used to install, initialize, remove, and manage multiple Neovim configurations.
The Lazyman installation process consists of two steps:
git clone https://github.com/doctorfree/nvim-lazyman $HOME/.config/nvim-Lazyman
$HOME/.config/nvim-Lazyman/lazyman.sh
These steps:
- Download the Lazyman Neovim configuration
- Initialize the Lazyman Neovim configuration which:
- Installs Homebrew if not already installed (macOS only)
- Installs the latest release version of Neovim if not already installed
- Installs language servers and tools for coding diagnostics
- Installs and initializes configured Neovim plugins
Lazyman installs Neovim if there is not already Neovim 0.9 or later installed and in the execution path. In addition, Lazyman installs Neovim dependencies, some language servers, and tools.
The installation of Neovim 0.9, language servers, and tools ensures a proper runtime environment. To avoid the installation of Neovim, language servers, and tools, execute lazyman -Z
:
git clone https://github.com/doctorfree/nvim-lazyman $HOME/.config/nvim-Lazyman
$HOME/.config/nvim-Lazyman/lazyman.sh -Z
Note that circumventing the Neovim installation means that Neovim 0.9 must be installed in some other manner. Also, language servers and tools required by some Neovim configurations may not be present. However, some may prefer to handle the installation of Neovim 0.9, language servers, and tools on their own. In this case, the -Z
option is your friend.
If, after initializing Lazyman with lazyman -Z
, you wish to let Lazyman install Neovim 0.9, language servers and tools, then issue the command lazyman -I
or choose the Install Tools
lazyman menu option.
To bootstrap the Lazyman Neovim configuration manager, the lazyman.sh
script must be downloaded and executed. The download can be performed with git
, curl
, wget
, copy/paste, or download the release artifact.
The recommended bootstrap procedure is with git
:
Clone the repository with git
and execute lazyman.sh
:
git clone https://github.com/doctorfree/nvim-lazyman $HOME/.config/nvim-Lazyman
$HOME/.config/nvim-Lazyman/lazyman.sh
Alternatively, download the lazyman.sh
script and execute it. For example, with curl
:
curl -fsS https://raw.githubusercontent.com/doctorfree/nvim-lazyman/main/lazyman.sh > /tmp/lazyman.sh
chmod 755 /tmp/lazyman.sh
/tmp/lazyman.sh
rm -f /tmp/lazyman.sh
Once the lazyman.sh
script has been downloaded and executed, subsequent Lazyman operations can be performed with the lazyman
command found in ~/.local/bin/lazyman
. The manual page can be viewed with man lazyman
.
If you do not wish to use this automated installation and initialization method then manual installation and initialization is described below. Manual installation and initialization may be preferred by those who do not wish to upgrade Neovim to the latest version or by those who do not wish to use Homebrew.
Neovim 0.8 and earlier users, see the Neovim 0.8 section in the README for manual installation and initialization of nvim-Lazyman
.
Neovim 0.9 and later users, see the Neovim 0.9) section in the README for manual installation and initialization of nvim-Lazyman
.
Neovim 0.9 and later users can use the NVIM_APPNAME
environment variable to control where Neovim looks for its configuration.
After installing and initializing lazyman
, additional Neovim configurations can be installed and initialized using the lazyman
command.
Run lazyman
without any arguments to view an interactive menu system.
The lazyman command can be used to remove previously installed Neovim configurations with the -R
command line option. For example, to remove a previously installed LazyVim
configuration, its initialized plugins, state, and cache, execute the following command:
lazyman -l -R
To remove the nvim-Lazyman
configuration and associated plugins, state, and cache:
lazyman -R -N nvim-Lazyman
All lazyman
operations can be performed as a dry run with -n
. For example, to see which LazyVim
folders would be removed without removing any:
lazyman -n -l -R