diff --git a/halyde/kernel/boot.lua b/halyde/kernel/boot.lua index 72f30e5..e95a687 100644 --- a/halyde/kernel/boot.lua +++ b/halyde/kernel/boot.lua @@ -14,12 +14,8 @@ local log = assert(loadfile("/lib/log.lua")(loadfile)) log.kernel.info("Bound GPU to screen " .. tostring(screenAddress)) -log.kernel.info("Loaded OS logo") - _G.package = { ["preloaded"] = {} } -loadfile("/halyde/kernel/modules/datatools.lua")() - function _G.reqgen(load) return function(module, ...) local args = table.pack(...) @@ -64,23 +60,17 @@ function _G.package.preload(module) handle:close() package.preloaded[module] = assert(load(data, "=" .. module))() _G[module] = nil + log.kernel.info(string.format("Pre-loaded /lib/%s.lua", module)) end --- Datatools is imported twice?? require("/halyde/kernel/datatools.lua") -- If this is not imported BEFORE modload gets run, modload requires filesystem which requires computer which requires datatools. TODO: When VFS is implemented, make the pre-VFS loading of filesystem load a more basic version. And remove this. log.kernel.info("Loading modules") require("/halyde/kernel/modload.lua") package.preload("component") -log.kernel.info("Pre-loaded /lib/component.lua") package.preload("computer") -log.kernel.info("Pre-loaded /lib/computer.lua") package.preload("log") -log.kernel.info("Pre-loaded /lib/log.lua") -if not filesystem.exists("/halyde/config/shell.json") then -- Auto-generate configs - filesystem.copy("/halyde/config/generate/shell.json", "/halyde/config/shell.json") -end if not filesystem.exists("/halyde/config/startupapps.json") then filesystem.copy("/halyde/config/generate/startupapps.json", "/halyde/config/startupapps.json") end diff --git a/halyde/shell/shell.lua b/halyde/shell/shell.lua index 7e39c54..4c52eee 100644 --- a/halyde/shell/shell.lua +++ b/halyde/shell/shell.lua @@ -1,5 +1,8 @@ local fs = require("filesystem") local json = require("json") +if not fs.exists("/halyde/config/shell.json") then -- Auto-generate configs + fs.copy("/halyde/config/generate/shell.json", "/halyde/config/shell.json") +end local handle, data, tmpdata = fs.open("/halyde/config/shell.json", "r"), "", nil repeat tmpdata = handle:read(math.huge)