This will be a quick post just to help those who, like me, don't like the distraction of virtual text on their editor.
Diagnostics are very helpful but I often get overwhelmed when I have more than a couple of errors in a file and get virtual text all over the place. Especially if you're using TypeScript, those errors are very verbose, so most of the time it doesn't even help much having truncated messages.

My preference is to have just the red underline and eventually a red sign
indicating that there's an error in a line. If I want to check that error out, I
can either open the diagnostics pane that contains all the errors listed, or
just press Ctrl+e
(my personal config), to see the error message popup in a
floating tooltip.
But unfortunately LazyVim and other plugins may override these settings, which is why just simply disabling virtual text in the config is not enough.
To effectively achieve this you only need to edit your autocmds.lua
file and
add the following snippet:
vim.api.nvim_create_autocmd("BufEnter", {
callback = function()
vim.diagnostic.config({ virtual_text = false })
end,
})
This way, whenever you enter a buffer, it turns off virtual text, overriding any other default configuration.