Skip to content

AstroNvimλ︎

🌐 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 Config is a user configuration that extends AstroNvim and imports packages from the AstroNvim Community.

Prerequisitsλ︎

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λ︎

Clone AstroNvim repository to $HOME/.config/astronvim/

git clone --depth 1 https://github.com/AstroNvim/AstroNvim ~/.config/astronvim

$HOME/.config/nvim can be used instead if only ever using one configuration for Neovim.

Clone AstroNvim user configλ︎

AstroNvim provides a template repository to create a user configuration. The template includes AstroNvim Community configuration to make it easier to extend the feature of AstroNvim.

Practicalli AstroNvim Config is a clone of the AstroNvim user config with additional configuration to support Clojure development.

Clone the Practicalli AstroNvim config which provides a user configuration with Clojure support

git clone http://github.com/practicalli/astronvim-config $HOME/.config/astronvim/lua/user

Or clone to a separate directory and create a symbolic link

git clone http://github.com/practicalli/astronvim-config $HOME/.config/astronvim-config && \
ln -s $HOME/.config/astronvim-config/ $HOME/.config/astronvim/lua/user

Create your own user configuration using the AstroNvim user configuration template repository.

Create a repository from the AstroNvim/user_example repository template

AstroNvim user example repository - use this template

Clone the newly created repository into the existing AstroNvim configuration, in a user directory

git clone git@github.com/<github-account>/<new-repository> $HOME/.config/astronvim/lua/user

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 .zshenv for Zsh

alias astro="NVIM_APPNAME=astronvim nvim"

Configure shell alias

Post installλ︎

Open a terminal and use the astro alias to run Neovim.

astro

NVIM_APPNAME=astronvim 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

nvim --headless -c 'autocmd User LazyDone quitall'

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

AstroNvim packages - mason all installed

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.


Last update: July 17, 2023