Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local tArgs= {...}
- -- Installer properties
- local delete_files = false
- local skip_branch_select = false
- local reboot = false
- local format = false
- local user = "nothjarnan"
- local branch = 1
- -- Branches
- local branches = {
- "master",
- "experimental",
- "hotfix",
- }
- for k,v in ipairs(tArgs) do
- if v == "-f" then
- format = true
- end
- if v == "-r" then
- reboot = true
- end
- if v == "-d" then
- delete_files = true
- end
- for a,b in ipairs(branches) do
- if v == b then
- branch = b
- skip_branch_select = true
- print("Selected branch "..b)
- break
- end
- end
- end
- if format then
- term.setTextColor(colors.red)
- print("WARNING")
- term.setTextColor(colors.white)
- print("Formatting your system *WILL* remove *EVERY* file from your computer, CONTINUE? (hold Y)")
- while(true) do
- local event, key, isHeld = os.pullEvent("key")
- if isHeld then
- if key == keys.y then
- print("Formatting.. ")
- local files = fs.list("/")
- for k,v in ipairs(files) do
- if v ~= "rom" and v ~= shell.getRunningProgram() then
- print("-"..v)
- fs.delete(v)
- sleep(.1)
- -- Wait a tiny bit to actually make it look like it's working.
- -- This is actually a scientifically proven thing, people are more trustworthy of things that 'look' like
- -- It's doing something, rather than something that actually does something. That's how ransomware works!
- end
- end
- print("Format complete")
- break
- else
- break
- end
- end
- end
- end
- local function formatFS()
- local function mkdir(dir)
- if not fs.exists(dir) then fs.makeDir(dir) end
- end
- if fs.exists("AxiomUI") then
- for k, v in pairs(fs.list("AxiomUI")) do
- if not fs.exists(v) then
- fs.move("AxiomUI/"..v, v)
- print("AxiomUI/"..v.." -> "..v)
- else
- print("AxiomUI/"..v.." -x>")
- end
- end
- fs.delete("AxiomUI")
- -- Ask for user confirmation unless specified
- if not delete_files then
- print("Press and hold Y to delete unused files. Press and hold any other key to exit")
- while(true) do
- local event, key, isHeld = os.pullEvent("key")
- if isHeld then
- if key == keys.y then
- write("Deleting files.. ")
- fs.delete("install.lua")
- fs.delete("README.md")
- fs.delete("CODE_OF_CONDUCT.md")
- fs.delete(".gitignore")
- fs.delete("Axiom/debug.lua")
- sleep(.25)
- print("OK")
- break
- else
- break
- end
- end
- end
- else
- write("Deleting files.. ")
- fs.delete("install.lua")
- fs.delete("README.md")
- sleep(.25)
- print("OK")
- end
- else
- error("formatFS failed")
- end
- end
- local function wget(url, file)
- local data = http.get(url)
- if data ~= nil then
- data = data.readAll()
- local file_handle = fs.open(file,"w")
- file_handle.write(data)
- file_handle.close()
- else
- error("Could not download "..file..", quitting..")
- end
- end
- function selector(y,option)
- term.setCursorPos(1,y)
- for k,v in ipairs(branches) do
- if k == option then
- write(v.. " <-")
- term.setCursorPos(1,y+k)
- else
- write(v.. " ")
- term.setCursorPos(1,y+k)
- end
- end
- end
- local version = os.version()
- if version == "CraftOS 1.5" then
- error("Axiom is not compatible with "..version.."!")
- end
- print("AxiomUI Github Superfast(tm) Installer")
- if not skip_branch_select then
- print("Select a branch:")
- local x,y = term.getCursorPos()
- if y > 18 then
- shell.run("clear")
- print("Select a branch:")
- x,y = term.getCursorPos()
- end
- selector(y,branch)
- while(true) do
- local e,k,h = os.pullEvent( "key" )
- if k == keys.up then
- if branch > 1 then
- branch = branch - 1
- selector(y,branch)
- end
- end
- if k == keys.down then
- if branch < #branches then
- branch = branch + 1
- selector(y,branch)
- end
- end
- if k == keys.enter then
- branch = branches[branch]
- print("Branch selected: "..branch)
- print("Starting installation")
- break
- end
- end
- end
- wget("https://pastebin.com/raw/W5ZkVYSi",".gitget")
- shell.run(".gitget "..user.." axiom "..branch.." AxiomUI")
- formatFS()
- print("Installation completed.")
- if reboot then os.reboot() end
Add Comment
Please, Sign In to add comment