1
0
mirror of https://github.com/kepler155c/opus synced 2024-11-16 21:54:49 +00:00
opus/sys/init/6.packages.lua
2019-06-28 13:50:02 -04:00

38 lines
954 B
Lua

local Packages = require('opus.packages')
local Util = require('opus.util')
local fs = _G.fs
local help = _G.help
local shell = _ENV.shell
if not fs.exists('usr/config/packages') then
pcall(function()
Packages:downloadList()
end)
end
local appPaths = Util.split(shell.path(), '(.-):')
local helpPaths = Util.split(help.path(), '(.-):')
table.insert(helpPaths, '/sys/help')
for name in pairs(Packages:installed()) do
local packageDir = fs.combine('packages', name)
table.insert(appPaths, 1, packageDir)
local apiPath = fs.combine(packageDir, 'apis')
if fs.exists(apiPath) then
fs.mount(fs.combine('rom/modules/main', name), 'linkfs', apiPath)
end
local helpPath = '/' .. fs.combine(packageDir, 'help')
if fs.exists(helpPath) then
table.insert(helpPaths, helpPath)
end
end
help.setPath(table.concat(helpPaths, ':'))
shell.setPath(table.concat(appPaths, ':'))
fs.mount('rom/modules/main/opus', 'linkfs', 'sys/modules/opus')