The idea of deferred load is we priotize to instantly load plugin that we need on startup. And load plugin that we don't need later. So yeah it's like what zinit does with their turbo mode. In Neovim, we can achive this with vim.defer_fn
In case you don't know, dep is a neovim plugin manager. The reason I choose it instead of packer is its ability to load plugins in consistent order.
Since you already got the gist of what will we do, let's jump to the code.
I will dump all of the code in init.lua to make it simpler.