<# LXS - Utilities (Windows) Description: Everyday utilities installed through winget. 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)) } $env:LXS_LOG_FILE = Join-Path (Get-LxsTempDir) 'lxs_utilities.log' if (-not (Assert-LxsWindows)) { exit 1 } $LxsUtilityPackages = @( @{ Name = '7-Zip'; Id = '7zip.7zip' } @{ Name = 'Notepad++'; Id = 'Notepad++.Notepad++' } @{ Name = 'PowerToys'; Id = 'Microsoft.PowerToys' } @{ Name = 'Sysinternals'; Id = 'Microsoft.Sysinternals' } @{ Name = 'Everything'; Id = 'voidtools.Everything' } @{ Name = 'ShareX'; Id = 'ShareX.ShareX' } ) Invoke-LxsPackageMenu -Title 'UTILITIES' -Packages $LxsUtilityPackages ` -Note 'Search, screenshots, archives and the Sysinternals suite.' | Out-Null exit 0