You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: windots refactor, pester test suite, and CI pipeline
- Convert Windots modules from .psm1 to .ps1 with dot-sourcing, remove Export-ModuleMember blocks
- Add Copy-ConfigFiles helper for DRY config installation across all dotfile installers
- Add Test-IsExcluded helper in Organizer.ps1 to centralize exclusion logic
- Add Assert-AdminOrElevate, Initialize-Logging, Invoke-MenuLoop utilities in Common.ps1
- Add smart install prompts for Oh My Posh and FastFetch (detect missing → install/skip/cancel)
- Add Pester test suite with 5 test files covering core functions, configs, and script syntax
- Add Pester CI job with NUnit XML artifact upload, rename workflow to "CI"
- Migrate Organizer.ps1 from Write-Host to Write-Log throughout
- Use shared Set-RegistryValue in Windots.Customization.ps1 instead of inline Set-ItemProperty
- Switch Steam Millennium install from piped irm|iex to direct .exe download
- Expand README tools grid with DefendNot, RemoveWindowsAI, and Sparkle
- Rewrite Windots README with structured tables, remove emojis
- Fix Expand-StartFolders path resolution using $PSScriptRoot directly
Copy file name to clipboardExpand all lines: modules/windots/Organizer.ps1
+38-36Lines changed: 38 additions & 36 deletions
Original file line number
Diff line number
Diff line change
@@ -41,9 +41,23 @@ foreach ($item in $excludeList) {
41
41
$null=$excludeHash.Add($item)
42
42
}
43
43
44
+
functionTest-IsExcluded {
45
+
param(
46
+
[string]$BaseName,
47
+
[string]$Name
48
+
)
49
+
if ($excludeHash.Contains($Name) -or$excludeHash.Contains($BaseName) -or$BaseName-like"Uninstall*") {
50
+
return$true
51
+
}
52
+
foreach ($termin$excludeList) {
53
+
if ($BaseName-like"*$term*") { return$true }
54
+
}
55
+
return$false
56
+
}
57
+
44
58
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) -and
45
59
(Test-Path-Path $targetPaths[1])) {
46
-
Write-Host"`nAdministrator rights required for system directory!`n"-ForegroundColor Red
60
+
Write-Log-Message "Administrator rights required for system directory!"-Level ERROR
0 commit comments