Really learning NeoVim

I started using Vi, Vim and NeoVim a while ago already. At least 10 years already or so. I just realise I was at the start of NeoVim. In the meantime I used some different NeoVim distros:

I did that meme of the graph where noob uses little to no stuff, in the middle you do all this fancy stuff and then at the right you are at the other extreme and you use little to no stuff again. I am at the right side again.

When I started I found the fact you had to learn the config and use Plug or Vundle. Then in recent years the Lazy.nvim came to the market, and everyone is using that now. Well with NeoVim 0.12 release we get native package manager.

So I decided to redo my config from scratch and instead of having a tonne of extra features that I will never use, just pull in the features I like and actually use and whenever I run into a problem of how do I this or how should do I that, just implement it at that time.

My current config of init.lua for my NeoVim is about 145 lines long and most of that is enabling different LSPs and TreeSitters. These are the plugins I use currently:

vim.pack.add({
  { src = "https://github.com/catppuccin/nvim" },
  { src = "https://github.com/stevearc/oil.nvim" },
  { src = "https://github.com/echasnovski/mini.pick" },
  { src = "https://github.com/echasnovski/mini.comment" },
  { src = "https://github.com/echasnovski/mini.pairs" },
  { src = "https://github.com/echasnovski/mini.icons" },
  { src = "https://github.com/nvim-treesitter/nvim-treesitter" },
  { src = "https://github.com/folke/twilight.nvim" },
  { src = "https://github.com/folke/todo-comments.nvim" },
  { src = "https://github.com/MeanderingProgrammer/render-markdown.nvim" },
  { src = "https://github.com/michaelrommel/nvim-silicon" },
})

These are the bare minimum I feel I use to do my programming in a nice flow. As you can see, there is no Mason, one can just follow the instructions contained in the LSP config lua files I feel. I rarely setup a complete dev flow to test out a new language. Usually in that case I just run a simple Docker container that has the config and tools I need.