41 lines
1.6 KiB
PowerShell
41 lines
1.6 KiB
PowerShell
<#
|
|
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
|