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 …