just use lazyvim[1] and be done with it! some people takes care of the compatibility and they are probably more competent than you (i mean a newcomer who starts writing their nvim config)
https://old.reddit.com/r/neovim/comments/1dgtyzw/lazynvim_do...
https://old.reddit.com/r/neovim/comments/1dp47gi/lazyvim_own...
I think i had an issue when they moved to conform.nvim from the deprecated language server based method but that's maybe about it (I deleted the nvim cache and it was all good after)