-- An example subset of your init.lua local function source_matugen() -- Update this with the location of your output file local matugen_path = os.getenv("HOME") .. "/.config/nvim/matugen.lua" -- dofile doesn't expand $HOME or ~ local file, err = io.open(matugen_path, "r") -- If the matugen file does not exist (yet or at all), we must initialize a color scheme ourselves if err ~= nil then -- Some placeholder theme, this will be overwritten once matugen kicks in vim.cmd('colorscheme base16-catppuccin-mocha') -- Optionally print something to the user vim.print("A matugen style file was not found, but that's okay! The colorscheme will dynamically change if matugen runs!") else dofile(matugen_path) io.close(file) end end -- Main entrypoint on matugen reloads local function auxiliary_function() -- Load the matugen style file to get all the new colors local matugen_path = os.getenv("HOME") .. "/.config/nvim/generated.lua" source_matugen() -- Because reloading base16 overwrites lualine configuration, just source lualine here dofile(os.getenv("HOME") .. '/.config/nvim/config/plugins/lualine-nvim.lua') -- path of your lualine setup -- Any other options you wish to set upon matugen reloads can also go here! vim.api.nvim_set_hl(0, "Comment", { italic = true }) end -- Register an autocmd to listen for matugen updates vim.api.nvim_create_autocmd("Signal", { pattern = "SIGUSR1", callback = auxiliary_function, }) -- Additionally call this function once on startup to query for matugen's theme -- or set a default auxiliary_function()