AstroNvimλ︎
AstroNvim 4.x version supported
AstroNvim 4 has been reorganised to be a collection of packages with a user configuration.
AstroNvim is a community configuration with an engaging UI, using Lazy for plugin management (Neovim packages) and Mason for package management (LSP, DAP, format and lint tools)
Practicalli AstroNvim User Config is a user configuration that extends AstroNvim and imports packages from the AstroNvim Community.
Prerequisitsλ︎
- Nerd Fonts version 3 - download a full font or only the symbols
- fzf fuzzy finder (ubuntu archive)
- gtu (Ubuntu package archive)
- btm from GitHub repository releases
- node.js (version 20) for Mason install of many LSP servers
AstroNvim requires node.js
AstroNvim uses Mason to install LSP servers, format and lint tools. Many LSP servers require node.js to install and function.
Kitty Terminal with Nerd Fonts
Kitty Terminal - Practicalli Engineering Playbook provides examples of using Nerd Fonts or Nerd Font symbols with the Kitty terminal.
Clone AstroNvim user configλ︎
AstroNvim is a template repository providing a user configuration that includes AstroNvim plugins.
AstroNvim Community configuration to make it easier to extend the feature of AstroNvim.
Practicalli AstroNvim User Config is a clone of the AstroNvim user config with additional configuration to support Clojure development.
Clone the Practicalli AstroNvim User Config which provides Clojure support on top of AstroNvim.
Create your own user configuration using the AstroNvim template repository to create a new GitHub repository.
Clone the newly created repository
Configure shell aliasλ︎
Create a shell alias that sets NVIM_APPNAME
to the location of the AstroNvim community config
Add alias to .bashrc
for Bash shell or .zshrc
for Zsh
dot aliases file for both bash and zsh
Create a .config/aliases
file containing all shell aliases when often switching between different shells, avoiding the need to define aliases twice
Source the .config/aliases
file from within .bashrc
and .zshrc
Post installλ︎
Open a terminal and use the astro
alias to run Neovim.
Lazy package manager will run automatically and download all plugins. Treesitter languages are automatically installed.
q to close the lazy package manager popup.
NVIM_APPNAME=astronvim4 nvim
to run Neovim with astronvim without setting a shell alias.
Neovim will open and display the Lazy plugin manager UI, showing the progress of plugin installation. This should only happen on the first run.
Unattended post install
Plugins can be installed without running the Neovim editor UI
Check Healthλ︎
Run the Neovim :checkhealth
command to report on the general Neovim install and supporting tools
Add LSP DAP Lint and Format toolsλ︎
SPC p m
to launch Mason which manages LSP servers, linters, filters ...
Configure format rulesλ︎
The configuration files for each lint and format tool should be used by Neovim.
Setting a different location for these files has proved challenging.
plugin/null-ls.lua
has a section to override its builtin configuration for each lint and format tool, however, in tests Practicalli was unable to succeffuly set a different location.