Skip to content
generated from AstroNvim/template

Rich development workflow with Clojure support, using AstroNvim 4 and selected plugins

Notifications You must be signed in to change notification settings

practicalli/astro

Repository files navigation

Practicalli Astro Configuration

Clojure development and more with Neovim 0.10.x and AstroNvim version 4

Practicalli Neovim describes the Clojure REPL workflow, rich Git and GitHub clients and easy management of plugins and tools using this configuration.

Requires a local install of the Clojure LSP server until Mason Registry updated

🛠️ Installation

Clone the Practicalli Astro repository (create a fork if customisation desired)

git clone [email protected]:practicalli/astro $HOME/.config/nvim

Run nvim command and wait for all plugins to update

nvim

Multiple Neovim configs

Clone to $HOME/.config/astronvim if there is an existing neovim configuration and use the NVIM_APPNAME=astronvim nvim command to start Neovim with AstroNvim configuration

git clone [email protected]:practicalli/astro $HOME/.config/nvim-astro

Create a shell alias to run the new configuration, e.g. in .bashrc or .zshrc (or a shell-aliases file that each shell rc file sources)

alias astro="NVIM_APPNAME=nvim-astro nvim"

Load the alias into the current shell (or open a new shell)

source shell-aliases

Run astro and allow neovim packages to be installed and Treesitter language parsers to compile.

astro

Configuration

The configuration is based on the AstroNvim template config. Changes to existing file have been kept to a minimum, except for lua/community.lua which has additional plugins from the AstroNvim Community repository.

lua/plugins/example-config.lua shows how to modify and extend the AstroNvim configuration. This config is not loaded by defult.

Create your own lua/plugins/user-name.lua file to:

  • override default plugin configuration
  • add new plugins (or create a new file for a plugin to make them easier to be optional) or by customising the lua/plugins/user.lua file.

lua/plugins/user-practicalli.lua is an example of a user configuration that adds plugins and overrides plugin options.

Lua files in the lua/plugins directory are loaded in alphabetical order so plugin overrides should be the last file to load, e.g lua/plugins/user-*

Clojure LSP

Mason is used to install LSP servers, format & lint tools which have their current versions defined in the Mason Registry.

As of 17 December 2024, Practicalli astro is configured to use a locally installed Clojure LSP server to get the latest release.

Install Clojure LSP from the GitHub Releases or follow the instructions for your operating system

Once Mason Repository PR #7896 bump(clojure-lsp): update to v2024.11.08-17.49.29 is merged, Practicalli Astro will revert to the Mason install of Clojure LSP

Sponsor Practicalli

Sponsor Practicalli via GitHub

All sponsorship funds are used to support the continued development of Practicalli series of books and videos, although most work is done at personal cost and time.

Thanks to Cognitect, Nubank and a wide range of other sponsors for your continued support