Neovim 0.9.0 introduced the ability to have isolated configs. For example to try LazyVim:
git clone https://github.com/LazyVim/starter ~/.config/LazyVim NVIM_APPNAME=LazyVim nvim
NVIM_APPNAME $NVIM_APPNAME The XDG directories used by Nvim can be further configured by setting the $NVIM_APPNAME environment variable. This variable controls the directory Neovim will look for (and auto-create) in the various XDG parent directories. For example, setting $NVIM_APPNAME to "neovim" before running Neovim will result in Neovim looking for configuration files in $XDG_CONFIG_HOME/neovim instead of $XDG_CONFIG_HOME/nvim. Note: Similarly to the $XDG environment variables, when $XDG_CONFIG_HOME/nvim is mentioned, it should be understood as $XDG_CONFIG_HOME/$NVIM_APPNAME. LOG FILE log $NVIM_LOG_FILE E5430 Besides 'debug' and 'verbose', Nvim keeps a general log file for internal debugging, plugins and RPC clients. :echo $NVIM_LOG_FILE By default, the file is located at stdpath("log")/log unless that path is inaccessible or if $NVIM_LOG_FILE was set before startup.
Speaking of LazyVim, it is amazing – more on that later …