Source neovim configuration without restart when config contains 'require's

I’m trying to set a mapping to reload neovim configuration from a project without restarting neovim. If I’m having my configuration divided into multiple files and I’m importing those files in ‘init.lua’ file. I can source individual files by “:so %” in that file and also using the absolute path of the file.

But I cannot source the configuration using the init.lua file which contains the imports/requires of other files. I can’t do “:so %” in init.lua and also cannot source using absolute path. “:so $MYVIMRC” doesn’t work too.

Is there any way I can source the entire configuration without reloading neovim? Do I need to source all files individually?