Skip to content

Lazyman Version 2.1.7 Release 4

Compare
Choose a tag to compare
@doctorfree doctorfree released this 10 Jul 02:20
· 791 commits to main since this release

Lazyman Release Notes

This major new release of lazyman supports over 70 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.

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 70 popular Neovim configurations are supported in the following configuration categories:

Base Configs
Abstract AstroNvimPlus Basic IDE Ecovim LazyVim
LunarVim MagicVim NvChad penguinVim SpaceVim
Language Configs
AlanVim Allaman Go Go2one
Knvim LaTeX LazyIde LunarIde
LvimIde Magidc Nv Python
Rust SaleVim Shuvro Webdev
Personal Configs
3rd Adib Brain Charles Craftzdog
Daniel Dillon Elianiva Enrique Heiker
J4de Josean Metis Mini nvim2k
OnMyWay ONNO Optixal Roiz Simple
Rafi Slydragonn Spider Traap Xiao
Starter Configs
AstroNvimStart Basic CodeArt CosmicNvim Ember
Fennel HardHacker JustinLvim JustinNvim Kickstart
Kabin Lamia Micah Modern Normal
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.

Installation

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:

  1. Download the Lazyman Neovim configuration
  2. Initialize the Lazyman Neovim configuration which:
    1. Installs Homebrew if not already installed
    2. Installs the latest release version of Neovim if not already installed
    3. Installs language servers and tools for coding diagnostics
    4. Installs and initializes configured Neovim plugins

Lazyman uses Homebrew to install Neovim if there is not already Neovim 0.9 or later installed and in the execution path. In addition, Lazyman uses Homebrew to install Neovim dependencies, language servers, and tools.

The installation of Homebrew, Neovim 0.9, language servers, and tools ensures a proper runtime environment. To avoid the installation of Homebrew, 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.

Bootstrap

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.

Postinstall

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.

Removal

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