diff --git a/init.lua b/init.lua
index c4df3b3a102809af9b49899d7c4c9986db0844e1..840cb0cfc8eeb42d229f36a2d873f71c26271f08 100644
--- a/init.lua
+++ b/init.lua
@@ -47,13 +47,4 @@ hooks = { post_checkout = function() vim.cmd('GoUpdateBinaries') end },
})
for _, value in ipairs(pkgs) do add({source = value}) end
-
-local neogit = require("neogit")
-local null_ls = require("null-ls")
-local mason = require("mason")
-
-null_ls.setup({sources = {null_ls.builtins.diagnostics.golangci_lint}})
-neogit.setup()
-mason.setup()
-
require("gabrielgio")
diff --git a/lua/gabrielgio/init.lua b/lua/gabrielgio/init.lua
index 590aa13e11014aacabb4e0c9262d85090225d498..00a5ba3658acc49aa0f9a47fe66af4c6b05de6ca 100644
--- a/lua/gabrielgio/init.lua
+++ b/lua/gabrielgio/init.lua
@@ -4,6 +4,7 @@
now(function() require("gabrielgio.settable") end)
now(function() require("gabrielgio.treesitter") end)
+later(function() require("gabrielgio.lazy") end)
later(function() require("gabrielgio.lsp") end)
later(function() require("gabrielgio.mini") end)
later(function() require("gabrielgio.go") end)
diff --git a/lua/gabrielgio/lazy.lua b/lua/gabrielgio/lazy.lua
new file mode 100644
index 0000000000000000000000000000000000000000..f5d07f712a3720cb7d57059b2018ae9f6c0712db
--- /dev/null
+++ b/lua/gabrielgio/lazy.lua
@@ -0,0 +1,9 @@
+-- this file is an amalgamation of configurations that don't have its own
+-- config file and will be lazily loaded
+local neogit = require("neogit")
+local null_ls = require("null-ls")
+local mason = require("mason")
+
+null_ls.setup({sources = {null_ls.builtins.diagnostics.golangci_lint}})
+neogit.setup()
+mason.setup()