local M = { path = string.format("%s/.config/nvim/config.lua", os.getenv "HOME"), } --- Initialize nvim default configuration -- Define nvim global variable function M:init() local utils = require "utils" require "config.defaults" local builtins = require "core.builtins" builtins.config(self) local settings = require "config.settings" settings.load_options() end --- Override the configuration with a user provided one -- @param config_path The path to the configuration overrides function M:load(config_path) config_path = config_path or self.path local ok, err = pcall(vim.cmd, "luafile " .. config_path) if not ok then print("Invalid configuration", config_path) print(err) return end self.path = config_path local settings = require "config.settings" settings.load_commands() end return M