docs: Update README and documentation for lxs multi-tool across Linux and Windows platforms.
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
<#
|
||||
LXS - Apps index (Windows)
|
||||
Description: Interactive menu listing the installers in windows\apps
|
||||
Repo: https://git.hyko.cx/hykocx/lxs
|
||||
#>
|
||||
|
||||
# Load LXS common library (colors, UI helpers, spinner, loggers, guards).
|
||||
# Prefers the sibling ..\lib\common.ps1 (repo checkout or installed layout) and
|
||||
# only hits the network when this script is run standalone.
|
||||
$LxsRawBase = if ($env:LXS_RAW_BASE) { $env:LXS_RAW_BASE } else { 'https://git.hyko.cx/hykocx/lxs/raw/branch/main' }
|
||||
if (-not $env:LXS_RAW_PLATFORM_BASE) { $env:LXS_RAW_PLATFORM_BASE = "$LxsRawBase/windows" }
|
||||
$LxsLibPath = if ($PSScriptRoot) { Join-Path $PSScriptRoot '..\lib\common.ps1' } else { $null }
|
||||
if ($LxsLibPath -and (Test-Path $LxsLibPath)) {
|
||||
. $LxsLibPath
|
||||
} else {
|
||||
try {
|
||||
$LxsLibSource = Invoke-RestMethod -Uri "$env:LXS_RAW_PLATFORM_BASE/lib/common.ps1" -UseBasicParsing -ErrorAction Stop
|
||||
} catch {
|
||||
Write-Error 'Failed to fetch lib/common.ps1'
|
||||
exit 1
|
||||
}
|
||||
. ([scriptblock]::Create($LxsLibSource))
|
||||
}
|
||||
|
||||
function Show-LxsAppsMenu {
|
||||
while ($true) {
|
||||
Clear-Host
|
||||
Show-LxsBoxTop -Title 'APPLICATIONS' -Right 'APP_REPOSITORY'
|
||||
Write-Host ''
|
||||
Show-LxsMenuItem '01' 'Dev Pack' 'git, vscode, node, python'
|
||||
Show-LxsMenuItem '02' 'Utilities' '7zip, powertoys, sysinternals'
|
||||
Show-LxsMenuItem '03' 'Browsers & Media' 'librewolf, firefox, vlc, obs'
|
||||
Show-LxsMenuItem '04' 'Containers & VM' 'wsl2, docker, hyper-v'
|
||||
Show-LxsMenuItem '05' 'Claude Code' 'anthropic cli'
|
||||
Show-LxsMenuItem '00' 'BACK' '' -Exit
|
||||
Write-Host ''
|
||||
Show-LxsBoxBottom
|
||||
Write-Host ''
|
||||
$choice = Read-LxsChoice
|
||||
|
||||
$script = switch -Regex ($choice) {
|
||||
'^0?1$' { 'apps\dev-pack.ps1' }
|
||||
'^0?2$' { 'apps\utilities.ps1' }
|
||||
'^0?3$' { 'apps\browsers-media.ps1' }
|
||||
'^0?4$' { 'apps\containers.ps1' }
|
||||
'^0?5$' { 'apps\claude-code.ps1' }
|
||||
'^0?0$' { 'BACK' }
|
||||
default { $null }
|
||||
}
|
||||
|
||||
if ($script -eq 'BACK') { return }
|
||||
if (-not $script) {
|
||||
Write-LxsErr 'Invalid protocol. Select 0-5.'
|
||||
Start-Sleep -Seconds 1
|
||||
continue
|
||||
}
|
||||
|
||||
$code = Invoke-LxsSibling -RelativePath $script -SelfDirectory $PSScriptRoot
|
||||
if ($code -ne 75) { Read-LxsEnter }
|
||||
}
|
||||
}
|
||||
|
||||
Show-LxsAppsMenu
|
||||
exit 75
|
||||
Reference in New Issue
Block a user