opus/sys/init/6.packages.lua

36 lines
871 B
Lua
Raw Normal View History

2018-10-21 00:35:48 +00:00
local Packages = require('packages')
local Util = require('util')
2018-12-23 03:11:16 +00:00
local fs = _G.fs
local help = _G.help
2018-10-21 00:35:48 +00:00
local shell = _ENV.shell
2019-01-09 11:59:19 +00:00
if not fs.exists('usr/config/packages') then
2019-06-18 19:19:24 +00:00
pcall(function()
Packages:downloadList()
end)
2019-01-09 11:59:19 +00:00
end
2018-12-27 08:05:12 +00:00
local appPaths = Util.split(shell.path(), '(.-):')
2018-12-23 22:32:06 +00:00
local helpPaths = Util.split(help.path(), '(.-):')
table.insert(helpPaths, '/sys/help')
2018-10-21 00:35:48 +00:00
2018-11-04 18:00:37 +00:00
for name in pairs(Packages:installed()) do
2018-11-03 22:13:41 +00:00
local packageDir = fs.combine('packages', name)
2018-10-21 00:35:48 +00:00
2019-02-07 08:10:05 +00:00
table.insert(appPaths, 1, packageDir)
2019-03-06 16:48:09 +00:00
local apiPath = fs.combine(packageDir, 'apis')
2018-10-21 08:46:40 +00:00
if fs.exists(apiPath) then
2019-01-27 03:58:02 +00:00
fs.mount(fs.combine('sys/apis', name), 'linkfs', apiPath)
2018-10-21 08:46:40 +00:00
end
2018-12-23 03:11:16 +00:00
2019-03-06 16:48:09 +00:00
local helpPath = '/' .. fs.combine(packageDir, 'help')
2018-12-23 03:11:16 +00:00
if fs.exists(helpPath) then
table.insert(helpPaths, helpPath)
end
2018-10-21 00:35:48 +00:00
end
2018-12-23 03:11:16 +00:00
help.setPath(table.concat(helpPaths, ':'))
2018-10-21 00:35:48 +00:00
shell.setPath(table.concat(appPaths, ':'))