docs: Update README and documentation for lxs multi-tool across Linux and Windows platforms.

This commit is contained in:
2026-09-09 15:32:05 -04:00
parent 3fda22d3d5
commit 1df5cdb0bb
37 changed files with 4811 additions and 75 deletions
+60
View File
@@ -0,0 +1,60 @@
<#
LXS - platform dispatcher (Windows side)
Thin shim kept at the repo root so the documented one-liner stays short and
stable while the real implementation lives in windows\lxs.ps1:
irm https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.ps1 | iex
& ([scriptblock]::Create((irm https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.ps1))) setup
Repo: https://git.hyko.cx/hykocx/lxs
License: MIT
#>
$LxsShimArgs = @($args)
$LxsRepoUrl = 'https://git.hyko.cx/hykocx/lxs'
$LxsBranch = if ($env:LXS_BRANCH) { $env:LXS_BRANCH } else { 'main' }
$LxsRawBase = if ($env:LXS_RAW_BASE) { $env:LXS_RAW_BASE } else { "$LxsRepoUrl/raw/branch/$LxsBranch" }
$LxsPlatformDir = 'windows'
# Running this shim under pwsh on Linux/macOS is a mistake worth catching.
if ($PSVersionTable.PSVersion.Major -ge 6 -and
-not [System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform(
[System.Runtime.InteropServices.OSPlatform]::Windows)) {
Write-Error 'lxs.ps1 is the Windows entrypoint. On Linux or macOS, use lxs.sh instead.'
exit 1
}
# Locate a sibling windows\lxs.ps1 (repo checkout or installed layout).
$LxsSelfDir = $PSScriptRoot
if (-not $LxsSelfDir -and $MyInvocation.MyCommand.Path) {
$LxsSelfDir = Split-Path -Parent $MyInvocation.MyCommand.Path
}
if ($LxsSelfDir) {
$local = Join-Path $LxsSelfDir "$LxsPlatformDir\lxs.ps1"
if (Test-Path $local) {
& $local @LxsShimArgs
exit $LASTEXITCODE
}
}
# No files on disk — we were piped from irm. Fetch the platform entrypoint.
$temp = Join-Path $env:TEMP ("lxs.entrypoint.{0}.ps1" -f [guid]::NewGuid().ToString('N').Substring(0, 8))
try {
Invoke-WebRequest -Uri "$LxsRawBase/$LxsPlatformDir/lxs.ps1" -OutFile $temp `
-UseBasicParsing -Headers @{ 'Cache-Control' = 'no-cache' } -ErrorAction Stop
} catch {
Write-Error "lxs: failed to fetch $LxsRawBase/$LxsPlatformDir/lxs.ps1"
exit 1
}
try {
$global:LASTEXITCODE = 0
& $temp @LxsShimArgs
$code = $LASTEXITCODE
} finally {
Remove-Item $temp -Force -ErrorAction SilentlyContinue
}
exit $code