Files
lxs/windows/apps/utilities.ps1
T

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