├── LICENSE ├── README.md ├── docs ├── autounattend.xml └── autounattend_guide.md ├── media ├── icon.ico ├── logo.png └── separator.png ├── modules ├── drivers │ └── Drivers.ps1 ├── privacy │ └── PrivacySexy.ps1 ├── system │ └── Tweaks.ps1 ├── tools │ ├── GTweak.ps1 │ ├── WinScript.ps1 │ └── WinUtil.ps1 ├── unigetui │ ├── UniGetUI.ps1 │ └── ubundle │ │ ├── Browsers.ubundle │ │ ├── Communications.ubundle │ │ ├── Development.ubundle │ │ ├── Games.ubundle │ │ ├── Productivity.ubundle │ │ └── Utilities.ubundle └── windots │ ├── Organizer.ps1 │ ├── README.md │ ├── config │ ├── cli │ │ ├── WindowsPowershell │ │ │ └── Microsoft.PowerShell_profile.ps1 │ │ ├── fastfetch │ │ │ ├── cat.txt │ │ │ └── config.jsonc │ │ ├── ohmyposh │ │ │ └── zen.toml │ │ └── terminal │ │ │ └── settings.json │ └── vscode │ │ ├── product.json │ │ ├── settings.json │ │ └── snippet.txt │ └── windots.ps1 ├── scripts ├── AdminLaunch.ps1 ├── Common.ps1 ├── install.ps1 └── launch.ps1 └── simplify11.ps1 /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Emylfy 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Simplify11 Simplify11 icon

2 | 3 | **A powerful toolkit for quick setup, optimization, and personalization of Windows 11. Automates post-installation configuration, enhances system performance, and provides access to the best Windows tools in one place.** 4 | 5 |

6 | Simplify11 Logo 7 |

8 | 9 |

10 | Features • 11 | Installation • 12 | Integrations • 13 | Credits 14 |

15 | 16 |
17 |

18 | GitHub Stars   19 | Repository Size   20 | Last Commit   21 | GitHub License   22 |

23 |
24 | 25 | ![](https://github.com/emylfy/simplify11/blob/main/media/separator.png) 26 | 27 | ## ✨ Features 28 | 29 |
30 | 31 | ### Everything you need for perfect Windows 11 setup 32 | 33 |
34 | 35 | ### 🛠️ System Configuration 36 | 37 | - Windows installation [answer file](https://github.com/emylfy/simplify11/blob/main/docs/autounattend_guide.md) creation guide 38 | - System performance tweaks for SSD, GPU, CPU optimization 39 | - Driver Installation support for NVIDIA, AMD and other device manufacturers 40 | - Customization options including [Windots](https://github.com/emylfy/windots) integration 41 | 42 | ### ⚡ Optimization 43 | 44 | - Enhanced input responsiveness 45 | - System performance improvements 46 | - DirectX enhancements 47 | - Disk space management and cleanup 48 | 49 | ### 📦 Software Management 50 | 51 | - UniGetUI — modern graphical interface for Windows Package Manager 52 | - Software Categories: 53 | - Development, Browsers, System Tools 54 | - Productivity, Gaming, Microsoft Apps 55 | 56 | ## ⚡ Installation 57 | 58 | ### Quick Start 59 | 60 | Launch Simplify11 from PowerShell: 61 | 62 | ```powershell 63 | iwr "https://dub.sh/simplify11" | iex 64 | ``` 65 | 66 | ### Full Installation 67 | 68 | Creates a shortcut in the Start Menu to launch the latest version: 69 | 70 | ```powershell 71 | iwr "https://dub.sh/s11install" | iex 72 | ``` 73 | 74 | ## 🔄 Integrations 75 | 76 |
77 | 78 | ### Powerful tools in one place 79 | 80 |
81 | 82 | 83 | 84 | 89 | 94 | 99 | 104 | 109 | 110 |
85 | WinUtil Logo
86 | WinUtil
87 | Install programs, tweaks, fixes and updates 88 |
90 | WinScript Logo
91 | WinScript
92 | Build custom setup scripts 93 |
95 | GTweak Logo
96 | GTweak
97 | Tweaking tool and debloater 98 |
100 | Privacy.sexy Logo
101 | Privacy.sexy
102 | Security enhancement 103 |
105 | UniGetUI Logo
106 | UniGetUI
107 | Discover, install and update packages 108 |
111 | 112 | ![](https://github.com/emylfy/simplify11/blob/main/media/separator.png) 113 | 114 | ## 🌟 Credits 115 | 116 |
117 | 118 | | Project | Description | 119 | | :-----: | :---------: | 120 | | [AlchemyTweaks/Verified-Tweaks](https://github.com/AlchemyTweaks/Verified-Tweaks) | A collection of verified and tested Windows modifications | 121 | | [ashish0kumar/windots](https://github.com/ashish0kumar/windots) | Windows customization and dotfiles management | 122 | 123 |
124 | 125 |
126 | 127 | ### ⭐ Love this project? Show your support by giving it a star! 128 | 129 | #### 📫 If you have specific recommendations on how to improve or change this project or any suggestions and wishes, you can write everything in [**Issues**](https://github.com/emylfy/simplify11/issues/). 130 | 131 |
-------------------------------------------------------------------------------- /docs/autounattend.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 00000-00000-00000-00000-00000 10 | OnError 11 | 12 | true 13 | 14 | false 15 | 16 | 17 | 1 18 | reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f 19 | 20 | 21 | 2 22 | reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f 23 | 24 | 25 | 3 26 | reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 1 37 | powershell.exe -NoProfile -Command "$xml = [xml]::new(); $xml.Load('C:\Windows\Panther\unattend.xml'); $sb = [scriptblock]::Create( $xml.unattend.Extensions.ExtractScript ); Invoke-Command -ScriptBlock $sb -ArgumentList $xml;" 38 | 39 | 40 | 2 41 | powershell.exe -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\Specialize.ps1' -Raw | Invoke-Expression;" 42 | 43 | 44 | 3 45 | reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT" 46 | 47 | 48 | 4 49 | powershell.exe -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\DefaultUser.ps1' -Raw | Invoke-Expression;" 50 | 51 | 52 | 5 53 | reg.exe unload "HKU\DefaultUser" 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 3 64 | true 65 | false 66 | false 67 | 68 | 69 | 70 | 1 71 | powershell.exe -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\FirstLogon.ps1' -Raw | Invoke-Expression;" 72 | 73 | 74 | 75 | 76 | 77 | 78 | param( 79 | [xml] $Document 80 | ); 81 | 82 | foreach( $file in $Document.unattend.Extensions.File ) { 83 | $path = [System.Environment]::ExpandEnvironmentVariables( $file.GetAttribute( 'path' ) ); 84 | mkdir -Path( $path | Split-Path -Parent ) -ErrorAction 'SilentlyContinue'; 85 | $encoding = switch( [System.IO.Path]::GetExtension( $path ) ) { 86 | { $_ -in '.ps1', '.xml' } { [System.Text.Encoding]::UTF8; } 87 | { $_ -in '.reg', '.vbs', '.js' } { [System.Text.UnicodeEncoding]::new( $false, $true ); } 88 | default { [System.Text.Encoding]::Default; } 89 | }; 90 | $bytes = $encoding.GetPreamble() + $encoding.GetBytes( $file.InnerText.Trim() ); 91 | [System.IO.File]::WriteAllBytes( $path, $bytes ); 92 | } 93 | 94 | 95 | $selectors = @( 96 | 'Microsoft.Microsoft3DViewer'; 97 | 'Microsoft.BingSearch'; 98 | 'Clipchamp.Clipchamp'; 99 | 'Microsoft.549981C3F5F10'; 100 | 'MicrosoftCorporationII.MicrosoftFamily'; 101 | 'Microsoft.WindowsFeedbackHub'; 102 | 'Microsoft.GetHelp'; 103 | 'Microsoft.Getstarted'; 104 | 'microsoft.windowscommunicationsapps'; 105 | 'Microsoft.WindowsMaps'; 106 | 'Microsoft.MixedReality.Portal'; 107 | 'Microsoft.BingNews'; 108 | 'Microsoft.MicrosoftOfficeHub'; 109 | 'Microsoft.Office.OneNote'; 110 | 'Microsoft.OutlookForWindows'; 111 | 'Microsoft.People'; 112 | 'Microsoft.PowerAutomateDesktop'; 113 | 'MicrosoftCorporationII.QuickAssist'; 114 | 'Microsoft.SkypeApp'; 115 | 'Microsoft.MicrosoftSolitaireCollection'; 116 | 'Microsoft.MicrosoftStickyNotes'; 117 | 'MicrosoftTeams'; 118 | 'MSTeams'; 119 | 'Microsoft.Todos'; 120 | 'Microsoft.BingWeather'; 121 | 'Microsoft.ZuneVideo'; 122 | ); 123 | $getCommand = { 124 | Get-AppxProvisionedPackage -Online; 125 | }; 126 | $filterCommand = { 127 | $_.DisplayName -eq $selector; 128 | }; 129 | $removeCommand = { 130 | [CmdletBinding()] 131 | param( 132 | [Parameter( Mandatory, ValueFromPipeline )] 133 | $InputObject 134 | ); 135 | process { 136 | $InputObject | Remove-AppxProvisionedPackage -AllUsers -Online -ErrorAction 'Continue'; 137 | } 138 | }; 139 | $type = 'Package'; 140 | $logfile = 'C:\Windows\Setup\Scripts\RemovePackages.log'; 141 | & { 142 | $installed = & $getCommand; 143 | foreach( $selector in $selectors ) { 144 | $result = [ordered] @{ 145 | Selector = $selector; 146 | }; 147 | $found = $installed | Where-Object -FilterScript $filterCommand; 148 | if( $found ) { 149 | $result.Output = $found | & $removeCommand; 150 | if( $? ) { 151 | $result.Message = "$type removed."; 152 | } else { 153 | $result.Message = "$type not removed."; 154 | $result.Error = $Error[0]; 155 | } 156 | } else { 157 | $result.Message = "$type not installed."; 158 | } 159 | $result | ConvertTo-Json -Depth 3 -Compress; 160 | } 161 | } *>&1 >> $logfile; 162 | 163 | 164 | $selectors = @( 165 | 'OneCoreUAP.OneSync'; 166 | 'App.Support.QuickAssist'; 167 | 'App.StepsRecorder'; 168 | ); 169 | $getCommand = { 170 | Get-WindowsCapability -Online | Where-Object -Property 'State' -NotIn -Value @( 171 | 'NotPresent'; 172 | 'Removed'; 173 | ); 174 | }; 175 | $filterCommand = { 176 | ($_.Name -split '~')[0] -eq $selector; 177 | }; 178 | $removeCommand = { 179 | [CmdletBinding()] 180 | param( 181 | [Parameter( Mandatory, ValueFromPipeline )] 182 | $InputObject 183 | ); 184 | process { 185 | $InputObject | Remove-WindowsCapability -Online -ErrorAction 'Continue'; 186 | } 187 | }; 188 | $type = 'Capability'; 189 | $logfile = 'C:\Windows\Setup\Scripts\RemoveCapabilities.log'; 190 | & { 191 | $installed = & $getCommand; 192 | foreach( $selector in $selectors ) { 193 | $result = [ordered] @{ 194 | Selector = $selector; 195 | }; 196 | $found = $installed | Where-Object -FilterScript $filterCommand; 197 | if( $found ) { 198 | $result.Output = $found | & $removeCommand; 199 | if( $? ) { 200 | $result.Message = "$type removed."; 201 | } else { 202 | $result.Message = "$type not removed."; 203 | $result.Error = $Error[0]; 204 | } 205 | } else { 206 | $result.Message = "$type not installed."; 207 | } 208 | $result | ConvertTo-Json -Depth 3 -Compress; 209 | } 210 | } *>&1 >> $logfile; 211 | 212 | 213 | $selectors = @( 214 | 'Microsoft-RemoteDesktopConnection'; 215 | ); 216 | $getCommand = { 217 | Get-WindowsOptionalFeature -Online | Where-Object -Property 'State' -NotIn -Value @( 218 | 'Disabled'; 219 | 'DisabledWithPayloadRemoved'; 220 | ); 221 | }; 222 | $filterCommand = { 223 | $_.FeatureName -eq $selector; 224 | }; 225 | $removeCommand = { 226 | [CmdletBinding()] 227 | param( 228 | [Parameter( Mandatory, ValueFromPipeline )] 229 | $InputObject 230 | ); 231 | process { 232 | $InputObject | Disable-WindowsOptionalFeature -Online -Remove -NoRestart -ErrorAction 'Continue'; 233 | } 234 | }; 235 | $type = 'Feature'; 236 | $logfile = 'C:\Windows\Setup\Scripts\RemoveFeatures.log'; 237 | & { 238 | $installed = & $getCommand; 239 | foreach( $selector in $selectors ) { 240 | $result = [ordered] @{ 241 | Selector = $selector; 242 | }; 243 | $found = $installed | Where-Object -FilterScript $filterCommand; 244 | if( $found ) { 245 | $result.Output = $found | & $removeCommand; 246 | if( $? ) { 247 | $result.Message = "$type removed."; 248 | } else { 249 | $result.Message = "$type not removed."; 250 | $result.Error = $Error[0]; 251 | } 252 | } else { 253 | $result.Message = "$type not installed."; 254 | } 255 | $result | ConvertTo-Json -Depth 3 -Compress; 256 | } 257 | } *>&1 >> $logfile; 258 | 259 | 260 | <LayoutModificationTemplate xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout" Version="1"> 261 | <CustomTaskbarLayoutCollection PinListPlacement="Replace"> 262 | <defaultlayout:TaskbarLayout> 263 | <taskbar:TaskbarPinList> 264 | <taskbar:DesktopApp DesktopApplicationLinkPath="#leaveempty" /> 265 | </taskbar:TaskbarPinList> 266 | </defaultlayout:TaskbarLayout> 267 | </CustomTaskbarLayoutCollection> 268 | </LayoutModificationTemplate> 269 | 270 | 271 | HKU = &H80000003 272 | Set reg = GetObject("winmgmts://./root/default:StdRegProv") 273 | Set fso = CreateObject("Scripting.FileSystemObject") 274 | 275 | If reg.EnumKey(HKU, "", sids) = 0 Then 276 | If Not IsNull(sids) Then 277 | For Each sid In sids 278 | key = sid + "\Software\Policies\Microsoft\Windows\Explorer" 279 | name = "LockedStartLayout" 280 | If reg.GetDWORDValue(HKU, key, name, existing) = 0 Then 281 | reg.SetDWORDValue HKU, key, name, 0 282 | End If 283 | Next 284 | End If 285 | End If 286 | 287 | 288 | <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> 289 | <Triggers> 290 | <EventTrigger> 291 | <Enabled>true</Enabled> 292 | <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Application"&gt;&lt;Select Path="Application"&gt;*[System[Provider[@Name='UnattendGenerator'] and EventID=1]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription> 293 | </EventTrigger> 294 | </Triggers> 295 | <Principals> 296 | <Principal id="Author"> 297 | <UserId>S-1-5-18</UserId> 298 | <RunLevel>LeastPrivilege</RunLevel> 299 | </Principal> 300 | </Principals> 301 | <Settings> 302 | <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> 303 | <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> 304 | <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries> 305 | <AllowHardTerminate>true</AllowHardTerminate> 306 | <StartWhenAvailable>false</StartWhenAvailable> 307 | <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> 308 | <IdleSettings> 309 | <StopOnIdleEnd>true</StopOnIdleEnd> 310 | <RestartOnIdle>false</RestartOnIdle> 311 | </IdleSettings> 312 | <AllowStartOnDemand>true</AllowStartOnDemand> 313 | <Enabled>true</Enabled> 314 | <Hidden>false</Hidden> 315 | <RunOnlyIfIdle>false</RunOnlyIfIdle> 316 | <WakeToRun>false</WakeToRun> 317 | <ExecutionTimeLimit>PT72H</ExecutionTimeLimit> 318 | <Priority>7</Priority> 319 | </Settings> 320 | <Actions Context="Author"> 321 | <Exec> 322 | <Command>C:\Windows\System32\wscript.exe</Command> 323 | <Arguments>C:\Windows\Setup\Scripts\UnlockStartLayout.vbs</Arguments> 324 | </Exec> 325 | </Actions> 326 | </Task> 327 | 328 | 329 | HKLM = &H80000002 330 | key = "SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" 331 | Set reg = GetObject("winmgmts://./root/default:StdRegProv") 332 | current = Hour(Now) 333 | reg.SetDWORDValue HKLM, key, "ActiveHoursStart", ( current + 23 ) Mod 24 334 | reg.SetDWORDValue HKLM, key, "ActiveHoursEnd", ( current + 11 ) Mod 24 335 | reg.SetDWORDValue HKLM, key, "SmartActiveHoursState", 2 336 | 337 | 338 | <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> 339 | <Triggers> 340 | <BootTrigger> 341 | <Repetition> 342 | <Interval>PT4H</Interval> 343 | <StopAtDurationEnd>false</StopAtDurationEnd> 344 | </Repetition> 345 | <Enabled>true</Enabled> 346 | </BootTrigger> 347 | <RegistrationTrigger> 348 | <Repetition> 349 | <Interval>PT4H</Interval> 350 | <StopAtDurationEnd>false</StopAtDurationEnd> 351 | </Repetition> 352 | <Enabled>true</Enabled> 353 | </RegistrationTrigger> 354 | </Triggers> 355 | <Principals> 356 | <Principal id="Author"> 357 | <UserId>S-1-5-19</UserId> 358 | <RunLevel>LeastPrivilege</RunLevel> 359 | </Principal> 360 | </Principals> 361 | <Settings> 362 | <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> 363 | <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> 364 | <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries> 365 | <AllowHardTerminate>true</AllowHardTerminate> 366 | <StartWhenAvailable>false</StartWhenAvailable> 367 | <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> 368 | <IdleSettings> 369 | <StopOnIdleEnd>true</StopOnIdleEnd> 370 | <RestartOnIdle>false</RestartOnIdle> 371 | </IdleSettings> 372 | <AllowStartOnDemand>true</AllowStartOnDemand> 373 | <Enabled>true</Enabled> 374 | <Hidden>false</Hidden> 375 | <RunOnlyIfIdle>false</RunOnlyIfIdle> 376 | <WakeToRun>false</WakeToRun> 377 | <ExecutionTimeLimit>PT72H</ExecutionTimeLimit> 378 | <Priority>7</Priority> 379 | </Settings> 380 | <Actions Context="Author"> 381 | <Exec> 382 | <Command>C:\Windows\System32\wscript.exe</Command> 383 | <Arguments>C:\Windows\Setup\Scripts\MoveActiveHours.vbs</Arguments> 384 | </Exec> 385 | </Actions> 386 | </Task> 387 | 388 | 389 | $excludes = Get-ChildItem -LiteralPath 'Registry::HKU\DefaultUser\AppEvents\EventLabels' | 390 | Where-Object -FilterScript { ($_ | Get-ItemProperty).ExcludeFromCPL -eq 1; } | 391 | Select-Object -ExpandProperty 'PSChildName'; 392 | Get-ChildItem -Path 'Registry::HKU\DefaultUser\AppEvents\Schemes\Apps\*\*' | 393 | Where-Object -Property 'PSChildName' -NotIn $excludes | 394 | Get-ChildItem -Include '.Current' | Set-ItemProperty -Name '(Default)' -Value ''; 395 | 396 | 397 | $json = '{"pinnedList":[]}'; 398 | if( [System.Environment]::OSVersion.Version.Build -lt 20000 ) { 399 | return; 400 | } 401 | $key = 'Registry::HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start'; 402 | New-Item -Path $key -ItemType 'Directory' -ErrorAction 'SilentlyContinue'; 403 | Set-ItemProperty -LiteralPath $key -Name 'ConfigureStartPins' -Value $json -Type 'String'; 404 | 405 | 406 | <LayoutModificationTemplate Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"> 407 | <LayoutOptions StartTileGroupCellWidth="6" /> 408 | <DefaultLayoutOverride> 409 | <StartLayoutCollection> 410 | <StartLayout GroupCellWidth="6" xmlns="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" /> 411 | </StartLayoutCollection> 412 | </DefaultLayoutOverride> 413 | </LayoutModificationTemplate> 414 | 415 | 416 | # Define the path to the desktop 417 | $desktopPath = [System.Environment]::GetFolderPath('Desktop') 418 | 419 | # Define the path for the shortcut 420 | $shortcutPath = Join-Path -Path $desktopPath -ChildPath "Simplify11.lnk" 421 | 422 | # Create a new COM object for WScript.Shell 423 | $wshShell = New-Object -ComObject WScript.Shell 424 | 425 | # Create a new shortcut 426 | $shortcut = $wshShell.CreateShortcut($shortcutPath) 427 | 428 | # Set the target path to launch PowerShell with the desired command 429 | $shortcut.TargetPath = "powershell.exe" 430 | 431 | # Set the arguments to execute the command 432 | $shortcut.Arguments = '-NoProfile -ExecutionPolicy Bypass -Command "iwr \"https://dub.sh/simplify11\" | iex"' 433 | 434 | # Set the shortcut description 435 | $shortcut.Description = "Launch Simplify11" 436 | 437 | # Set the shortcut working directory (optional) 438 | $shortcut.WorkingDirectory = $desktopPath 439 | 440 | # Save the shortcut 441 | $shortcut.Save() 442 | 443 | # Output confirmation message 444 | Write-Host "Shortcut 'Simplify11' created on the desktop." 445 | 446 | 447 | $scripts = @( 448 | { 449 | reg.exe add "HKLM\SYSTEM\Setup\MoSetup" /v AllowUpgradesWithUnsupportedTPMOrCPU /t REG_DWORD /d 1 /f; 450 | }; 451 | { 452 | Remove-Item -LiteralPath 'C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk', 'C:\Windows\System32\OneDriveSetup.exe', 'C:\Windows\SysWOW64\OneDriveSetup.exe' -ErrorAction 'Continue'; 453 | }; 454 | { 455 | Remove-Item -LiteralPath 'Registry::HKLM\Software\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\OutlookUpdate' -Force -ErrorAction 'SilentlyContinue'; 456 | }; 457 | { 458 | reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Communications" /v ConfigureChatAutoInstall /t REG_DWORD /d 0 /f; 459 | }; 460 | { 461 | Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\RemovePackages.ps1' -Raw | Invoke-Expression; 462 | }; 463 | { 464 | Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\RemoveCapabilities.ps1' -Raw | Invoke-Expression; 465 | }; 466 | { 467 | Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\RemoveFeatures.ps1' -Raw | Invoke-Expression; 468 | }; 469 | { 470 | net.exe accounts /maxpwage:UNLIMITED; 471 | }; 472 | { 473 | reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f; 474 | [System.Diagnostics.EventLog]::CreateEventSource( 'UnattendGenerator', 'Application' ); 475 | }; 476 | { 477 | Register-ScheduledTask -TaskName 'UnlockStartLayout' -Xml $( Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\UnlockStartLayout.xml' -Raw ); 478 | }; 479 | { 480 | reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v SmartScreenEnabled /t REG_SZ /d "Off" /f; 481 | reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WTDS\Components" /v ServiceEnabled /t REG_DWORD /d 0 /f; 482 | reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WTDS\Components" /v NotifyMalicious /t REG_DWORD /d 0 /f; 483 | reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WTDS\Components" /v NotifyPasswordReuse /t REG_DWORD /d 0 /f; 484 | reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WTDS\Components" /v NotifyUnsafeApp /t REG_DWORD /d 0 /f; 485 | reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender Security Center\Systray" /v HideSystray /t REG_DWORD /d 1 /f; 486 | }; 487 | { 488 | Set-ExecutionPolicy -Scope 'LocalMachine' -ExecutionPolicy 'RemoteSigned' -Force; 489 | }; 490 | { 491 | reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 4 /f; 492 | reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoRebootWithLoggedOnUsers /t REG_DWORD /d 1 /f; 493 | }; 494 | { 495 | Register-ScheduledTask -TaskName 'MoveActiveHours' -Xml $( Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\MoveActiveHours.xml' -Raw ); 496 | }; 497 | { 498 | reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Dsh" /v AllowNewsAndInterests /t REG_DWORD /d 0 /f; 499 | }; 500 | { 501 | reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\BootAnimation" /v DisableStartupSound /t REG_DWORD /d 1 /f; 502 | reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\EditionOverrides" /v UserSetting_DisableStartupSound /t REG_DWORD /d 1 /f; 503 | }; 504 | { 505 | reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f; 506 | }; 507 | { 508 | reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v HideFirstRunExperience /t REG_DWORD /d 1 /f; 509 | }; 510 | { 511 | Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\SetStartPins.ps1' -Raw | Invoke-Expression; 512 | }; 513 | ); 514 | 515 | & { 516 | [float] $complete = 0; 517 | [float] $increment = 100 / $scripts.Count; 518 | foreach( $script in $scripts ) { 519 | Write-Progress -Activity 'Running scripts to customize your Windows installation. Do not close this window.' -PercentComplete $complete; 520 | & $script; 521 | $complete += $increment; 522 | } 523 | } *>&1 >> "C:\Windows\Setup\Scripts\Specialize.log"; 524 | 525 | 526 | $scripts = @( 527 | { 528 | Get-AppxPackage -Name 'Microsoft.Windows.Ai.Copilot.Provider' | Remove-AppxPackage; 529 | }; 530 | { 531 | [System.Diagnostics.EventLog]::WriteEntry( 'UnattendGenerator', "User '$env:USERNAME' has requested to unlock the Start menu layout.", [System.Diagnostics.EventLogEntryType]::Information, 1 ); 532 | }; 533 | { 534 | Set-ItemProperty -LiteralPath 'Registry::HKCU\AppEvents\Schemes' -Name '(Default)' -Type 'String' -Value '.None'; 535 | }; 536 | { 537 | Set-ItemProperty -LiteralPath 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'LaunchTo' -Type 'DWord' -Value 1; 538 | }; 539 | { 540 | Set-ItemProperty -LiteralPath 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Search' -Name 'SearchboxTaskbarMode' -Type 'DWord' -Value 0; 541 | }; 542 | { 543 | New-Item -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Force; 544 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{5399e694-6ce5-4d6c-8fce-1d8870fdcba0}' -Value 1 -Type 'DWord'; 545 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{b4bfcc3a-db2c-424c-b029-7fe99a87c641}' -Value 1 -Type 'DWord'; 546 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{a8cdff1c-4878-43be-b5fd-f8091c1c60d0}' -Value 1 -Type 'DWord'; 547 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{374de290-123f-4565-9164-39c4925e467b}' -Value 1 -Type 'DWord'; 548 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}' -Value 1 -Type 'DWord'; 549 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{f874310e-b6b7-47dc-bc84-b9e6b38f5903}' -Value 1 -Type 'DWord'; 550 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{1cf1260c-4dd0-4ebb-811f-33c572699fde}' -Value 1 -Type 'DWord'; 551 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{f02c1a0d-be21-4350-88b0-7367fc96ef3c}' -Value 1 -Type 'DWord'; 552 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{3add1653-eb32-4cb0-bbd7-dfa0abb5acca}' -Value 1 -Type 'DWord'; 553 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{645ff040-5081-101b-9f08-00aa002f954e}' -Value 1 -Type 'DWord'; 554 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{20d04fe0-3aea-1069-a2d8-08002b30309d}' -Value 1 -Type 'DWord'; 555 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{59031a47-3f72-44a7-89c5-5595fe6b30ee}' -Value 1 -Type 'DWord'; 556 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{a0953c92-50dc-43bf-be83-3742fed03c9c}' -Value 1 -Type 'DWord'; 557 | New-Item -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Force; 558 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{5399e694-6ce5-4d6c-8fce-1d8870fdcba0}' -Value 1 -Type 'DWord'; 559 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{b4bfcc3a-db2c-424c-b029-7fe99a87c641}' -Value 1 -Type 'DWord'; 560 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{a8cdff1c-4878-43be-b5fd-f8091c1c60d0}' -Value 1 -Type 'DWord'; 561 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{374de290-123f-4565-9164-39c4925e467b}' -Value 1 -Type 'DWord'; 562 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}' -Value 1 -Type 'DWord'; 563 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{f874310e-b6b7-47dc-bc84-b9e6b38f5903}' -Value 1 -Type 'DWord'; 564 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{1cf1260c-4dd0-4ebb-811f-33c572699fde}' -Value 1 -Type 'DWord'; 565 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{f02c1a0d-be21-4350-88b0-7367fc96ef3c}' -Value 1 -Type 'DWord'; 566 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{3add1653-eb32-4cb0-bbd7-dfa0abb5acca}' -Value 1 -Type 'DWord'; 567 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{645ff040-5081-101b-9f08-00aa002f954e}' -Value 1 -Type 'DWord'; 568 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{20d04fe0-3aea-1069-a2d8-08002b30309d}' -Value 1 -Type 'DWord'; 569 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{59031a47-3f72-44a7-89c5-5595fe6b30ee}' -Value 1 -Type 'DWord'; 570 | Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{a0953c92-50dc-43bf-be83-3742fed03c9c}' -Value 1 -Type 'DWord'; 571 | }; 572 | { 573 | Get-Process -Name 'explorer' -ErrorAction 'SilentlyContinue' | Where-Object -FilterScript { 574 | $_.SessionId -eq ( Get-Process -Id $PID ).SessionId; 575 | } | Stop-Process -Force; 576 | }; 577 | ); 578 | 579 | & { 580 | [float] $complete = 0; 581 | [float] $increment = 100 / $scripts.Count; 582 | foreach( $script in $scripts ) { 583 | Write-Progress -Activity 'Running scripts to configure this user account. Do not close this window.' -PercentComplete $complete; 584 | & $script; 585 | $complete += $increment; 586 | } 587 | } *>&1 >> "$env:TEMP\UserOnce.log"; 588 | 589 | 590 | $scripts = @( 591 | { 592 | reg.exe add "HKU\DefaultUser\Software\Policies\Microsoft\Windows\WindowsCopilot" /v TurnOffWindowsCopilot /t REG_DWORD /d 1 /f; 593 | }; 594 | { 595 | Remove-ItemProperty -LiteralPath 'Registry::HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Run' -Name 'OneDriveSetup' -Force -ErrorAction 'Continue'; 596 | }; 597 | { 598 | reg.exe add "HKU\DefaultUser\Software\Policies\Microsoft\Windows\Explorer" /v "StartLayoutFile" /t REG_SZ /d "C:\Windows\Setup\Scripts\TaskbarLayoutModification.xml" /f; 599 | reg.exe add "HKU\DefaultUser\Software\Policies\Microsoft\Windows\Explorer" /v "LockedStartLayout" /t REG_DWORD /d 1 /f; 600 | }; 601 | { 602 | reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f; 603 | }; 604 | { 605 | reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "Hidden" /t REG_DWORD /d 1 /f; 606 | }; 607 | { 608 | reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowTaskViewButton /t REG_DWORD /d 0 /f; 609 | }; 610 | { 611 | reg.exe add "HKU\DefaultUser\Software\Microsoft\Edge\SmartScreenEnabled" /ve /t REG_DWORD /d 0 /f; 612 | reg.exe add "HKU\DefaultUser\Software\Microsoft\Edge\SmartScreenPuaEnabled" /ve /t REG_DWORD /d 0 /f; 613 | reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\AppHost" /v EnableWebContentEvaluation /t REG_DWORD /d 0 /f; 614 | reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\AppHost" /v PreventOverride /t REG_DWORD /d 0 /f; 615 | }; 616 | { 617 | Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\TurnOffSystemSounds.ps1' -Raw | Invoke-Expression; 618 | }; 619 | { 620 | $names = @( 621 | 'ContentDeliveryAllowed'; 622 | 'FeatureManagementEnabled'; 623 | 'OEMPreInstalledAppsEnabled'; 624 | 'PreInstalledAppsEnabled'; 625 | 'PreInstalledAppsEverEnabled'; 626 | 'SilentInstalledAppsEnabled'; 627 | 'SoftLandingEnabled'; 628 | 'SubscribedContentEnabled'; 629 | 'SubscribedContent-310093Enabled'; 630 | 'SubscribedContent-338387Enabled'; 631 | 'SubscribedContent-338388Enabled'; 632 | 'SubscribedContent-338389Enabled'; 633 | 'SubscribedContent-338393Enabled'; 634 | 'SubscribedContent-353698Enabled'; 635 | 'SystemPaneSuggestionsEnabled'; 636 | ); 637 | 638 | foreach( $name in $names ) { 639 | reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v $name /t REG_DWORD /d 0 /f; 640 | } 641 | }; 642 | { 643 | reg.exe add "HKU\DefaultUser\Software\Policies\Microsoft\Windows\Explorer" /v DisableSearchBoxSuggestions /t REG_DWORD /d 1 /f; 644 | }; 645 | { 646 | reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v "UnattendedSetup" /t REG_SZ /d "powershell.exe -NoProfile -Command \""Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\UserOnce.ps1' -Raw | Invoke-Expression;\""" /f; 647 | }; 648 | ); 649 | 650 | & { 651 | [float] $complete = 0; 652 | [float] $increment = 100 / $scripts.Count; 653 | foreach( $script in $scripts ) { 654 | Write-Progress -Activity 'Running scripts to modify the default user’’s registry hive. Do not close this window.' -PercentComplete $complete; 655 | & $script; 656 | $complete += $increment; 657 | } 658 | } *>&1 >> "C:\Windows\Setup\Scripts\DefaultUser.log"; 659 | 660 | 661 | $scripts = @( 662 | { 663 | Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\unattend-01.ps1' -Raw | Invoke-Expression; 664 | }; 665 | ); 666 | 667 | & { 668 | [float] $complete = 0; 669 | [float] $increment = 100 / $scripts.Count; 670 | foreach( $script in $scripts ) { 671 | Write-Progress -Activity 'Running scripts to finalize your Windows installation. Do not close this window.' -PercentComplete $complete; 672 | & $script; 673 | $complete += $increment; 674 | } 675 | } *>&1 >> "C:\Windows\Setup\Scripts\FirstLogon.log"; 676 | 677 | 678 | -------------------------------------------------------------------------------- /docs/autounattend_guide.md: -------------------------------------------------------------------------------- 1 | # 🪟 Windows Unattended Installation Configuration 2 | 3 |
4 |

Automate your Windows installation with precision and style

5 |
6 | 7 | ## ✨ Overview 8 | 9 | This XML configuration file automates the Windows installation process, ensuring a clean, optimized, and user-friendly setup. It removes unnecessary bloatware, configures system settings, enhances the user interface, and applies various optimizations to improve performance and privacy 10 | 11 | > 🛠️ **Configure Your Own:** Visit [Unattend-Generator](https://schneegans.de/windows/unattend-generator/) to customize settings 12 | 13 | > 🔧 **Integrated with [Simplify11](https://github.com/emylfy/simplify11) shorcut in Start Menu** 14 | 15 | ## 🎯 What It Does 16 | 17 | ### 🧹 **Bloatware Removal** 18 | 19 | - Removes over 20 pre-installed apps and unnecessary Windows features like Quick Assist and Steps Recorder. 20 | 21 | ### ⚙️ **System Optimizations** 22 | 23 | - Bypasses TPM 2.0 and Secure Boot for broader compatibility 24 | - Disables telemetry, Cortana, Bing search, and other data collection 25 | - Customizes File Explorer, Start Menu, and Taskbar for a cleaner experience 26 | - Disables system sounds, removes OneDrive, and optimizes Windows Update settings 27 | 28 | ### 🎨 **UI Enhancements** 29 | 30 | - Hides default desktop icons 31 | - Customizes the Taskbar and Start Menu for a clutter-free look 32 | 33 | ### 🔒 **Security and Privacy** 34 | 35 | - Disables SmartScreen and unnecessary Windows Defender notifications 36 | - Turns off Edge’s first-run experience and consumer features like ads and suggestions 37 | 38 | ## 📥 Installation Guide 39 | 40 | > **Download XML File:** [autounattend.xml](https://github.com/emylfy/simplify11/blob/main/docs/autounattend.xml) 41 | 42 | For manual creation: 43 | 44 | 1. Open AnyBurn and select "Edit Image File" 45 | 2. Choose your Windows ISO file 46 | 3. Paste the [autounattend.xml](https://github.com/emylfy/simplify11/blob/main/docs/autounattend.xml) file into ISO root 47 | 4. Complete the burning process to create your bootable media 48 | 49 | For automated creation: 50 | 51 | Use [tiny11builder-24H2](https://github.com/chrisGrando/tiny11builder-24H2) - PowerShell script to build a Windows 11 24H2 image 52 | 53 | ## 🔧 Technical Details 54 | 55 | Configuration Passes 56 | 57 | - `windowsPE`: Initial setup configuration 58 | - `specialize`: System customization 59 | - `oobeSystem`: Out-of-box experience settings 60 | 61 | Script Locations 62 | 63 | - Main scripts: `C:\Windows\Setup\Scripts\` 64 | - Temp files: `C:\Windows\Temp\` 65 | - Logs: Various `.log` files for debugging 66 | 67 | ![](https://github.com/emylfy/simplify11/blob/main/media/separator.png) 68 | 69 |
70 |

Made with ❤️ for the Windows community

71 |

Star ⭐ this repo if you found it useful!

72 |
73 | -------------------------------------------------------------------------------- /media/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emylfy/simplify11/7770ada7a5c7a563c1a7ad021359d7a96405edc7/media/icon.ico -------------------------------------------------------------------------------- /media/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emylfy/simplify11/7770ada7a5c7a563c1a7ad021359d7a96405edc7/media/logo.png -------------------------------------------------------------------------------- /media/separator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emylfy/simplify11/7770ada7a5c7a563c1a7ad021359d7a96405edc7/media/separator.png -------------------------------------------------------------------------------- /modules/drivers/Drivers.ps1: -------------------------------------------------------------------------------- 1 | . "$PSScriptRoot\..\..\scripts\Common.ps1" 2 | 3 | function Show-DeviceMenu { 4 | $Host.UI.RawUI.WindowTitle = "Simplify11 - Drivers" 5 | Clear-Host 6 | 7 | $urls = @( 8 | "https://www.nvidia.com/en-us/software/nvidia-app/", 9 | "https://www.amd.com/en/support/download/drivers.html", 10 | "https://support.hp.com/us-en/drivers", 11 | "https://support.lenovo.com", 12 | "https://www.asus.com/support/download-center/", 13 | "https://www.acer.com/ac/en/US/content/drivers", 14 | "https://www.msi.com/support/download", 15 | "https://www.huawei.com/en/support", 16 | "https://www.xiaomi.com/global/support", 17 | "https://www.dell.com/support/home/products/computers?app=drivers", 18 | "https://www.gigabyte.com/Support/Consumer/Download" 19 | ) 20 | 21 | Write-Host "$Purple +------------------------+$Reset" 22 | Write-Host "$Purple '$Reset [0] Nvidia App $Purple'$Reset" 23 | Write-Host "$Purple '$Reset [1] AMD Drivers $Purple'$Reset" 24 | Write-Host "$Purple +------------------------+$Reset" 25 | Write-Host "$Purple '$Reset [2] HP $Purple'$Reset" 26 | Write-Host "$Purple '$Reset [3] Lenovo $Purple'$Reset" 27 | Write-Host "$Purple '$Reset [4] Asus $Purple'$Reset" 28 | Write-Host "$Purple '$Reset [5] Acer $Purple'$Reset" 29 | Write-Host "$Purple '$Reset [6] MSI $Purple'$Reset" 30 | Write-Host "$Purple '$Reset [7] Huawei $Purple'$Reset" 31 | Write-Host "$Purple '$Reset [8] Xiaomi $Purple'$Reset" 32 | Write-Host "$Purple '$Reset [9] DELL/Alienware $Purple'$Reset" 33 | Write-Host "$Purple '$Reset [10] Gigabyte $Purple'$Reset" 34 | Write-Host "$Purple +------------------------+$Reset" 35 | 36 | $choice = Read-Host "Select your device manufacturer to install drivers" 37 | 38 | if ($choice -eq "3") { 39 | Show-LenovoMenu 40 | } 41 | elseif ($choice -in 0..10) { 42 | Start-Process $urls[$choice] 43 | Show-DeviceMenu 44 | } 45 | else { 46 | Write-Host "$Red Invalid choice. Returning to main menu. $Reset" 47 | Start-Sleep -Seconds 2 48 | Show-DeviceMenu 49 | } 50 | } 51 | 52 | function Show-LenovoMenu { 53 | Clear-Host 54 | Write-Host "" 55 | Write-Host "$Purple +--------------------------------------------+$Reset" 56 | Write-Host "$Purple '$Reset [1] Install Lenovo Vantage $Purple'$Reset" 57 | Write-Host "$Purple '$Reset [2] Open Lenovo Driver Page $Purple'$Reset" 58 | Write-Host "$Purple +--------------------------------------------+$Reset" 59 | Write-Host "$Purple '$Reset [3] Back to Manufacturer Selection $Purple'$Reset" 60 | Write-Host "$Purple +--------------------------------------------+$Reset" 61 | 62 | $choice = Read-Host ">" 63 | 64 | switch ($choice) { 65 | "3" { Show-DeviceMenu } 66 | "2" { 67 | Start-Process "https://support.lenovo.com" 68 | Show-LenovoMenu 69 | } 70 | "1" { 71 | Write-Host "$Reset Installing Lenovo Vantage... $Reset" 72 | $result = winget install "9WZDNCRFJ4MV" --accept-package-agreements --accept-source-agreements 73 | 74 | if ($LASTEXITCODE -eq 0) { 75 | Write-Host "$Green Successfully installed Lenovo Vantage. $Reset" 76 | } 77 | else { 78 | Write-Host "$Red Failed to install Lenovo Vantage. Please install manually from the Microsoft Store. $Reset" 79 | Start-Process "ms-windows-store://pdp?hl=en-us&gl=us&ocid=pdpshare&referrer=storeforweb&productid=9WZDNCRFJ4MV&storecid=storeweb-pdp-open-cta" 80 | } 81 | 82 | Start-Sleep -Seconds 2 83 | Show-LenovoMenu 84 | } 85 | default { 86 | Write-Host "$Red Invalid choice. $Reset" 87 | Start-Sleep -Seconds 1 88 | Show-LenovoMenu 89 | } 90 | } 91 | } 92 | 93 | Show-DeviceMenu -------------------------------------------------------------------------------- /modules/privacy/PrivacySexy.ps1: -------------------------------------------------------------------------------- 1 | . "$PSScriptRoot\..\..\scripts\common.ps1" 2 | 3 | function Show-PrivacySexyMenu { 4 | $Host.UI.RawUI.WindowTitle = "Privacy.sexy Launcher" 5 | Clear-Host 6 | 7 | Write-Host "$Purple +--------------------------------------------------------+$Reset" 8 | Write-Host "$Purple '$Reset [1] Build your own batch from privacy.sexy website $Purple'$Reset" 9 | Write-Host "$Purple '$Reset [2] Execute latest standard preset (for most users) $Purple'$Reset" 10 | Write-Host "$Purple '$Reset [3] Back to Main Menu $Purple'$Reset" 11 | Write-Host "$Purple +--------------------------------------------------------+$Reset" 12 | 13 | $choice = Read-Host ">" 14 | 15 | switch ($choice) { 16 | "1" { 17 | Start-Process "https://privacy.sexy" 18 | Show-PrivacySexyMenu 19 | } 20 | "2" { 21 | Write-Host "$Reset`Downloading and executing privacy script...$Reset" 22 | try { 23 | Invoke-RestMethod 'https://privacylearn.com/downloads/windows/standard.bat' -OutFile "$env:TEMP\standard.bat" 24 | Start-Process cmd -ArgumentList "/c `"$env:TEMP\standard.bat`"" -Wait 25 | Write-Host "$Green`Privacy script executed successfully.$Reset" 26 | } catch { 27 | Write-Host "$Red`Failed to execute privacy script.$Reset" 28 | } 29 | 30 | Write-Host "Press any key to continue..." 31 | $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") 32 | Show-PrivacySexyMenu 33 | } 34 | "3" { 35 | return 36 | } 37 | default { 38 | Write-Host "$Red`Invalid choice. Please try again.$Reset" 39 | Start-Sleep -Seconds 1 40 | Show-PrivacySexyMenu 41 | } 42 | } 43 | } 44 | 45 | Show-PrivacySexyMenu -------------------------------------------------------------------------------- /modules/system/Tweaks.ps1: -------------------------------------------------------------------------------- 1 | . "$PSScriptRoot\..\..\scripts\Common.ps1" 2 | # https://github.com/SysadminWorld/Win11Tweaks 3 | # https://github.com/AlchemyTweaks/Verified-Tweaks 4 | # https://github.com/SanGraphic/QuickBoost 5 | 6 | # https://github.com/UnLovedCookie/CoutX 7 | # https://github.com/Snowfliger/SyncOS 8 | # https://github.com/denis-g/windows10-latency-optimization 9 | 10 | if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { 11 | Write-Host "Not running as admin. Elevating..." -ForegroundColor Yellow 12 | . "$PSScriptRoot\..\..\scripts\AdminLaunch.ps1" 13 | Start-AdminProcess -ScriptPath $PSCommandPath 14 | exit 15 | } 16 | 17 | function Set-RegistryValue { 18 | param ( 19 | [string]$Path, 20 | [string]$Name, 21 | [string]$Type, 22 | $Value, 23 | [string]$Message 24 | ) 25 | 26 | try { 27 | if (-not (Test-Path $Path)) { 28 | New-Item -Path $Path -Force | Out-Null 29 | } 30 | Set-ItemProperty -Path $Path -Name $Name -Type $Type -Value $Value -Force 31 | Write-Host "$Green[SUCCESS]$Reset $Message" 32 | } 33 | catch { 34 | Write-Host "$Red[FAILED]$Reset Failed to set $Name at $Path" 35 | Write-Host "Error: $_" 36 | } 37 | } 38 | 39 | function Show-MainMenu { 40 | $Host.UI.RawUI.WindowTitle = "Simplify11 - System Tweaks" 41 | Clear-Host 42 | Write-Host "" 43 | Write-Host "$Purple +-------------------------------------+$Reset" 44 | Write-Host "$Purple |$Reset [1] Universal Tweaks $Purple|$Reset" 45 | Write-Host "$Purple |$Reset [2] Free Up Space $Purple|$Reset" 46 | Write-Host "$Purple |$Reset [3] NVIDIA/AMD GPU Tweaks $Purple|$Reset" 47 | Write-Host "$Purple +-------------------------------------+$Reset" 48 | Write-Host "$Purple |$Reset [4] Back to menu $Purple|$Reset" 49 | Write-Host "$Purple +-------------------------------------+$Reset" 50 | 51 | do { 52 | $choice = Read-Host "Enter your choice (1-4)" 53 | } while ($choice -notmatch '^[1-4]$') 54 | 55 | switch ($choice) { 56 | "1" { Apply-UniversalTweaks } 57 | "2" { FreeUpSpace } 58 | "3" { Show-GPUMenu } 59 | "4" { & "$PSScriptRoot\..\..\simplify11.ps1" } 60 | default { Show-MainMenu } 61 | } 62 | } 63 | 64 | function Apply-UniversalTweaks { 65 | Apply-SystemLatencyTweaks 66 | Apply-InputDeviceTweaks 67 | Apply-SSDTweaks 68 | Apply-GPUTweaks 69 | Apply-NetworkTweaks 70 | Apply-CPUTweaks 71 | Apply-PowerTweaks 72 | Apply-SystemResponsivenessTweaks 73 | Apply-BootOptimizationTweaks 74 | Apply-SystemMaintenanceTweaks 75 | Apply-UIResponsivenessTweaks 76 | Apply-MemoryTweaks 77 | Apply-DirectXTweaks 78 | 79 | Write-Host "`n$Purple Press any key to return to the main menu...$Reset" 80 | $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") 81 | Show-MainMenu 82 | } 83 | 84 | function Apply-SystemLatencyTweaks { 85 | Write-Host "`nApplying System Latency tweaks...`n" 86 | 87 | # System Latency Tweaks 88 | # Changing Interrupts behavior for lower latency 89 | # source - https://youtu.be/Gazv0q3njYU 90 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\kernel" -Name "InterruptSteeringDisabled" -Type "DWord" -Value "1" -Message "Disabled interrupt steering for lower latency" 91 | 92 | # Serialize Timer Expiration mechanism, officially documented in Windows Internals 7th E2 93 | # Improves system timing and interrupt handling 94 | # source - https://youtu.be/wil-09_5H0M 95 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\kernel" -Name "SerializeTimerExpiration" -Type "DWord" -Value "1" -Message "Enabled timer serialization for better system timing" 96 | } 97 | 98 | function Apply-InputDeviceTweaks { 99 | Write-Host "`nApplying Input Device tweaks...`n" 100 | 101 | # Mouse & Keyboard Tweaks 102 | # The MouseDataQueueSize and KeyboardDataQueueSize parameters set the number of events stored in the mouse and keyboard driver buffers 103 | # A smaller value means faster processing of new information 104 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Services\mouclass\Parameters" -Name "MouseDataQueueSize" -Type "DWord" -Value "20" -Message "Optimized mouse input buffer size" 105 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters" -Name "KeyboardDataQueueSize" -Type "DWord" -Value "20" -Message "Optimized keyboard input buffer size" 106 | 107 | # Accessibility and keyboard response settings 108 | Set-RegistryValue -Path "HKCU:\Control Panel\Accessibility" -Name "StickyKeys" -Type "String" -Value "506" -Message "Disabled StickyKeys for better gaming experience" 109 | Set-RegistryValue -Path "HKCU:\Control Panel\Accessibility\ToggleKeys" -Name "Flags" -Type "String" -Value "58" -Message "Modified ToggleKeys behavior" 110 | Set-RegistryValue -Path "HKCU:\Control Panel\Accessibility\Keyboard Response" -Name "DelayBeforeAcceptance" -Type "String" -Value "0" -Message "Removed keyboard input delay" 111 | Set-RegistryValue -Path "HKCU:\Control Panel\Accessibility\Keyboard Response" -Name "AutoRepeatRate" -Type "String" -Value "0" -Message "Optimized key repeat rate" 112 | Set-RegistryValue -Path "HKCU:\Control Panel\Accessibility\Keyboard Response" -Name "AutoRepeatDelay" -Type "String" -Value "0" -Message "Removed key repeat delay" 113 | Set-RegistryValue -Path "HKCU:\Control Panel\Accessibility\Keyboard Response" -Name "Flags" -Type "String" -Value "122" -Message "Modified keyboard response flags" 114 | } 115 | 116 | function Apply-SSDTweaks { 117 | Write-Host "`nApplying SSD/NVMe tweaks...`n" 118 | 119 | # Check if SSD/NVMe exists 120 | $hasSSD = Get-PhysicalDisk | Where-Object { $_.MediaType -eq 'SSD' -or $_.BusType -eq 'NVMe' } | Measure-Object | Select-Object -ExpandProperty Count 121 | if ($hasSSD -gt 0) { 122 | 123 | Write-Host "Enable and optimize TRIM for SSD" 124 | fsutil behavior set DisableDeleteNotify 0 125 | 126 | Write-Host "Disable defragmentation for SSDs" 127 | Disable-ScheduledTask -TaskName "\Microsoft\Windows\Defrag\ScheduledDefrag" 128 | 129 | Write-Host "Disable NTFS last access time updates" 130 | fsutil behavior set disablelastaccess 1 131 | 132 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "NtfsDisable8dot3NameCreation" -Type "DWord" -Value "1" -Message "Disabled legacy 8.3 filename creation for better SSD performance" 133 | 134 | # Disable ApplicationPreLaunch & Prefetch 135 | # These services analyze apps in the background and cache data to speed up launches 136 | # On an SSD, apps load fast without them, so caching isn't needed 137 | Disable-MMAgent -ApplicationPreLaunch 138 | 139 | Set-RegistryValue -Path "HKLM:\System\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" -Name "EnablePrefetcher" -Type "DWord" -Value "0" -Message "Disabled prefetcher for better SSD performance" 140 | Set-RegistryValue -Path "HKLM:\System\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" -Name "SfTracingState" -Type "DWord" -Value "0" -Message "Disabled superfetch tracing" 141 | } else { 142 | Write-Host "No SSD or NVMe detected. Skipping tweaks." 143 | } 144 | } 145 | 146 | function Apply-GPUTweaks { 147 | Write-Host "`nApplying GPU Performance tweaks...`n" 148 | 149 | # GPU Performance Tweaks 150 | # The HwSchMode parameter optimizes hardware-level computation scheduling (Hardware Accelerated GPU Scheduling), reducing latency on lower-end GPUs. 151 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers" -Name "HwSchMode" -Type "DWord" -Value "2" -Message "Optimized GPU hardware scheduling" 152 | Set-RegistryValue -Path "HKLM:\SYSTEM\ControlSet001\Control\GraphicsDrivers\Scheduler" -Name "EnablePreemption" -Type "DWord" -Value "0" -Message "Disabled GPU preemption for better performance" 153 | } 154 | 155 | function Apply-NetworkTweaks { 156 | Write-Host "`nApplying Network tweaks...`n" 157 | 158 | # Network Optimization 159 | # By default, Windows uses network throttling to limit non-multimedia traffic to 10 packets per millisecond (about 100 Mb/s). 160 | # This is to prioritize CPU access for multimedia applications, as processing network packets can be resource-intensive. 161 | # However, it's recommended to disable this setting, especially with gigabit networks, to avoid unnecessary interference. 162 | # source - https://youtu.be/EmdosMT5TtA 163 | 164 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile" -Name "NetworkThrottlingIndex" -Type "DWord" -Value "4294967295" -Message "Disabled network throttling for maximum network performance" 165 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile" -Name "NoLazyMode" -Type "DWord" -Value "1" -Message "Disabled lazy mode for network operations" 166 | } 167 | 168 | function Apply-CPUTweaks { 169 | Write-Host "`nApplying CPU Performance tweaks...`n" 170 | 171 | # CPU Tweaks 172 | # LazyMode is a software flag that allows the system to skip some hardware events when CPU load is low. 173 | # Disabling it can use more resources for event processing, so we set the timer to a minimum of 1ms (10000ms). 174 | # source - https://youtu.be/FxpRL7wheGc 175 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile" -Name "LazyModeTimeout" -Type "DWord" -Value "25000" -Message "Set optimal lazy mode timeout for better CPU responsiveness" 176 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Services\MMCSS" -Name "Start" -Type "DWord" -Value "2" -Message "Configured Multimedia Class Scheduler Service for better performance" 177 | } 178 | 179 | function Apply-PowerTweaks { 180 | Write-Host "`nApplying Power Management tweaks...`n" 181 | 182 | # Power Management Tweaks 183 | # Power Throttling is a service that slows down background apps to save energy on laptops. 184 | # In this case, it's unnecessary, so it's recommended to disable it. 185 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Power\PowerThrottling" -Name "PowerThrottlingOff" -Type "DWord" -Value "1" -Message "Disabled power throttling for maximum performance" 186 | 187 | # source - https://github.com/ancel1x/Ancels-Performance-Batch 188 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Power" -Name "PlatformAoAcOverride" -Type "DWord" -Value "0" -Message "Disabled AC/DC platform power behavior override" 189 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Power" -Name "EnergyEstimationEnabled" -Type "DWord" -Value "0" -Message "Disabled energy estimation for better performance" 190 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Power" -Name "EventProcessorEnabled" -Type "DWord" -Value "0" -Message "Disabled power event processor" 191 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Power" -Name "CsEnabled" -Type "DWord" -Value "0" -Message "Disabled connected standby for better performance" 192 | 193 | # Activate Hidden Ultimate Performance Power Plan 194 | Write-Host "Activating Ultimate Performance Power Plan" 195 | powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61 eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee 196 | powercfg -setactive eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee 197 | } 198 | 199 | function Apply-SystemResponsivenessTweaks { 200 | Write-Host "`nApplying System Responsiveness tweaks...`n" 201 | 202 | # Set Priority For Programs Instead Of Background Services 203 | # This improves responsiveness of foreground applications 204 | # source - https://youtu.be/bqDMG1ZS-Yw 205 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\PriorityControl" -Name "Win32PrioritySeparation" -Type "DWord" -Value "0x00000024" -Message "Optimized process priority for better responsiveness" 206 | Set-RegistryValue -Path "HKLM:\SYSTEM\ControlSet001\Control\PriorityControl" -Name "IRQ8Priority" -Type "DWord" -Value "1" -Message "Set IRQ8 priority for better system response" 207 | Set-RegistryValue -Path "HKLM:\SYSTEM\ControlSet001\Control\PriorityControl" -Name "IRQ16Priority" -Type "DWord" -Value "2" -Message "Set IRQ16 priority for better system response" 208 | } 209 | 210 | function Apply-BootOptimizationTweaks { 211 | Write-Host "`nApplying Boot Optimization tweaks...`n" 212 | 213 | # Boot System & Software without limits 214 | Set-RegistryValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" -Name "Startupdelayinmsec" -Type "DWord" -Value "0" -Message "Removed startup delay for faster boot" 215 | 216 | # Speed up start time 217 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "DelayedDesktopSwitchTimeout" -Type "DWord" -Value "0" -Message "Removed desktop switch delay" 218 | } 219 | 220 | function Apply-SystemMaintenanceTweaks { 221 | Write-Host "`nApplying System Maintenance tweaks...`n" 222 | 223 | # Disable Automatic maintenance 224 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance" -Name "MaintenanceDisabled" -Type "DWord" -Value "1" -Message "Disabled automatic maintenance for better performance" 225 | } 226 | 227 | function Apply-UIResponsivenessTweaks { 228 | Write-Host "`nApplying UI Responsiveness tweaks...`n" 229 | 230 | # UI Responsiveness Tweaks 231 | Set-RegistryValue -Path "HKCU:\Control Panel\Desktop" -Name "AutoEndTasks" -Type "String" -Value "1" -Message "Enabled automatic ending of tasks" 232 | Set-RegistryValue -Path "HKCU:\Control Panel\Desktop" -Name "HungAppTimeout" -Type "String" -Value "1000" -Message "Reduced hung application timeout" 233 | Set-RegistryValue -Path "HKCU:\Control Panel\Desktop" -Name "WaitToKillAppTimeout" -Type "String" -Value "2000" -Message "Reduced wait time for killing applications" 234 | Set-RegistryValue -Path "HKCU:\Control Panel\Desktop" -Name "LowLevelHooksTimeout" -Type "String" -Value "1000" -Message "Reduced low level hooks timeout" 235 | Set-RegistryValue -Path "HKCU:\Control Panel\Desktop" -Name "MenuShowDelay" -Type "String" -Value "0" -Message "Removed menu show delay" 236 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control" -Name "WaitToKillServiceTimeout" -Type "String" -Value "2000" -Message "Reduced wait time for killing services" 237 | } 238 | 239 | function Apply-MemoryTweaks { 240 | Write-Host "`nApplying Memory Optimization tweaks...`n" 241 | 242 | # Memory Tweaks 243 | # source - https://github.com/SanGraphic/QuickBoost/blob/main/v2/MemoryTweaks.bat 244 | 245 | # Enabling Large System Cache makes the OS use all RAM for caching system files, 246 | # except 4MB reserved for disk cache, improving Windows responsiveness. 247 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "LargeSystemCache" -Type "DWord" -Value "1" -Message "Enabled large system cache for better performance" 248 | 249 | # Disabling Windows attempt to save as much RAM as possible, such as sharing pages for images, copy-on-write for data pages, and compression 250 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "DisablePagingCombining" -Type "DWord" -Value "1" -Message "Disabled memory page combining" 251 | 252 | # Enabling this parameter keeps the system kernel and drivers in RAM instead of the page file, improving responsiveness. 253 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "DisablePagingExecutive" -Type "DWord" -Value "1" -Message "Disabled paging of kernel and drivers" 254 | } 255 | 256 | function Apply-DirectXTweaks { 257 | Write-Host "`nApplying DirectX tweaks...`n" 258 | 259 | # DirectX Optimizations 260 | # source - https://youtu.be/itTcqcJxtbo 261 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D12_ENABLE_UNSAFE_COMMAND_BUFFER_REUSE" -Type "DWord" -Value "1" -Message "Enabled D3D12 command buffer reuse" 262 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D12_ENABLE_RUNTIME_DRIVER_OPTIMIZATIONS" -Type "DWord" -Value "1" -Message "Enabled D3D12 runtime optimizations" 263 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D12_RESOURCE_ALIGNMENT" -Type "DWord" -Value "1" -Message "Optimized D3D12 resource alignment" 264 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D11_MULTITHREADED" -Type "DWord" -Value "1" -Message "Enabled D3D11 multithreading" 265 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D12_MULTITHREADED" -Type "DWord" -Value "1" -Message "Enabled D3D12 multithreading" 266 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D11_DEFERRED_CONTEXTS" -Type "DWord" -Value "1" -Message "Enabled D3D11 deferred contexts" 267 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D12_DEFERRED_CONTEXTS" -Type "DWord" -Value "1" -Message "Enabled D3D12 deferred contexts" 268 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D11_ALLOW_TILING" -Type "DWord" -Value "1" -Message "Enabled D3D11 tiling optimization" 269 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D11_ENABLE_DYNAMIC_CODEGEN" -Type "DWord" -Value "1" -Message "Enabled D3D11 dynamic code generation" 270 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D12_ALLOW_TILING" -Type "DWord" -Value "1" -Message "Enabled D3D12 tiling optimization" 271 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D12_CPU_PAGE_TABLE_ENABLED" -Type "DWord" -Value "1" -Message "Enabled D3D12 CPU page table" 272 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D12_HEAP_SERIALIZATION_ENABLED" -Type "DWord" -Value "1" -Message "Enabled D3D12 heap serialization" 273 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D12_MAP_HEAP_ALLOCATIONS" -Type "DWord" -Value "1" -Message "Enabled D3D12 heap allocation mapping" 274 | Set-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\DirectX" -Name "D3D12_RESIDENCY_MANAGEMENT_ENABLED" -Type "DWord" -Value "1" -Message "Enabled D3D12 residency management" 275 | } 276 | 277 | 278 | function FreeUpSpace { 279 | $host.UI.RawUI.WindowTitle = "System Cleaner" 280 | Write-Host "" 281 | Write-Host "$Reset`Would you like to disable Reserved Storage?$Reset" 282 | Write-Host "$Yellow`This can free up to 7GB of space used for Windows updates.$Reset" 283 | $storage_choice = Read-Host "[1] Yes or [2] No" 284 | if ($storage_choice -eq "1") { 285 | Write-Host "$Reset`Disabling Reserved Storage...$Reset" 286 | Invoke-Expression "dism /Online /Set-ReservedStorageState /State:Disabled" 287 | } 288 | 289 | Write-Host "" 290 | Write-Host "$Reset`Would you like to clean up WinSxS?$Reset" 291 | Write-Host "$Yellow`This removes old component versions and reduces the size of the WinSxS folder.$Reset" 292 | $winsxs_choice = Read-Host "[1] Yes or [2] No" 293 | if ($winsxs_choice -eq "1") { 294 | Write-Host "$Reset`Cleaning up WinSxS...$Reset" 295 | Invoke-Expression "dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase /RestoreHealth" 296 | } 297 | 298 | Write-Host "" 299 | Write-Host "$Reset`Would you like to remove Virtual Memory (pagefile.sys)?$Reset" 300 | Write-Host "$Yellow`Warning: This may affect system performance. Only use if you have 16GB+ RAM.$Reset" 301 | $vm_choice = Read-Host "[1] Yes or [2] No" 302 | if ($vm_choice -eq "1") { 303 | Write-Host "$Reset`Removing Virtual Memory...$Reset" 304 | Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management' -Name 'PagingFiles' -Value '' 305 | } 306 | 307 | Write-Host "" 308 | Write-Host "$Reset`Would you like to install and launch PC Manager? (Official Microsoft Utility from Store)$Reset" 309 | $pcmanager_choice = Read-Host "[1] Yes or [2] No" 310 | if ($pcmanager_choice -eq "1") { 311 | Write-Host "$Reset`Installing PC Manager...$Reset" 312 | $result = Invoke-Expression "winget install Microsoft.PCManager --accept-package-agreements --accept-source-agreements" 313 | 314 | if ($LASTEXITCODE -eq 0) { 315 | Write-Host "Successfully installed PC Manager." 316 | Start-Sleep -Seconds 2 317 | Start-Process "shell:AppsFolder\Microsoft.MicrosoftPCManager_8wekyb3d8bbwe!App" 318 | } elseif ($LASTEXITCODE -eq -1978335189) { 319 | Write-Host "$Reset`PC Manager is already installed. Launching...$Reset" 320 | Start-Process "shell:AppsFolder\Microsoft.MicrosoftPCManager_8wekyb3d8bbwe!App" 321 | } else { 322 | Write-Host "Failed to install PC Manager. Please try manually." 323 | Start-Process "ms-windows-store://pdp?hl=en-us&gl=us&ocid=pdpshare&referrer=storeforweb&productid=9pm860492szd&storecid=storeweb-pdp-open-cta" 324 | Read-Host "Press Enter to continue..." 325 | } 326 | } 327 | 328 | Write-Host "" 329 | Write-Host "$Green`All selected cleaning operations completed.$Reset" 330 | Show-MainMenu 331 | } 332 | 333 | function Show-GPUMenu { 334 | Clear-Host 335 | Write-Host "" 336 | Write-Host "$Purple +-------------------------------------+$Reset" 337 | Write-Host "$Purple |$Reset Select your GPU manufacturer: $Purple|$Reset" 338 | Write-Host "$Purple +-------------------------------------+$Reset" 339 | Write-Host "$Purple |$Reset [1] NVIDIA $Purple|$Reset" 340 | Write-Host "$Purple |$Reset [2] AMD $Purple|$Reset" 341 | Write-Host "$Purple |$Reset [3] Both (Hybrid Laptop) $Purple|$Reset" 342 | Write-Host "$Purple +-------------------------------------+$Reset" 343 | Write-Host "$Purple |$Reset [4] Back to Main Menu $Purple|$Reset" 344 | Write-Host "$Purple +-------------------------------------+$Reset" 345 | 346 | $choice = Read-Host ">" 347 | 348 | switch ($choice) { 349 | "1" { Apply-NvidiaTweaks } 350 | "2" { Apply-AMDTweaks } 351 | "3" { Apply-HybridTweaks } 352 | "4" { Show-MainMenu } 353 | default { Show-GPUMenu } 354 | } 355 | } 356 | 357 | function Apply-HybridTweaks { 358 | Write-Host "$Green Applying tweaks for hybrid GPU configuration (NVIDIA + AMD)...$Reset" 359 | Apply-NvidiaTweaks -NoExit 360 | Apply-AMDTweaks -NoExit 361 | Write-Host "$Green Successfully applied tweaks for both NVIDIA and AMD GPUs.$Reset" 362 | Write-Host "" 363 | Write-Host "$Purple Press any key to return to the GPU menu...$Reset" 364 | $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") 365 | Show-GPUMenu 366 | } 367 | 368 | function Apply-NvidiaTweaks { 369 | param ( 370 | [switch]$NoExit 371 | ) 372 | 373 | # source - https://github.com/AlchemyTweaks/Verified-Tweaks/blob/main/Nvidia/RmGpsPsEnablePerCpuCoreDpc 374 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers" -Name "RmGpsPsEnablePerCpuCoreDpc" -Type "DWord" -Value "1" -Message "Enabled per-CPU core DPC for NVIDIA drivers" 375 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Power" -Name "RmGpsPsEnablePerCpuCoreDpc" -Type "DWord" -Value "1" -Message "Enabled power-aware per-CPU core DPC" 376 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Services\nvlddmkm" -Name "RmGpsPsEnablePerCpuCoreDpc" -Type "DWord" -Value "1" -Message "Enabled NVIDIA driver per-CPU core DPC" 377 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Services\nvlddmkm\NVAPI" -Name "RmGpsPsEnablePerCpuCoreDpc" -Type "DWord" -Value "1" -Message "Enabled NVIDIA API per-CPU core DPC" 378 | Set-RegistryValue -Path "HKLM:\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\NVTweak" -Name "RmGpsPsEnablePerCpuCoreDpc" -Type "DWord" -Value "1" -Message "Enabled global NVIDIA tweaks for per-CPU core DPC" 379 | 380 | if (-not $NoExit) { 381 | Write-Host "" 382 | Write-Host "$Purple Press any key to return to the GPU menu...$Reset" 383 | $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") 384 | Show-GPUMenu 385 | } 386 | } 387 | 388 | function Apply-AMDTweaks { 389 | param ( 390 | [switch]$NoExit 391 | ) 392 | 393 | # source - https://youtu.be/nuUV2RoPOWc , https://github.com/AlchemyTweaks/Verified-Tweaks/blob/main/AMD%20Radeon/AMD%20Tweak%20Melody 394 | $amdPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000" 395 | Set-RegistryValue -Path $amdPath -Name "AllowSnapshot" -Type "DWord" -Value "0" -Message "Disabled AMD snapshot feature" 396 | Set-RegistryValue -Path $amdPath -Name "AllowSubscription" -Type "DWord" -Value "0" -Message "Disabled AMD subscription feature" 397 | Set-RegistryValue -Path $amdPath -Name "AllowRSOverlay" -Type "String" -Value "false" -Message "Disabled AMD RS overlay" 398 | Set-RegistryValue -Path $amdPath -Name "AllowSkins" -Type "String" -Value "false" -Message "Disabled AMD skins" 399 | Set-RegistryValue -Path $amdPath -Name "AutoColorDepthReduction_NA" -Type "DWord" -Value "0" -Message "Disabled automatic color depth reduction" 400 | Set-RegistryValue -Path $amdPath -Name "DisableUVDPowerGatingDynamic" -Type "DWord" -Value "1" -Message "Disabled UVD power gating" 401 | Set-RegistryValue -Path $amdPath -Name "DisableVCEPowerGating" -Type "DWord" -Value "1" -Message "Disabled VCE power gating" 402 | Set-RegistryValue -Path $amdPath -Name "DisablePowerGating" -Type "DWord" -Value "1" -Message "Disabled general power gating" 403 | Set-RegistryValue -Path $amdPath -Name "DisableDrmdmaPowerGating" -Type "DWord" -Value "1" -Message "Disabled DRMDMA power gating" 404 | Set-RegistryValue -Path $amdPath -Name "DisableDMACopy" -Type "DWord" -Value "1" -Message "Disabled DMA copy" 405 | Set-RegistryValue -Path $amdPath -Name "DisableBlockWrite" -Type "DWord" -Value "0" -Message "Enabled block write" 406 | Set-RegistryValue -Path $amdPath -Name "StutterMode" -Type "DWord" -Value "0" -Message "Disabled stutter mode" 407 | Set-RegistryValue -Path $amdPath -Name "PP_GPUPowerDownEnabled" -Type "DWord" -Value "0" -Message "Disabled GPU power down" 408 | Set-RegistryValue -Path $amdPath -Name "LTRSnoopL1Latency" -Type "DWord" -Value "1" -Message "Optimized LTR Snoop L1 latency" 409 | Set-RegistryValue -Path $amdPath -Name "LTRSnoopL0Latency" -Type "DWord" -Value "1" -Message "Optimized LTR Snoop L0 latency" 410 | Set-RegistryValue -Path $amdPath -Name "LTRNoSnoopL1Latency" -Type "DWord" -Value "1" -Message "Optimized LTR No Snoop L1 latency" 411 | Set-RegistryValue -Path $amdPath -Name "LTRMaxNoSnoopLatency" -Type "DWord" -Value "1" -Message "Optimized LTR max no snoop latency" 412 | Set-RegistryValue -Path $amdPath -Name "KMD_RpmComputeLatency" -Type "DWord" -Value "1" -Message "Optimized KMD RPM compute latency" 413 | Set-RegistryValue -Path $amdPath -Name "DalUrgentLatencyNs" -Type "DWord" -Value "1" -Message "Optimized DAL urgent latency" 414 | Set-RegistryValue -Path $amdPath -Name "memClockSwitchLatency" -Type "DWord" -Value "1" -Message "Optimized memory clock switch latency" 415 | Set-RegistryValue -Path $amdPath -Name "PP_RTPMComputeF1Latency" -Type "DWord" -Value "1" -Message "Optimized RTPM compute F1 latency" 416 | Set-RegistryValue -Path $amdPath -Name "PP_DGBMMMaxTransitionLatencyUvd" -Type "DWord" -Value "1" -Message "Optimized DGBMM UVD transition latency" 417 | Set-RegistryValue -Path $amdPath -Name "PP_DGBPMMaxTransitionLatencyGfx" -Type "DWord" -Value "1" -Message "Optimized DGBPM GFX transition latency" 418 | Set-RegistryValue -Path $amdPath -Name "DalNBLatencyForUnderFlow" -Type "DWord" -Value "1" -Message "Optimized DAL NB underflow latency" 419 | Set-RegistryValue -Path $amdPath -Name "BGM_LTRSnoopL1Latency" -Type "DWord" -Value "1" -Message "Optimized BGM LTR Snoop L1 latency" 420 | Set-RegistryValue -Path $amdPath -Name "BGM_LTRSnoopL0Latency" -Type "DWord" -Value "1" -Message "Optimized BGM LTR Snoop L0 latency" 421 | Set-RegistryValue -Path $amdPath -Name "BGM_LTRNoSnoopL1Latency" -Type "DWord" -Value "1" -Message "Optimized BGM LTR No Snoop L1 latency" 422 | Set-RegistryValue -Path $amdPath -Name "BGM_LTRNoSnoopL0Latency" -Type "DWord" -Value "1" -Message "Optimized BGM LTR No Snoop L0 latency" 423 | Set-RegistryValue -Path $amdPath -Name "BGM_LTRMaxSnoopLatencyValue" -Type "DWord" -Value "1" -Message "Optimized BGM LTR max snoop latency" 424 | Set-RegistryValue -Path $amdPath -Name "BGM_LTRMaxNoSnoopLatencyValue" -Type "DWord" -Value "1" -Message "Optimized BGM LTR max no snoop latency" 425 | 426 | if (-not $NoExit) { 427 | Write-Host "" 428 | Write-Host "$Purple Press any key to return to the GPU menu...$Reset" 429 | $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") 430 | Show-GPUMenu 431 | } 432 | } 433 | 434 | Show-MainMenu -------------------------------------------------------------------------------- /modules/tools/GTweak.ps1: -------------------------------------------------------------------------------- 1 | . "$PSScriptRoot\..\..\scripts\Common.ps1" 2 | 3 | $Host.UI.RawUI.WindowTitle = "GTweak Launcher" 4 | 5 | $downloadUrl = "https://github.com/Greedeks/GTweak/releases/latest/download/gtweak.exe" 6 | $downloadPath = "$env:TEMP\gtweak.exe" 7 | 8 | Write-Host "$Purple +-------------------------+$Reset" 9 | Write-Host "$Purple '$Reset Launching GTweak... $Purple'$Reset" 10 | Write-Host "$Purple +-------------------------+$Reset" 11 | 12 | try { 13 | Invoke-WebRequest -Uri $downloadUrl -OutFile $downloadPath -UseBasicParsing 14 | 15 | if (Test-Path $downloadPath) { 16 | Write-Host "$Green GTweak downloaded successfully. Launching... $Reset" 17 | Start-Process -FilePath $downloadPath 18 | } else { 19 | Write-Host "$Red Failed to download GTweak. $Reset" 20 | } 21 | } catch { 22 | Write-Host "$Red Error downloading GTweak: $($_.Exception.Message) $Reset" 23 | } 24 | -------------------------------------------------------------------------------- /modules/tools/WinScript.ps1: -------------------------------------------------------------------------------- 1 | . "$PSScriptRoot\..\..\scripts\Common.ps1" 2 | 3 | function Show-WinScriptMenu { 4 | $Host.UI.RawUI.WindowTitle = "WinScript Launcher" 5 | Clear-Host 6 | Write-Host "" 7 | Write-Host "$Purple +-----------------------------------+$Reset" 8 | Write-Host "$Purple '$Reset Winscript - Make Windows Yours $Purple'$Reset" 9 | Write-Host "$Purple +-----------------------------------+$Reset" 10 | Write-Host "$Purple '$Reset [1] Open online version $Purple'$Reset" 11 | Write-Host "$Purple '$Reset [2] Run portable version $Purple'$Reset" 12 | Write-Host "$Purple '$Reset [3] Back to menu $Purple'$Reset" 13 | Write-Host "$Purple +-----------------------------------+$Reset" 14 | 15 | $choice = Read-Host "Select an option" 16 | 17 | switch ($choice) { 18 | "1" { Open-OnlineVersion } 19 | "2" { Run-Portable } 20 | "3" { & "$PSScriptRoot\..\..\simplify11.ps1" } 21 | default { Show-WinScriptMenu } 22 | } 23 | } 24 | 25 | function Open-OnlineVersion { 26 | Start-Process "https://winscript.cc/online/" 27 | Show-WinScriptMenu 28 | } 29 | 30 | function Run-Portable { 31 | Write-Host "$Green Running portable WinScript... $Reset" 32 | Invoke-Expression (Invoke-RestMethod -Uri "https://winscript.cc/irm") 33 | Write-Host "$Green WinScript completed. $Reset" 34 | Show-WinScriptMenu 35 | } 36 | 37 | Show-WinScriptMenu -------------------------------------------------------------------------------- /modules/tools/WinUtil.ps1: -------------------------------------------------------------------------------- 1 | . "$PSScriptRoot\..\..\scripts\Common.ps1" 2 | 3 | $Host.UI.RawUI.WindowTitle = "WinUtil Launcher" 4 | 5 | Clear-Host 6 | Write-Host "" 7 | Write-Host "$Purple +-----------------------------------+$Reset" 8 | Write-Host "$Purple '$Reset Launching Windows Utility Tool... $Purple'$Reset" 9 | Write-Host "$Purple +-----------------------------------+$Reset" 10 | 11 | try { 12 | Invoke-Expression (Invoke-RestMethod -Uri 'https://christitus.com/win') 13 | } catch { 14 | Write-Host "$Red Failed to launch Windows Utility Tool: $_$Reset" 15 | pause 16 | } 17 | 18 | exit -------------------------------------------------------------------------------- /modules/unigetui/UniGetUI.ps1: -------------------------------------------------------------------------------- 1 | . "$PSScriptRoot\..\..\scripts\Common.ps1" 2 | 3 | function Show-MainMenu { 4 | $Host.UI.RawUI.WindowTitle = "Simplify11 - UniGetUI" 5 | Clear-Host 6 | Write-Host "$Purple +------------------------------------------+$Reset" 7 | Write-Host "$Purple '$Reset UniGetUI (formerly WingetUI) $Purple'$Reset" 8 | Write-Host "$Purple +------------------------------------------+$Reset" 9 | Write-Host "$Purple '$Reset [1] Install and Launch $Purple'$Reset" 10 | Write-Host "$Purple '$Reset [2] Open List of Apps by Category $Purple'$Reset" 11 | Write-Host "$Purple '$Reset [3] Try Fixing Winget if something wrong $Purple'$Reset" 12 | Write-Host "$Purple +------------------------------------------+$Reset" 13 | 14 | $choice = Read-Host "Select an option" 15 | 16 | switch ($choice) { 17 | "1" { Install-UniGetUI } 18 | "2" { Show-AppCategoryMenu } 19 | "3" { Check-Winget } 20 | default { Show-MainMenu } 21 | } 22 | } 23 | 24 | function Install-UniGetUI { 25 | Clear-Host 26 | Write-Host "$Purple +--- ---+$Reset" 27 | Write-Host "$Purple '$Reset Install UniGetUI $Purple'$Reset" 28 | Write-Host "$Purple +--- ---+$Reset" 29 | 30 | & winget source update 31 | 32 | $isInstalled = & winget list --id MartiCliment.UniGetUI --accept-source-agreements | Select-String "MartiCliment.UniGetUI" 33 | 34 | if ($isInstalled) { 35 | Write-Host "$Reset UniGetUI is already installed. Launching...$Reset" 36 | Start-Process "unigetui:" 37 | } else { 38 | Write-Host "$Reset Installing UniGetUI...$Reset" 39 | $result = & winget install MartiCliment.UniGetUI --accept-package-agreements --accept-source-agreements 40 | 41 | if ($LASTEXITCODE -eq 0) { 42 | Write-Host "$Green Successfully installed UniGetUI.$Reset" 43 | Start-Process "unigetui:" 44 | } else { 45 | Write-Host "$Red Failed to install UniGetUI. Opening website for manual download...$Reset" 46 | Start-Process "https://www.marticliment.com/unigetui/" 47 | Check-Winget 48 | } 49 | } 50 | 51 | Show-MainMenu 52 | } 53 | 54 | function Check-Winget { 55 | $wingetExists = Get-Command winget -ErrorAction SilentlyContinue 56 | 57 | if (-not $wingetExists) { 58 | Write-Host "$Red Winget is not installed. Please install Windows App Installer from Microsoft Store.$Reset" 59 | Start-Process "ms-windows-store://pdp/?ProductId=9nblggh4nns1" 60 | Read-Host "Press Enter to continue" 61 | } 62 | 63 | Show-MainMenu 64 | } 65 | 66 | function Show-AppCategoryMenu { 67 | Clear-Host 68 | Write-Host "$Purple +--------------------------------+$Reset" 69 | Write-Host "$Purple '$Reset App Categories $Purple'$Reset" 70 | Write-Host "$Purple +--------------------------------+$Reset" 71 | Write-Host "$Purple '$Reset [1] Development $Purple'$Reset" 72 | Write-Host "$Purple '$Reset [2] Web Browsers $Purple'$Reset" 73 | Write-Host "$Purple '$Reset [3] Utilities, Microsoft tools $Purple'$Reset" 74 | Write-Host "$Purple '$Reset [4] Productivity Suite $Purple'$Reset" 75 | Write-Host "$Purple '$Reset [5] Gaming Essentials $Purple'$Reset" 76 | Write-Host "$Purple '$Reset [6] Communications $Purple'$Reset" 77 | Write-Host "$Purple +--------------------------------+$Reset" 78 | 79 | $choice = Read-Host "Select a category" 80 | 81 | $bundleName = switch ($choice) { 82 | "1" { "development" } 83 | "2" { "browsers" } 84 | "3" { "utilities" } 85 | "4" { "productivity" } 86 | "5" { "games" } 87 | "6" { "communications" } 88 | default { Show-AppCategoryMenu; return } 89 | } 90 | 91 | # Fix for getting the script path reliably 92 | $scriptPath = if ($PSScriptRoot) { 93 | $PSScriptRoot 94 | } elseif ($MyInvocation.MyCommand.Path) { 95 | Split-Path -Parent $MyInvocation.MyCommand.Path 96 | } else { 97 | $PWD.Path 98 | } 99 | 100 | $bundlePath = Join-Path -Path (Split-Path -Parent $scriptPath) -ChildPath "unigetui\ubundle\$bundleName.ubundle" 101 | 102 | Write-Host "Opening bundle: $bundlePath" 103 | 104 | try { 105 | Start-Process "$env:LOCALAPPDATA\Programs\UniGetUI\UniGetUI.exe" -ArgumentList "/launch", "`"$bundlePath`"" -ErrorAction Stop 106 | Read-Host "Press Enter to continue" 107 | } 108 | catch { 109 | try { 110 | Start-Process $bundlePath -ErrorAction Stop 111 | } 112 | catch { 113 | Write-Host "Make sure that you installed UniGetUI." 114 | Install-UniGetUI 115 | return 116 | } 117 | } 118 | 119 | Show-AppCategoryMenu 120 | } 121 | 122 | Show-MainMenu -------------------------------------------------------------------------------- /modules/unigetui/ubundle/Browsers.ubundle: -------------------------------------------------------------------------------- 1 | { 2 | "export_version": 2.1, 3 | "packages": [ 4 | { 5 | "Id": "Brave.Brave", 6 | "Name": "Brave", 7 | "Version": "133.1.75.178", 8 | "Source": "winget", 9 | "ManagerName": "Winget", 10 | "InstallationOptions": { 11 | "SkipHashCheck": false, 12 | "InteractiveInstallation": false, 13 | "RunAsAdministrator": false, 14 | "Architecture": "", 15 | "InstallationScope": "", 16 | "CustomParameters": [], 17 | "PreRelease": false, 18 | "CustomInstallLocation": "", 19 | "Version": "", 20 | "SkipMinorUpdates": false 21 | }, 22 | "Updates": { 23 | "UpdatesIgnored": false, 24 | "IgnoredVersion": "" 25 | } 26 | }, 27 | { 28 | "Id": "Google.Chrome", 29 | "Name": "Google Chrome", 30 | "Version": "133.0.6943.127", 31 | "Source": "winget", 32 | "ManagerName": "Winget", 33 | "InstallationOptions": { 34 | "SkipHashCheck": false, 35 | "InteractiveInstallation": false, 36 | "RunAsAdministrator": false, 37 | "Architecture": "", 38 | "InstallationScope": "", 39 | "CustomParameters": [], 40 | "PreRelease": false, 41 | "CustomInstallLocation": "", 42 | "Version": "", 43 | "SkipMinorUpdates": false 44 | }, 45 | "Updates": { 46 | "UpdatesIgnored": false, 47 | "IgnoredVersion": "" 48 | } 49 | }, 50 | { 51 | "Id": "Hibbiki.Chromium", 52 | "Name": "Chromium", 53 | "Version": "133.0.6943.127", 54 | "Source": "winget", 55 | "ManagerName": "Winget", 56 | "InstallationOptions": { 57 | "SkipHashCheck": false, 58 | "InteractiveInstallation": false, 59 | "RunAsAdministrator": false, 60 | "Architecture": "", 61 | "InstallationScope": "", 62 | "CustomParameters": [], 63 | "PreRelease": false, 64 | "CustomInstallLocation": "", 65 | "Version": "", 66 | "SkipMinorUpdates": false 67 | }, 68 | "Updates": { 69 | "UpdatesIgnored": false, 70 | "IgnoredVersion": "" 71 | } 72 | }, 73 | { 74 | "Id": "LibreWolf.LibreWolf", 75 | "Name": "LibreWolf", 76 | "Version": "135.0-1", 77 | "Source": "winget", 78 | "ManagerName": "Winget", 79 | "InstallationOptions": { 80 | "SkipHashCheck": false, 81 | "InteractiveInstallation": false, 82 | "RunAsAdministrator": false, 83 | "Architecture": "", 84 | "InstallationScope": "", 85 | "CustomParameters": [], 86 | "PreRelease": false, 87 | "CustomInstallLocation": "", 88 | "Version": "", 89 | "SkipMinorUpdates": false 90 | }, 91 | "Updates": { 92 | "UpdatesIgnored": false, 93 | "IgnoredVersion": "" 94 | } 95 | }, 96 | { 97 | "Id": "Mozilla.Firefox", 98 | "Name": "Mozilla Firefox", 99 | "Version": "135.0.1", 100 | "Source": "winget", 101 | "ManagerName": "Winget", 102 | "InstallationOptions": { 103 | "SkipHashCheck": false, 104 | "InteractiveInstallation": false, 105 | "RunAsAdministrator": false, 106 | "Architecture": "", 107 | "InstallationScope": "", 108 | "CustomParameters": [], 109 | "PreRelease": false, 110 | "CustomInstallLocation": "", 111 | "Version": "", 112 | "SkipMinorUpdates": false 113 | }, 114 | "Updates": { 115 | "UpdatesIgnored": false, 116 | "IgnoredVersion": "" 117 | } 118 | }, 119 | { 120 | "Id": "MullvadVPN.MullvadBrowser", 121 | "Name": "Mullvad Browser", 122 | "Version": "14.0.4", 123 | "Source": "winget", 124 | "ManagerName": "Winget", 125 | "InstallationOptions": { 126 | "SkipHashCheck": false, 127 | "InteractiveInstallation": false, 128 | "RunAsAdministrator": false, 129 | "Architecture": "", 130 | "InstallationScope": "", 131 | "CustomParameters": [], 132 | "PreRelease": false, 133 | "CustomInstallLocation": "", 134 | "Version": "", 135 | "SkipMinorUpdates": false 136 | }, 137 | "Updates": { 138 | "UpdatesIgnored": false, 139 | "IgnoredVersion": "" 140 | } 141 | }, 142 | { 143 | "Id": "TheBrowserCompany.Arc", 144 | "Name": "Arc", 145 | "Version": "1.41.0.11396", 146 | "Source": "winget", 147 | "ManagerName": "Winget", 148 | "InstallationOptions": { 149 | "SkipHashCheck": false, 150 | "InteractiveInstallation": false, 151 | "RunAsAdministrator": false, 152 | "Architecture": "", 153 | "InstallationScope": "", 154 | "CustomParameters": [], 155 | "PreRelease": false, 156 | "CustomInstallLocation": "", 157 | "Version": "", 158 | "SkipMinorUpdates": false 159 | }, 160 | "Updates": { 161 | "UpdatesIgnored": false, 162 | "IgnoredVersion": "" 163 | } 164 | }, 165 | { 166 | "Id": "Vivaldi.Vivaldi", 167 | "Name": "Vivaldi", 168 | "Version": "7.1.3570.54", 169 | "Source": "winget", 170 | "ManagerName": "Winget", 171 | "InstallationOptions": { 172 | "SkipHashCheck": false, 173 | "InteractiveInstallation": false, 174 | "RunAsAdministrator": false, 175 | "Architecture": "", 176 | "InstallationScope": "", 177 | "CustomParameters": [], 178 | "PreRelease": false, 179 | "CustomInstallLocation": "", 180 | "Version": "", 181 | "SkipMinorUpdates": false 182 | }, 183 | "Updates": { 184 | "UpdatesIgnored": false, 185 | "IgnoredVersion": "" 186 | } 187 | }, 188 | { 189 | "Id": "Yandex.Browser", 190 | "Name": "Yandex Browser", 191 | "Version": "25.2.1.887", 192 | "Source": "winget", 193 | "ManagerName": "Winget", 194 | "InstallationOptions": { 195 | "SkipHashCheck": false, 196 | "InteractiveInstallation": false, 197 | "RunAsAdministrator": false, 198 | "Architecture": "", 199 | "InstallationScope": "", 200 | "CustomParameters": [], 201 | "PreRelease": false, 202 | "CustomInstallLocation": "", 203 | "Version": "", 204 | "SkipMinorUpdates": false 205 | }, 206 | "Updates": { 207 | "UpdatesIgnored": false, 208 | "IgnoredVersion": "" 209 | } 210 | }, 211 | { 212 | "Id": "Zen-Team.Zen-Browser", 213 | "Name": "Zen Browser", 214 | "Version": "1.7.6b", 215 | "Source": "winget", 216 | "ManagerName": "Winget", 217 | "InstallationOptions": { 218 | "SkipHashCheck": false, 219 | "InteractiveInstallation": false, 220 | "RunAsAdministrator": false, 221 | "Architecture": "", 222 | "InstallationScope": "", 223 | "CustomParameters": [], 224 | "PreRelease": false, 225 | "CustomInstallLocation": "", 226 | "Version": "", 227 | "SkipMinorUpdates": false 228 | }, 229 | "Updates": { 230 | "UpdatesIgnored": false, 231 | "IgnoredVersion": "" 232 | } 233 | }, 234 | { 235 | "Id": "eloston.ungoogled-chromium", 236 | "Name": "Chromium", 237 | "Version": "133.0.6943.98", 238 | "Source": "winget", 239 | "ManagerName": "Winget", 240 | "InstallationOptions": { 241 | "SkipHashCheck": false, 242 | "InteractiveInstallation": false, 243 | "RunAsAdministrator": false, 244 | "Architecture": "", 245 | "InstallationScope": "", 246 | "CustomParameters": [], 247 | "PreRelease": false, 248 | "CustomInstallLocation": "", 249 | "Version": "", 250 | "SkipMinorUpdates": false 251 | }, 252 | "Updates": { 253 | "UpdatesIgnored": false, 254 | "IgnoredVersion": "" 255 | } 256 | } 257 | ], 258 | "incompatible_packages_info": "Incompatible packages cannot be installed from WingetUI, but they have been listed here for logging purposes.", 259 | "incompatible_packages": [] 260 | } -------------------------------------------------------------------------------- /modules/unigetui/ubundle/Communications.ubundle: -------------------------------------------------------------------------------- 1 | { 2 | "export_version": 2.1, 3 | "packages": [ 4 | { 5 | "Id": "Discord.Discord", 6 | "Name": "Discord", 7 | "Version": "1.0.9183", 8 | "Source": "winget", 9 | "ManagerName": "Winget", 10 | "InstallationOptions": { 11 | "SkipHashCheck": false, 12 | "InteractiveInstallation": false, 13 | "RunAsAdministrator": false, 14 | "Architecture": "", 15 | "InstallationScope": "", 16 | "CustomParameters": [], 17 | "PreRelease": false, 18 | "CustomInstallLocation": "", 19 | "Version": "", 20 | "SkipMinorUpdates": false 21 | }, 22 | "Updates": { 23 | "UpdatesIgnored": false, 24 | "IgnoredVersion": "" 25 | } 26 | }, 27 | { 28 | "Id": "RadolynLabs.AyuGramDesktop", 29 | "Name": "AyuGram Desktop", 30 | "Version": "5.6.3", 31 | "Source": "winget", 32 | "ManagerName": "Winget", 33 | "InstallationOptions": { 34 | "SkipHashCheck": false, 35 | "InteractiveInstallation": false, 36 | "RunAsAdministrator": false, 37 | "Architecture": "", 38 | "InstallationScope": "", 39 | "CustomParameters": [], 40 | "PreRelease": false, 41 | "CustomInstallLocation": "", 42 | "Version": "", 43 | "SkipMinorUpdates": false 44 | }, 45 | "Updates": { 46 | "UpdatesIgnored": false, 47 | "IgnoredVersion": "" 48 | } 49 | }, 50 | { 51 | "Id": "Vencord.Vesktop", 52 | "Name": "Vesktop", 53 | "Version": "1.5.5", 54 | "Source": "winget", 55 | "ManagerName": "Winget", 56 | "InstallationOptions": { 57 | "SkipHashCheck": false, 58 | "InteractiveInstallation": false, 59 | "RunAsAdministrator": false, 60 | "Architecture": "", 61 | "InstallationScope": "", 62 | "CustomParameters": [], 63 | "PreRelease": false, 64 | "CustomInstallLocation": "", 65 | "Version": "", 66 | "SkipMinorUpdates": false 67 | }, 68 | "Updates": { 69 | "UpdatesIgnored": false, 70 | "IgnoredVersion": "" 71 | } 72 | }, 73 | { 74 | "Id": "kukuruzka165.materialgram", 75 | "Name": "materialgram", 76 | "Version": "5.7.0.1", 77 | "Source": "winget", 78 | "ManagerName": "Winget", 79 | "InstallationOptions": { 80 | "SkipHashCheck": false, 81 | "InteractiveInstallation": false, 82 | "RunAsAdministrator": false, 83 | "Architecture": "", 84 | "InstallationScope": "", 85 | "CustomParameters": [], 86 | "PreRelease": false, 87 | "CustomInstallLocation": "", 88 | "Version": "", 89 | "SkipMinorUpdates": false 90 | }, 91 | "Updates": { 92 | "UpdatesIgnored": false, 93 | "IgnoredVersion": "" 94 | } 95 | } 96 | ], 97 | "incompatible_packages_info": "Incompatible packages cannot be installed from WingetUI, but they have been listed here for logging purposes.", 98 | "incompatible_packages": [] 99 | } -------------------------------------------------------------------------------- /modules/unigetui/ubundle/Development.ubundle: -------------------------------------------------------------------------------- 1 | { 2 | "export_version": 2.1, 3 | "packages": [ 4 | { 5 | "Id": "Anysphere.Cursor", 6 | "Name": "Cursor", 7 | "Version": "0.45.12", 8 | "Source": "winget", 9 | "ManagerName": "Winget", 10 | "InstallationOptions": { 11 | "SkipHashCheck": false, 12 | "InteractiveInstallation": false, 13 | "RunAsAdministrator": false, 14 | "Architecture": "", 15 | "InstallationScope": "", 16 | "CustomParameters": [], 17 | "PreRelease": false, 18 | "CustomInstallLocation": "", 19 | "Version": "", 20 | "SkipMinorUpdates": false 21 | }, 22 | "Updates": { 23 | "UpdatesIgnored": false, 24 | "IgnoredVersion": "" 25 | } 26 | }, 27 | { 28 | "Id": "ByteDance.Trae", 29 | "Name": "Trae", 30 | "Version": "1.98.2", 31 | "Source": "winget", 32 | "ManagerName": "Winget", 33 | "InstallationOptions": { 34 | "SkipHashCheck": false, 35 | "InteractiveInstallation": false, 36 | "RunAsAdministrator": false, 37 | "Architecture": "", 38 | "InstallationScope": "", 39 | "CustomParameters": [], 40 | "PreRelease": false, 41 | "CustomInstallLocation": "", 42 | "Version": "", 43 | "SkipMinorUpdates": false 44 | }, 45 | "Updates": { 46 | "UpdatesIgnored": false, 47 | "IgnoredVersion": "" 48 | } 49 | }, 50 | { 51 | "Id": "Codeium.Windsurf", 52 | "Name": "Windsurf", 53 | "Version": "1.94.0", 54 | "Source": "winget", 55 | "ManagerName": "Winget", 56 | "InstallationOptions": { 57 | "SkipHashCheck": false, 58 | "InteractiveInstallation": false, 59 | "RunAsAdministrator": false, 60 | "Architecture": "", 61 | "InstallationScope": "", 62 | "CustomParameters": [], 63 | "PreRelease": false, 64 | "CustomInstallLocation": "", 65 | "Version": "", 66 | "SkipMinorUpdates": false 67 | }, 68 | "Updates": { 69 | "UpdatesIgnored": false, 70 | "IgnoredVersion": "" 71 | } 72 | }, 73 | { 74 | "Id": "CommandLine.Wave", 75 | "Name": "Wave", 76 | "Version": "0.11.2", 77 | "Source": "winget", 78 | "ManagerName": "Winget", 79 | "InstallationOptions": { 80 | "SkipHashCheck": false, 81 | "InteractiveInstallation": false, 82 | "RunAsAdministrator": false, 83 | "Architecture": "", 84 | "InstallationScope": "", 85 | "CustomParameters": [], 86 | "PreRelease": false, 87 | "CustomInstallLocation": "", 88 | "Version": "", 89 | "SkipMinorUpdates": false 90 | }, 91 | "Updates": { 92 | "UpdatesIgnored": false, 93 | "IgnoredVersion": "" 94 | } 95 | }, 96 | { 97 | "Id": "Docker.DockerDesktop", 98 | "Name": "Docker Desktop", 99 | "Version": "4.38.0", 100 | "Source": "winget", 101 | "ManagerName": "Winget", 102 | "InstallationOptions": { 103 | "SkipHashCheck": false, 104 | "InteractiveInstallation": false, 105 | "RunAsAdministrator": false, 106 | "Architecture": "", 107 | "InstallationScope": "", 108 | "CustomParameters": [], 109 | "PreRelease": false, 110 | "CustomInstallLocation": "", 111 | "Version": "", 112 | "SkipMinorUpdates": false 113 | }, 114 | "Updates": { 115 | "UpdatesIgnored": false, 116 | "IgnoredVersion": "" 117 | } 118 | }, 119 | { 120 | "Id": "GitHub.GitHubDesktop", 121 | "Name": "GitHub Desktop", 122 | "Version": "3.4.19", 123 | "Source": "winget", 124 | "ManagerName": "Winget", 125 | "InstallationOptions": { 126 | "SkipHashCheck": false, 127 | "InteractiveInstallation": false, 128 | "RunAsAdministrator": false, 129 | "Architecture": "", 130 | "InstallationScope": "", 131 | "CustomParameters": [], 132 | "PreRelease": false, 133 | "CustomInstallLocation": "", 134 | "Version": "", 135 | "SkipMinorUpdates": false 136 | }, 137 | "Updates": { 138 | "UpdatesIgnored": false, 139 | "IgnoredVersion": "" 140 | } 141 | }, 142 | { 143 | "Id": "GoLang.Go", 144 | "Name": "Go Programming Language", 145 | "Version": "1.24.0", 146 | "Source": "winget", 147 | "ManagerName": "Winget", 148 | "InstallationOptions": { 149 | "SkipHashCheck": false, 150 | "InteractiveInstallation": false, 151 | "RunAsAdministrator": false, 152 | "Architecture": "", 153 | "InstallationScope": "", 154 | "CustomParameters": [], 155 | "PreRelease": false, 156 | "CustomInstallLocation": "", 157 | "Version": "", 158 | "SkipMinorUpdates": false 159 | }, 160 | "Updates": { 161 | "UpdatesIgnored": false, 162 | "IgnoredVersion": "" 163 | } 164 | }, 165 | { 166 | "Id": "JanDeDobbeleer.OhMyPosh", 167 | "Name": "Oh My Posh", 168 | "Version": "24.19.0", 169 | "Source": "winget", 170 | "ManagerName": "Winget", 171 | "InstallationOptions": { 172 | "SkipHashCheck": false, 173 | "InteractiveInstallation": false, 174 | "RunAsAdministrator": false, 175 | "Architecture": "", 176 | "InstallationScope": "", 177 | "CustomParameters": [], 178 | "PreRelease": false, 179 | "CustomInstallLocation": "", 180 | "Version": "", 181 | "SkipMinorUpdates": false 182 | }, 183 | "Updates": { 184 | "UpdatesIgnored": false, 185 | "IgnoredVersion": "" 186 | } 187 | }, 188 | { 189 | "Id": "JetBrains.PyCharm.Community", 190 | "Name": "PyCharm Community Edition", 191 | "Version": "2024.3.3", 192 | "Source": "winget", 193 | "ManagerName": "Winget", 194 | "InstallationOptions": { 195 | "SkipHashCheck": false, 196 | "InteractiveInstallation": false, 197 | "RunAsAdministrator": false, 198 | "Architecture": "", 199 | "InstallationScope": "", 200 | "CustomParameters": [], 201 | "PreRelease": false, 202 | "CustomInstallLocation": "", 203 | "Version": "", 204 | "SkipMinorUpdates": false 205 | }, 206 | "Updates": { 207 | "UpdatesIgnored": false, 208 | "IgnoredVersion": "" 209 | } 210 | }, 211 | { 212 | "Id": "Microsoft.Git", 213 | "Name": "Git", 214 | "Version": "2.48.1.0.0", 215 | "Source": "winget", 216 | "ManagerName": "Winget", 217 | "InstallationOptions": { 218 | "SkipHashCheck": false, 219 | "InteractiveInstallation": false, 220 | "RunAsAdministrator": false, 221 | "Architecture": "", 222 | "InstallationScope": "", 223 | "CustomParameters": [], 224 | "PreRelease": false, 225 | "CustomInstallLocation": "", 226 | "Version": "", 227 | "SkipMinorUpdates": false 228 | }, 229 | "Updates": { 230 | "UpdatesIgnored": false, 231 | "IgnoredVersion": "" 232 | } 233 | }, 234 | { 235 | "Id": "Microsoft.VisualStudio.2022.Community", 236 | "Name": "Visual Studio Community 2022", 237 | "Version": "17.13.0", 238 | "Source": "winget", 239 | "ManagerName": "Winget", 240 | "InstallationOptions": { 241 | "SkipHashCheck": false, 242 | "InteractiveInstallation": false, 243 | "RunAsAdministrator": false, 244 | "Architecture": "", 245 | "InstallationScope": "", 246 | "CustomParameters": [], 247 | "PreRelease": false, 248 | "CustomInstallLocation": "", 249 | "Version": "", 250 | "SkipMinorUpdates": false 251 | }, 252 | "Updates": { 253 | "UpdatesIgnored": false, 254 | "IgnoredVersion": "" 255 | } 256 | }, 257 | { 258 | "Id": "Microsoft.VisualStudioCode", 259 | "Name": "Microsoft Visual Studio Code", 260 | "Version": "1.97.2", 261 | "Source": "winget", 262 | "ManagerName": "Winget", 263 | "InstallationOptions": { 264 | "SkipHashCheck": false, 265 | "InteractiveInstallation": false, 266 | "RunAsAdministrator": false, 267 | "Architecture": "", 268 | "InstallationScope": "", 269 | "CustomParameters": [], 270 | "PreRelease": false, 271 | "CustomInstallLocation": "", 272 | "Version": "", 273 | "SkipMinorUpdates": false 274 | }, 275 | "Updates": { 276 | "UpdatesIgnored": false, 277 | "IgnoredVersion": "" 278 | } 279 | }, 280 | { 281 | "Id": "Microsoft.WSL", 282 | "Name": "Windows Subsystem for Linux", 283 | "Version": "2.4.11.0", 284 | "Source": "winget", 285 | "ManagerName": "Winget", 286 | "InstallationOptions": { 287 | "SkipHashCheck": false, 288 | "InteractiveInstallation": false, 289 | "RunAsAdministrator": false, 290 | "Architecture": "", 291 | "InstallationScope": "", 292 | "CustomParameters": [], 293 | "PreRelease": false, 294 | "CustomInstallLocation": "", 295 | "Version": "", 296 | "SkipMinorUpdates": false 297 | }, 298 | "Updates": { 299 | "UpdatesIgnored": false, 300 | "IgnoredVersion": "" 301 | } 302 | }, 303 | { 304 | "Id": "Microsoft.WindowsTerminal", 305 | "Name": "Windows Terminal", 306 | "Version": "1.22.10352.0", 307 | "Source": "winget", 308 | "ManagerName": "Winget", 309 | "InstallationOptions": { 310 | "SkipHashCheck": false, 311 | "InteractiveInstallation": false, 312 | "RunAsAdministrator": false, 313 | "Architecture": "", 314 | "InstallationScope": "", 315 | "CustomParameters": [], 316 | "PreRelease": false, 317 | "CustomInstallLocation": "", 318 | "Version": "", 319 | "SkipMinorUpdates": false 320 | }, 321 | "Updates": { 322 | "UpdatesIgnored": false, 323 | "IgnoredVersion": "" 324 | } 325 | }, 326 | { 327 | "Id": "OpenJS.NodeJS", 328 | "Name": "Node.js", 329 | "Version": "23.8.0", 330 | "Source": "winget", 331 | "ManagerName": "Winget", 332 | "InstallationOptions": { 333 | "SkipHashCheck": false, 334 | "InteractiveInstallation": false, 335 | "RunAsAdministrator": false, 336 | "Architecture": "", 337 | "InstallationScope": "", 338 | "CustomParameters": [], 339 | "PreRelease": false, 340 | "CustomInstallLocation": "", 341 | "Version": "", 342 | "SkipMinorUpdates": false 343 | }, 344 | "Updates": { 345 | "UpdatesIgnored": false, 346 | "IgnoredVersion": "" 347 | } 348 | }, 349 | { 350 | "Id": "PostgreSQL.PostgreSQL.17", 351 | "Name": "PostgreSQL 17", 352 | "Version": "17.3-1", 353 | "Source": "winget", 354 | "ManagerName": "Winget", 355 | "InstallationOptions": { 356 | "SkipHashCheck": false, 357 | "InteractiveInstallation": false, 358 | "RunAsAdministrator": false, 359 | "Architecture": "", 360 | "InstallationScope": "", 361 | "CustomParameters": [], 362 | "PreRelease": false, 363 | "CustomInstallLocation": "", 364 | "Version": "", 365 | "SkipMinorUpdates": false 366 | }, 367 | "Updates": { 368 | "UpdatesIgnored": false, 369 | "IgnoredVersion": "" 370 | } 371 | }, 372 | { 373 | "Id": "PostgreSQL.pgAdmin", 374 | "Name": "pgAdmin 4", 375 | "Version": "9", 376 | "Source": "winget", 377 | "ManagerName": "Winget", 378 | "InstallationOptions": { 379 | "SkipHashCheck": false, 380 | "InteractiveInstallation": false, 381 | "RunAsAdministrator": false, 382 | "Architecture": "", 383 | "InstallationScope": "", 384 | "CustomParameters": [], 385 | "PreRelease": false, 386 | "CustomInstallLocation": "", 387 | "Version": "", 388 | "SkipMinorUpdates": false 389 | }, 390 | "Updates": { 391 | "UpdatesIgnored": false, 392 | "IgnoredVersion": "" 393 | } 394 | }, 395 | { 396 | "Id": "VSCodium.VSCodium", 397 | "Name": "VSCodium", 398 | "Version": "1.97.2.25045", 399 | "Source": "winget", 400 | "ManagerName": "Winget", 401 | "InstallationOptions": { 402 | "SkipHashCheck": false, 403 | "InteractiveInstallation": false, 404 | "RunAsAdministrator": false, 405 | "Architecture": "", 406 | "InstallationScope": "", 407 | "CustomParameters": [], 408 | "PreRelease": false, 409 | "CustomInstallLocation": "", 410 | "Version": "", 411 | "SkipMinorUpdates": false 412 | }, 413 | "Updates": { 414 | "UpdatesIgnored": false, 415 | "IgnoredVersion": "" 416 | } 417 | }, 418 | { 419 | "Id": "Warp.Warp", 420 | "Name": "Warp", 421 | "Version": "v0.2025.03.12.08.02.stable_03", 422 | "Source": "winget", 423 | "ManagerName": "Winget", 424 | "InstallationOptions": { 425 | "SkipHashCheck": false, 426 | "InteractiveInstallation": false, 427 | "RunAsAdministrator": false, 428 | "Architecture": "", 429 | "InstallationScope": "", 430 | "CustomParameters": [], 431 | "PreRelease": false, 432 | "CustomInstallLocation": "", 433 | "Version": "", 434 | "SkipMinorUpdates": false 435 | }, 436 | "Updates": { 437 | "UpdatesIgnored": false, 438 | "IgnoredVersion": "" 439 | } 440 | }, 441 | { 442 | "Id": "astral-sh.uv", 443 | "Name": "uv", 444 | "Version": "0.6.7", 445 | "Source": "winget", 446 | "ManagerName": "Winget", 447 | "InstallationOptions": { 448 | "SkipHashCheck": false, 449 | "InteractiveInstallation": false, 450 | "RunAsAdministrator": false, 451 | "Architecture": "", 452 | "InstallationScope": "", 453 | "CustomParameters": [], 454 | "PreRelease": false, 455 | "CustomInstallLocation": "", 456 | "Version": "", 457 | "SkipMinorUpdates": false 458 | }, 459 | "Updates": { 460 | "UpdatesIgnored": false, 461 | "IgnoredVersion": "" 462 | } 463 | } 464 | ], 465 | "incompatible_packages_info": "Incompatible packages cannot be installed from WingetUI, but they have been listed here for logging purposes.", 466 | "incompatible_packages": [] 467 | } -------------------------------------------------------------------------------- /modules/unigetui/ubundle/Games.ubundle: -------------------------------------------------------------------------------- 1 | { 2 | "export_version": 2.1, 3 | "packages": [ 4 | { 5 | "Id": "Blizzard.BattleNet", 6 | "Name": "Battle.net Setup", 7 | "Version": "1.18.10.3141", 8 | "Source": "winget", 9 | "ManagerName": "Winget", 10 | "InstallationOptions": { 11 | "SkipHashCheck": false, 12 | "InteractiveInstallation": false, 13 | "RunAsAdministrator": false, 14 | "Architecture": "", 15 | "InstallationScope": "", 16 | "CustomParameters": [], 17 | "PreRelease": false, 18 | "CustomInstallLocation": "", 19 | "Version": "", 20 | "SkipMinorUpdates": false 21 | }, 22 | "Updates": { 23 | "UpdatesIgnored": false, 24 | "IgnoredVersion": "" 25 | } 26 | }, 27 | { 28 | "Id": "EpicGames.EpicGamesLauncher", 29 | "Name": "Epic Games Launcher", 30 | "Version": "1.3.128.0", 31 | "Source": "winget", 32 | "ManagerName": "Winget", 33 | "InstallationOptions": { 34 | "SkipHashCheck": false, 35 | "InteractiveInstallation": false, 36 | "RunAsAdministrator": false, 37 | "Architecture": "", 38 | "InstallationScope": "", 39 | "CustomParameters": [], 40 | "PreRelease": false, 41 | "CustomInstallLocation": "", 42 | "Version": "", 43 | "SkipMinorUpdates": false 44 | }, 45 | "Updates": { 46 | "UpdatesIgnored": false, 47 | "IgnoredVersion": "" 48 | } 49 | }, 50 | { 51 | "Id": "Modrinth.ModrinthApp", 52 | "Name": "Modrinth App", 53 | "Version": "0.9.2", 54 | "Source": "winget", 55 | "ManagerName": "Winget", 56 | "InstallationOptions": { 57 | "SkipHashCheck": false, 58 | "InteractiveInstallation": false, 59 | "RunAsAdministrator": false, 60 | "Architecture": "", 61 | "InstallationScope": "", 62 | "CustomParameters": [], 63 | "PreRelease": false, 64 | "CustomInstallLocation": "", 65 | "Version": "", 66 | "SkipMinorUpdates": false 67 | }, 68 | "Updates": { 69 | "UpdatesIgnored": false, 70 | "IgnoredVersion": "" 71 | } 72 | }, 73 | { 74 | "Id": "Octol1ttle.ElyPrismLauncher", 75 | "Name": "ElyPrismLauncher", 76 | "Version": "8.4", 77 | "Source": "winget", 78 | "ManagerName": "Winget", 79 | "InstallationOptions": { 80 | "SkipHashCheck": false, 81 | "InteractiveInstallation": false, 82 | "RunAsAdministrator": false, 83 | "Architecture": "", 84 | "InstallationScope": "", 85 | "CustomParameters": [], 86 | "PreRelease": false, 87 | "CustomInstallLocation": "", 88 | "Version": "", 89 | "SkipMinorUpdates": false 90 | }, 91 | "Updates": { 92 | "UpdatesIgnored": false, 93 | "IgnoredVersion": "" 94 | } 95 | }, 96 | { 97 | "Id": "Playnite.Playnite", 98 | "Name": "Playnite", 99 | "Version": "10.35", 100 | "Source": "winget", 101 | "ManagerName": "Winget", 102 | "InstallationOptions": { 103 | "SkipHashCheck": false, 104 | "InteractiveInstallation": false, 105 | "RunAsAdministrator": false, 106 | "Architecture": "", 107 | "InstallationScope": "", 108 | "CustomParameters": [], 109 | "PreRelease": false, 110 | "CustomInstallLocation": "", 111 | "Version": "", 112 | "SkipMinorUpdates": false 113 | }, 114 | "Updates": { 115 | "UpdatesIgnored": false, 116 | "IgnoredVersion": "" 117 | } 118 | }, 119 | { 120 | "Id": "Valve.Steam", 121 | "Name": "Steam", 122 | "Version": "2.10.91.91", 123 | "Source": "winget", 124 | "ManagerName": "Winget", 125 | "InstallationOptions": { 126 | "SkipHashCheck": false, 127 | "InteractiveInstallation": false, 128 | "RunAsAdministrator": false, 129 | "Architecture": "", 130 | "InstallationScope": "", 131 | "CustomParameters": [], 132 | "PreRelease": false, 133 | "CustomInstallLocation": "", 134 | "Version": "", 135 | "SkipMinorUpdates": false 136 | }, 137 | "Updates": { 138 | "UpdatesIgnored": false, 139 | "IgnoredVersion": "" 140 | } 141 | }, 142 | { 143 | "Id": "heroic-games-launcher", 144 | "Name": "Heroic Games Launcher", 145 | "Version": "2.15.2", 146 | "Source": "community", 147 | "ManagerName": "Chocolatey", 148 | "InstallationOptions": { 149 | "SkipHashCheck": false, 150 | "InteractiveInstallation": false, 151 | "RunAsAdministrator": false, 152 | "Architecture": "", 153 | "InstallationScope": "", 154 | "CustomParameters": [], 155 | "PreRelease": false, 156 | "CustomInstallLocation": "", 157 | "Version": "", 158 | "SkipMinorUpdates": false 159 | }, 160 | "Updates": { 161 | "UpdatesIgnored": false, 162 | "IgnoredVersion": "" 163 | } 164 | } 165 | ], 166 | "incompatible_packages_info": "Incompatible packages cannot be installed from WingetUI, but they have been listed here for logging purposes.", 167 | "incompatible_packages": [] 168 | } -------------------------------------------------------------------------------- /modules/unigetui/ubundle/Productivity.ubundle: -------------------------------------------------------------------------------- 1 | { 2 | "export_version": 2.1, 3 | "packages": [ 4 | { 5 | "Id": "9N51FGRV6NHG", 6 | "Name": "StayFree - Screen Time \u0026 App Limits", 7 | "Version": "Unknown", 8 | "Source": "msstore", 9 | "ManagerName": "Winget", 10 | "InstallationOptions": { 11 | "SkipHashCheck": false, 12 | "InteractiveInstallation": false, 13 | "RunAsAdministrator": false, 14 | "Architecture": "", 15 | "InstallationScope": "", 16 | "CustomParameters": [], 17 | "PreRelease": false, 18 | "CustomInstallLocation": "", 19 | "Version": "", 20 | "SkipMinorUpdates": false 21 | }, 22 | "Updates": { 23 | "UpdatesIgnored": false, 24 | "IgnoredVersion": "" 25 | } 26 | }, 27 | { 28 | "Id": "AnyAssociation.Anytype", 29 | "Name": "Anytype", 30 | "Version": "0.45.3", 31 | "Source": "winget", 32 | "ManagerName": "Winget", 33 | "InstallationOptions": { 34 | "SkipHashCheck": false, 35 | "InteractiveInstallation": false, 36 | "RunAsAdministrator": false, 37 | "Architecture": "", 38 | "InstallationScope": "", 39 | "CustomParameters": [], 40 | "PreRelease": false, 41 | "CustomInstallLocation": "", 42 | "Version": "", 43 | "SkipMinorUpdates": false 44 | }, 45 | "Updates": { 46 | "UpdatesIgnored": false, 47 | "IgnoredVersion": "" 48 | } 49 | }, 50 | { 51 | "Id": "ByteDance.CapCut", 52 | "Name": "CapCut", 53 | "Version": "5.8.0.2216", 54 | "Source": "winget", 55 | "ManagerName": "Winget", 56 | "InstallationOptions": { 57 | "SkipHashCheck": false, 58 | "InteractiveInstallation": false, 59 | "RunAsAdministrator": false, 60 | "Architecture": "", 61 | "InstallationScope": "", 62 | "CustomParameters": [], 63 | "PreRelease": false, 64 | "CustomInstallLocation": "", 65 | "Version": "", 66 | "SkipMinorUpdates": false 67 | }, 68 | "Updates": { 69 | "UpdatesIgnored": false, 70 | "IgnoredVersion": "" 71 | } 72 | }, 73 | { 74 | "Id": "Doist.Todoist", 75 | "Name": "Todoist", 76 | "Version": "9.11.0", 77 | "Source": "winget", 78 | "ManagerName": "Winget", 79 | "InstallationOptions": { 80 | "SkipHashCheck": false, 81 | "InteractiveInstallation": false, 82 | "RunAsAdministrator": false, 83 | "Architecture": "", 84 | "InstallationScope": "", 85 | "CustomParameters": [], 86 | "PreRelease": false, 87 | "CustomInstallLocation": "", 88 | "Version": "", 89 | "SkipMinorUpdates": false 90 | }, 91 | "Updates": { 92 | "UpdatesIgnored": false, 93 | "IgnoredVersion": "" 94 | } 95 | }, 96 | { 97 | "Id": "OBSProject.OBSStudio", 98 | "Name": "OBS Studio", 99 | "Version": "31.0.1", 100 | "Source": "winget", 101 | "ManagerName": "Winget", 102 | "InstallationOptions": { 103 | "SkipHashCheck": false, 104 | "InteractiveInstallation": false, 105 | "RunAsAdministrator": false, 106 | "Architecture": "", 107 | "InstallationScope": "", 108 | "CustomParameters": [], 109 | "PreRelease": false, 110 | "CustomInstallLocation": "", 111 | "Version": "", 112 | "SkipMinorUpdates": false 113 | }, 114 | "Updates": { 115 | "UpdatesIgnored": false, 116 | "IgnoredVersion": "" 117 | } 118 | }, 119 | { 120 | "Id": "Proton.ProtonPass", 121 | "Name": "Proton Pass", 122 | "Version": "1.29.3", 123 | "Source": "winget", 124 | "ManagerName": "Winget", 125 | "InstallationOptions": { 126 | "SkipHashCheck": false, 127 | "InteractiveInstallation": false, 128 | "RunAsAdministrator": false, 129 | "Architecture": "", 130 | "InstallationScope": "", 131 | "CustomParameters": [], 132 | "PreRelease": false, 133 | "CustomInstallLocation": "", 134 | "Version": "", 135 | "SkipMinorUpdates": false 136 | }, 137 | "Updates": { 138 | "UpdatesIgnored": false, 139 | "IgnoredVersion": "" 140 | } 141 | }, 142 | { 143 | "Id": "RustemMussabekov.Raindrop", 144 | "Name": "Raindrop.io", 145 | "Version": "5.6.72", 146 | "Source": "winget", 147 | "ManagerName": "Winget", 148 | "InstallationOptions": { 149 | "SkipHashCheck": false, 150 | "InteractiveInstallation": false, 151 | "RunAsAdministrator": false, 152 | "Architecture": "", 153 | "InstallationScope": "", 154 | "CustomParameters": [], 155 | "PreRelease": false, 156 | "CustomInstallLocation": "", 157 | "Version": "", 158 | "SkipMinorUpdates": false 159 | }, 160 | "Updates": { 161 | "UpdatesIgnored": false, 162 | "IgnoredVersion": "" 163 | } 164 | }, 165 | { 166 | "Id": "Spotify.Spotify", 167 | "Name": "Spotify", 168 | "Version": "1.2.63.394.g126b0d89", 169 | "Source": "winget", 170 | "ManagerName": "Winget", 171 | "InstallationOptions": { 172 | "SkipHashCheck": false, 173 | "InteractiveInstallation": false, 174 | "RunAsAdministrator": false, 175 | "Architecture": "", 176 | "InstallationScope": "", 177 | "CustomParameters": [], 178 | "PreRelease": false, 179 | "CustomInstallLocation": "", 180 | "Version": "", 181 | "SkipMinorUpdates": false 182 | }, 183 | "Updates": { 184 | "UpdatesIgnored": false, 185 | "IgnoredVersion": "" 186 | } 187 | }, 188 | { 189 | "Id": "th-ch.YouTubeMusic", 190 | "Name": "YouTube Music", 191 | "Version": "3.8.0", 192 | "Source": "winget", 193 | "ManagerName": "Winget", 194 | "InstallationOptions": { 195 | "SkipHashCheck": false, 196 | "InteractiveInstallation": false, 197 | "RunAsAdministrator": false, 198 | "Architecture": "", 199 | "InstallationScope": "", 200 | "CustomParameters": [], 201 | "PreRelease": false, 202 | "CustomInstallLocation": "", 203 | "Version": "", 204 | "SkipMinorUpdates": false 205 | }, 206 | "Updates": { 207 | "UpdatesIgnored": false, 208 | "IgnoredVersion": "" 209 | } 210 | } 211 | ], 212 | "incompatible_packages_info": "Incompatible packages cannot be installed from WingetUI, but they have been listed here for logging purposes.", 213 | "incompatible_packages": [] 214 | } -------------------------------------------------------------------------------- /modules/unigetui/ubundle/Utilities.ubundle: -------------------------------------------------------------------------------- 1 | { 2 | "export_version": 2.1, 3 | "packages": [ 4 | { 5 | "Id": "AdrienAllard.FileConverter", 6 | "Name": "File Converter", 7 | "Version": "2.0.2", 8 | "Source": "winget", 9 | "ManagerName": "Winget", 10 | "InstallationOptions": { 11 | "SkipHashCheck": false, 12 | "InteractiveInstallation": false, 13 | "RunAsAdministrator": false, 14 | "Architecture": "", 15 | "InstallationScope": "", 16 | "CustomParameters": [], 17 | "PreRelease": false, 18 | "CustomInstallLocation": "", 19 | "Version": "", 20 | "SkipMinorUpdates": false 21 | }, 22 | "Updates": { 23 | "UpdatesIgnored": false, 24 | "IgnoredVersion": "" 25 | } 26 | }, 27 | { 28 | "Id": "AgileBits.1Password", 29 | "Name": "1Password", 30 | "Version": "8.10.60", 31 | "Source": "winget", 32 | "ManagerName": "Winget", 33 | "InstallationOptions": { 34 | "SkipHashCheck": false, 35 | "InteractiveInstallation": false, 36 | "RunAsAdministrator": false, 37 | "Architecture": "", 38 | "InstallationScope": "", 39 | "CustomParameters": [], 40 | "PreRelease": false, 41 | "CustomInstallLocation": "", 42 | "Version": "", 43 | "SkipMinorUpdates": false 44 | }, 45 | "Updates": { 46 | "UpdatesIgnored": false, 47 | "IgnoredVersion": "" 48 | } 49 | }, 50 | { 51 | "Id": "AntibodySoftware.WizTree", 52 | "Name": "WizTree", 53 | "Version": "4.25", 54 | "Source": "winget", 55 | "ManagerName": "Winget", 56 | "InstallationOptions": { 57 | "SkipHashCheck": false, 58 | "InteractiveInstallation": false, 59 | "RunAsAdministrator": false, 60 | "Architecture": "", 61 | "InstallationScope": "", 62 | "CustomParameters": [], 63 | "PreRelease": false, 64 | "CustomInstallLocation": "", 65 | "Version": "", 66 | "SkipMinorUpdates": false 67 | }, 68 | "Updates": { 69 | "UpdatesIgnored": false, 70 | "IgnoredVersion": "" 71 | } 72 | }, 73 | { 74 | "Id": "DupeGuru.DupeGuru", 75 | "Name": "dupeGuru", 76 | "Version": "4.3.1", 77 | "Source": "winget", 78 | "ManagerName": "Winget", 79 | "InstallationOptions": { 80 | "SkipHashCheck": false, 81 | "InteractiveInstallation": false, 82 | "RunAsAdministrator": false, 83 | "Architecture": "", 84 | "InstallationScope": "", 85 | "CustomParameters": [], 86 | "PreRelease": false, 87 | "CustomInstallLocation": "", 88 | "Version": "", 89 | "SkipMinorUpdates": false 90 | }, 91 | "Updates": { 92 | "UpdatesIgnored": false, 93 | "IgnoredVersion": "" 94 | } 95 | }, 96 | { 97 | "Id": "Fastfetch-cli.Fastfetch", 98 | "Name": "fastfetch", 99 | "Version": "2.36.1", 100 | "Source": "winget", 101 | "ManagerName": "Winget", 102 | "InstallationOptions": { 103 | "SkipHashCheck": false, 104 | "InteractiveInstallation": false, 105 | "RunAsAdministrator": false, 106 | "Architecture": "", 107 | "InstallationScope": "", 108 | "CustomParameters": [], 109 | "PreRelease": false, 110 | "CustomInstallLocation": "", 111 | "Version": "", 112 | "SkipMinorUpdates": false 113 | }, 114 | "Updates": { 115 | "UpdatesIgnored": false, 116 | "IgnoredVersion": "" 117 | } 118 | }, 119 | { 120 | "Id": "FilesCommunity.Files", 121 | "Name": "Files", 122 | "Version": "3.9.0.0", 123 | "Source": "winget", 124 | "ManagerName": "Winget", 125 | "InstallationOptions": { 126 | "SkipHashCheck": false, 127 | "InteractiveInstallation": false, 128 | "RunAsAdministrator": false, 129 | "Architecture": "", 130 | "InstallationScope": "", 131 | "CustomParameters": [], 132 | "PreRelease": false, 133 | "CustomInstallLocation": "", 134 | "Version": "", 135 | "SkipMinorUpdates": false 136 | }, 137 | "Updates": { 138 | "UpdatesIgnored": false, 139 | "IgnoredVersion": "" 140 | } 141 | }, 142 | { 143 | "Id": "Flow-Launcher.Flow-Launcher", 144 | "Name": "Flow Launcher", 145 | "Version": "1.19.5", 146 | "Source": "winget", 147 | "ManagerName": "Winget", 148 | "InstallationOptions": { 149 | "SkipHashCheck": false, 150 | "InteractiveInstallation": false, 151 | "RunAsAdministrator": false, 152 | "Architecture": "", 153 | "InstallationScope": "", 154 | "CustomParameters": [], 155 | "PreRelease": false, 156 | "CustomInstallLocation": "", 157 | "Version": "", 158 | "SkipMinorUpdates": false 159 | }, 160 | "Updates": { 161 | "UpdatesIgnored": false, 162 | "IgnoredVersion": "" 163 | } 164 | }, 165 | { 166 | "Id": "Genymobile.scrcpy", 167 | "Name": "scrcpy", 168 | "Version": "3.2", 169 | "Source": "winget", 170 | "ManagerName": "Winget", 171 | "InstallationOptions": { 172 | "SkipHashCheck": false, 173 | "InteractiveInstallation": false, 174 | "RunAsAdministrator": false, 175 | "Architecture": "", 176 | "InstallationScope": "", 177 | "CustomParameters": [], 178 | "PreRelease": false, 179 | "CustomInstallLocation": "", 180 | "Version": "", 181 | "SkipMinorUpdates": false 182 | }, 183 | "Updates": { 184 | "UpdatesIgnored": false, 185 | "IgnoredVersion": "" 186 | } 187 | }, 188 | { 189 | "Id": "Google.PlatformTools", 190 | "Name": "Android SDK Platform-Tools", 191 | "Version": "36.0.0", 192 | "Source": "winget", 193 | "ManagerName": "Winget", 194 | "InstallationOptions": { 195 | "SkipHashCheck": false, 196 | "InteractiveInstallation": false, 197 | "RunAsAdministrator": false, 198 | "Architecture": "", 199 | "InstallationScope": "", 200 | "CustomParameters": [], 201 | "PreRelease": false, 202 | "CustomInstallLocation": "", 203 | "Version": "", 204 | "SkipMinorUpdates": false 205 | }, 206 | "Updates": { 207 | "UpdatesIgnored": false, 208 | "IgnoredVersion": "" 209 | } 210 | }, 211 | { 212 | "Id": "Gyan.FFmpeg", 213 | "Name": "FFmpeg", 214 | "Version": "7.1", 215 | "Source": "winget", 216 | "ManagerName": "Winget", 217 | "InstallationOptions": { 218 | "SkipHashCheck": false, 219 | "InteractiveInstallation": false, 220 | "RunAsAdministrator": false, 221 | "Architecture": "", 222 | "InstallationScope": "", 223 | "CustomParameters": [], 224 | "PreRelease": false, 225 | "CustomInstallLocation": "", 226 | "Version": "", 227 | "SkipMinorUpdates": false 228 | }, 229 | "Updates": { 230 | "UpdatesIgnored": false, 231 | "IgnoredVersion": "" 232 | } 233 | }, 234 | { 235 | "Id": "M2Team.NanaZip", 236 | "Name": "NanaZip", 237 | "Version": "5.0.1263.0", 238 | "Source": "winget", 239 | "ManagerName": "Winget", 240 | "InstallationOptions": { 241 | "SkipHashCheck": false, 242 | "InteractiveInstallation": false, 243 | "RunAsAdministrator": false, 244 | "Architecture": "", 245 | "InstallationScope": "", 246 | "CustomParameters": [], 247 | "PreRelease": false, 248 | "CustomInstallLocation": "", 249 | "Version": "", 250 | "SkipMinorUpdates": false 251 | }, 252 | "Updates": { 253 | "UpdatesIgnored": false, 254 | "IgnoredVersion": "" 255 | } 256 | }, 257 | { 258 | "Id": "Microsoft.DotNet.DesktopRuntime.8", 259 | "Name": "Microsoft .NET Windows Desktop Runtime 8.0", 260 | "Version": "8.0.13", 261 | "Source": "winget", 262 | "ManagerName": "Winget", 263 | "InstallationOptions": { 264 | "SkipHashCheck": false, 265 | "InteractiveInstallation": false, 266 | "RunAsAdministrator": false, 267 | "Architecture": "", 268 | "InstallationScope": "", 269 | "CustomParameters": [], 270 | "PreRelease": false, 271 | "CustomInstallLocation": "", 272 | "Version": "", 273 | "SkipMinorUpdates": false 274 | }, 275 | "Updates": { 276 | "UpdatesIgnored": false, 277 | "IgnoredVersion": "" 278 | } 279 | }, 280 | { 281 | "Id": "Microsoft.PowerToys", 282 | "Name": "PowerToys", 283 | "Version": "0.88.0", 284 | "Source": "winget", 285 | "ManagerName": "Winget", 286 | "InstallationOptions": { 287 | "SkipHashCheck": false, 288 | "InteractiveInstallation": false, 289 | "RunAsAdministrator": false, 290 | "Architecture": "", 291 | "InstallationScope": "", 292 | "CustomParameters": [], 293 | "PreRelease": false, 294 | "CustomInstallLocation": "", 295 | "Version": "", 296 | "SkipMinorUpdates": false 297 | }, 298 | "Updates": { 299 | "UpdatesIgnored": false, 300 | "IgnoredVersion": "" 301 | } 302 | }, 303 | { 304 | "Id": "Microsoft.VCRedist.2015\u002B.x64", 305 | "Name": "Microsoft Visual C\u002B\u002B 2015-2022 Redistributable (x64)", 306 | "Version": "14.42.34438.0", 307 | "Source": "winget", 308 | "ManagerName": "Winget", 309 | "InstallationOptions": { 310 | "SkipHashCheck": false, 311 | "InteractiveInstallation": false, 312 | "RunAsAdministrator": false, 313 | "Architecture": "", 314 | "InstallationScope": "", 315 | "CustomParameters": [], 316 | "PreRelease": false, 317 | "CustomInstallLocation": "", 318 | "Version": "", 319 | "SkipMinorUpdates": false 320 | }, 321 | "Updates": { 322 | "UpdatesIgnored": false, 323 | "IgnoredVersion": "" 324 | } 325 | }, 326 | { 327 | "Id": "Microsoft.WSL", 328 | "Name": "Windows Subsystem for Linux", 329 | "Version": "2.4.11.0", 330 | "Source": "winget", 331 | "ManagerName": "Winget", 332 | "InstallationOptions": { 333 | "SkipHashCheck": false, 334 | "InteractiveInstallation": false, 335 | "RunAsAdministrator": false, 336 | "Architecture": "", 337 | "InstallationScope": "", 338 | "CustomParameters": [], 339 | "PreRelease": false, 340 | "CustomInstallLocation": "", 341 | "Version": "", 342 | "SkipMinorUpdates": false 343 | }, 344 | "Updates": { 345 | "UpdatesIgnored": false, 346 | "IgnoredVersion": "" 347 | } 348 | }, 349 | { 350 | "Id": "Rayen.RyTuneX", 351 | "Name": "RyTuneX", 352 | "Version": "1.3.0.0", 353 | "Source": "winget", 354 | "ManagerName": "Winget", 355 | "InstallationOptions": { 356 | "SkipHashCheck": false, 357 | "InteractiveInstallation": false, 358 | "RunAsAdministrator": false, 359 | "Architecture": "", 360 | "InstallationScope": "", 361 | "CustomParameters": [], 362 | "PreRelease": false, 363 | "CustomInstallLocation": "", 364 | "Version": "", 365 | "SkipMinorUpdates": false 366 | }, 367 | "Updates": { 368 | "UpdatesIgnored": false, 369 | "IgnoredVersion": "" 370 | } 371 | }, 372 | { 373 | "Id": "agalwood.Motrix", 374 | "Name": "Motrix", 375 | "Version": "1.8.19", 376 | "Source": "winget", 377 | "ManagerName": "Winget", 378 | "InstallationOptions": { 379 | "SkipHashCheck": false, 380 | "InteractiveInstallation": false, 381 | "RunAsAdministrator": false, 382 | "Architecture": "", 383 | "InstallationScope": "", 384 | "CustomParameters": [], 385 | "PreRelease": false, 386 | "CustomInstallLocation": "", 387 | "Version": "", 388 | "SkipMinorUpdates": false 389 | }, 390 | "Updates": { 391 | "UpdatesIgnored": false, 392 | "IgnoredVersion": "" 393 | } 394 | }, 395 | { 396 | "Id": "flick9000.WinScript", 397 | "Name": "WinScript", 398 | "Version": "1.1.5", 399 | "Source": "winget", 400 | "ManagerName": "Winget", 401 | "InstallationOptions": { 402 | "SkipHashCheck": false, 403 | "InteractiveInstallation": false, 404 | "RunAsAdministrator": false, 405 | "Architecture": "", 406 | "InstallationScope": "", 407 | "CustomParameters": [], 408 | "PreRelease": false, 409 | "CustomInstallLocation": "", 410 | "Version": "", 411 | "SkipMinorUpdates": false 412 | }, 413 | "Updates": { 414 | "UpdatesIgnored": false, 415 | "IgnoredVersion": "" 416 | } 417 | }, 418 | { 419 | "Id": "t1m0thyj.WinDynamicDesktop", 420 | "Name": "WinDynamicDesktop", 421 | "Version": "5.6.0", 422 | "Source": "winget", 423 | "ManagerName": "Winget", 424 | "InstallationOptions": { 425 | "SkipHashCheck": false, 426 | "InteractiveInstallation": false, 427 | "RunAsAdministrator": false, 428 | "Architecture": "", 429 | "InstallationScope": "", 430 | "CustomParameters": [], 431 | "PreRelease": false, 432 | "CustomInstallLocation": "", 433 | "Version": "", 434 | "SkipMinorUpdates": false 435 | }, 436 | "Updates": { 437 | "UpdatesIgnored": false, 438 | "IgnoredVersion": "" 439 | } 440 | } 441 | ], 442 | "incompatible_packages_info": "Incompatible packages cannot be installed from WingetUI, but they have been listed here for logging purposes.", 443 | "incompatible_packages": [] 444 | } -------------------------------------------------------------------------------- /modules/windots/Organizer.ps1: -------------------------------------------------------------------------------- 1 | . "$PSScriptRoot\..\..\scripts\Common.ps1" 2 | 3 | $Host.UI.RawUI.WindowTitle = "Organizer" 4 | 5 | $targetPaths = @( 6 | "$env:USERPROFILE\AppData\Roaming\Microsoft\Windows\Start Menu\Programs", 7 | "C:\ProgramData\Microsoft\Windows\Start Menu\Programs" 8 | ) 9 | 10 | $excludeRegex = "^(Windows|Microsoft|Steam|Accessibility|Accessories)$" 11 | 12 | $excludeList = @( 13 | "Accentcolorizer", 14 | "CapCut", 15 | "Character Map", 16 | "Command Prompt", 17 | "Component Services", 18 | "Computer Management", 19 | "Control Panel", 20 | "Disk Cleanup", 21 | "Event Viewer", 22 | "Git", 23 | "Install Additional Tools for Node.js", 24 | "iSCsI Initiator", 25 | "Memory Diagnostics Tool", 26 | "Node.js", 27 | "ODBC Data Sources", 28 | "Performance Monitor", 29 | "postgreSQL", 30 | "RecoveryDrive", 31 | "Registry Editor", 32 | "Resource Monitor", 33 | "Uninstall", 34 | "Windows Powershell" 35 | ) 36 | 37 | $backupPath = Join-Path -Path $env:USERPROFILE -ChildPath "Desktop\StartMenuBackup_$(Get-Date -Format 'yyyyMMdd_HHmmss').zip" 38 | 39 | $excludeHash = [System.Collections.Generic.HashSet[string]]::new([System.StringComparer]::OrdinalIgnoreCase) 40 | foreach ($item in $excludeList) { 41 | $null = $excludeHash.Add($item) 42 | } 43 | 44 | if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) -and 45 | (Test-Path -Path $targetPaths[1])) { 46 | Write-Host "`nAdministrator rights required for system directory!`n" -ForegroundColor Red 47 | 48 | $adminLaunchPath = Join-Path -Path $PSScriptRoot -ChildPath "..\..\scripts\AdminLaunch.ps1" 49 | . $adminLaunchPath 50 | 51 | Start-AdminProcess -ScriptPath $PSCommandPath 52 | exit 53 | } 54 | 55 | try { 56 | $dirsToBackup = $targetPaths | Where-Object { Test-Path $_ } 57 | if ($dirsToBackup) { 58 | Write-Host "`nCreating backup to: $backupPath" -ForegroundColor Cyan 59 | Compress-Archive -Path $dirsToBackup -DestinationPath $backupPath -CompressionLevel Fastest 60 | 61 | if (Test-Path $backupPath) { 62 | Write-Host "Backup successful. Size: $('{0:N2} MB' -f ((Get-Item $backupPath).Length/1MB))" -ForegroundColor Green 63 | Write-Host "Press Enter to continue" -ForegroundColor DarkCyan 64 | $null = Read-Host 65 | } 66 | else { 67 | Write-Host "Backup failed! Aborting operation." -ForegroundColor Red 68 | exit 69 | } 70 | } 71 | } 72 | catch { 73 | Write-Host "Backup error: $_" -ForegroundColor Red 74 | exit 75 | } 76 | 77 | foreach ($targetDir in $targetPaths) { 78 | if (-not (Test-Path -Path $targetDir)) { 79 | Write-Host "`nSkipping missing directory: $targetDir" -ForegroundColor Yellow 80 | continue 81 | } 82 | 83 | Write-Host "`nProcessing directory: $targetDir" -ForegroundColor Cyan 84 | 85 | $subFolders = Get-ChildItem -Path $targetDir -Directory | Where-Object { 86 | $_.Name -notmatch $excludeRegex -and 87 | -not $excludeHash.Contains($_.Name) -and 88 | -not (Get-ChildItem -Path $_.FullName -Recurse -ErrorAction SilentlyContinue | 89 | Where-Object { 90 | $file = $_ 91 | $excludeHash.Contains($_.Name) -or 92 | $excludeHash.Contains($_.BaseName) -or 93 | ($excludeList | Where-Object { $file.BaseName -like "*$_*" }) -or 94 | $_.BaseName -like "Uninstall*" 95 | }) 96 | } 97 | 98 | foreach ($folder in $subFolders) { 99 | $folderName = $folder.Name 100 | $folderFullPath = $folder.FullName 101 | 102 | $files = Get-ChildItem -Path $folderFullPath -File -Recurse -ErrorAction SilentlyContinue | 103 | Where-Object { 104 | $file = $_ 105 | -not ($excludeList | Where-Object { $file.BaseName -like "*$_*" }) -and 106 | -not $excludeHash.Contains($_.Name) -and 107 | -not $excludeHash.Contains($_.BaseName) -and 108 | -not ($_.BaseName -like "Uninstall*") 109 | } 110 | 111 | if (-not $files) { 112 | Write-Host "`nNo movable files in: $folderName" -ForegroundColor DarkGray 113 | continue 114 | } 115 | 116 | Write-Host "`nFolder: $folderName" -ForegroundColor Cyan 117 | Write-Host "Contains these files:" -ForegroundColor White 118 | $files | ForEach-Object { 119 | Write-Host " - $($_.Name)" -ForegroundColor Gray 120 | } 121 | 122 | do { 123 | $response = Read-Host "`nMove $($files.Count) files from '$folderName'? (Y/N/Q)" 124 | $response = $response.Trim().ToUpper() 125 | if ($response -eq 'Q') { 126 | Write-Host "Operation cancelled by user." -ForegroundColor Yellow 127 | exit 128 | } 129 | } until ($response -match '^[YN]$') 130 | 131 | if ($response -eq 'N') { 132 | Write-Host "Skipping folder: $folderName" -ForegroundColor Yellow 133 | continue 134 | } 135 | 136 | $movedCount = 0 137 | $errors = @() 138 | 139 | foreach ($file in $files) { 140 | try { 141 | $destination = Join-Path -Path $targetDir -ChildPath $file.Name 142 | if (Test-Path $destination) { 143 | Write-Host "Replacing existing: $($file.Name)" -ForegroundColor DarkYellow 144 | } 145 | Move-Item -Path $file.FullName -Destination $targetDir -Force -ErrorAction Stop 146 | $movedCount++ 147 | } 148 | catch { 149 | $errors += "Failed to move $($file.Name): $_" 150 | } 151 | } 152 | 153 | if ($errors.Count -gt 0) { 154 | Write-Host "`nCompleted with $($errors.Count) errors:" -ForegroundColor Red 155 | $errors | ForEach-Object { Write-Host " $_" -ForegroundColor Red } 156 | } 157 | else { 158 | Write-Host "`nSuccessfully moved $movedCount files" -ForegroundColor Green 159 | } 160 | 161 | try { 162 | $remainingItems = Get-ChildItem -Path $folderFullPath -Recurse -Force -ErrorAction SilentlyContinue 163 | if (-not $remainingItems) { 164 | Remove-Item -Path $folderFullPath -Recurse -Force -ErrorAction Stop 165 | Write-Host "Cleaned empty folder: $folderName" -ForegroundColor DarkGray 166 | } 167 | } 168 | catch { 169 | Write-Host "Error cleaning folder: $_" -ForegroundColor Red 170 | } 171 | } 172 | } 173 | 174 | Write-Host "`nOperation completed! Backup saved to: $backupPath`n" -ForegroundColor Green -------------------------------------------------------------------------------- /modules/windots/README.md: -------------------------------------------------------------------------------- 1 |

✨ Windots

2 | 3 |
4 | 5 | ![](assets/main.png)

6 | 7 | ## 🌟 About 8 | 9 | Collection of configurations and tools to transform your Windows 11 into an elegant and productive environment 10 | 11 | ## 🚀 Setup 12 | 13 | ### Quick Launch 14 | 15 | ```powershell 16 | iwr "https://dub.sh/windots" | iex 17 | ``` 18 | 19 | ## 🛠️ Features 20 | 21 | After launching the script, you'll get an interactive menu: 22 | 23 | 1. **Configs Installer** - install configurations on your choice for: 24 | 25 | - [VSCode](https://code.visualstudio.com/) and most popular forks 26 | - [Windows Terminal](https://github.com/microsoft/terminal) 27 | - [PowerShell](https://learn.microsoft.com/en-us/powershell/) 28 | - [Oh My Posh](https://ohmyposh.dev/) 29 | - [FastFetch](https://github.com/fastfetch-cli/fastfetch) 30 | 31 | 2. **Additional Stuff**: 32 | 33 | - Download [Rectify11](https://rectify11.net/) 34 | - Install [SpotX](https://github.com/SpotX-Official/SpotX) + [Spicetify](https://spicetify.app/) 35 | - Install [Steam Millennium](https://steambrew.app/) with [Space Theme](https://github.com/SpaceTheme/Steam) 36 | - Apply [macOS cursor](https://github.com/ful1e5/apple_cursor) 37 | - Launch [Simplify11](https://github.com/emylfy/Simplify11) 38 | 39 | ### 💻 Dotfiles Configurations 40 | 41 | | Component | Support | 42 | | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 43 | | **Code Editors** | 📝 [VSCode](https://code.visualstudio.com/), [AIDE](https://github.com/codestoryai/aide), [Cursor](https://cursor.sh/), [Windsurf](https://windsurf.io/), [VSCodium](https://vscodium.com/), [Trae](https://trae.ai/) | 44 | | **Terminal** | >_ [Windows Terminal](https://github.com/microsoft/terminal) + 🐚 [PowerShell](https://learn.microsoft.com/en-us/powershell/) / [Oh My Posh](https://ohmyposh.dev/) | 45 | | **System Utilities** | ⚡ [FastFetch](https://github.com/fastfetch-cli/fastfetch), 🚀 [Flow Launcher](https://www.flowlauncher.com/) | 46 | | **Gaming** | 🎮 [Steam Millennium](https://steambrew.app/) for [Space Theme](https://github.com/SpaceTheme/Steam?tab=readme-ov-file#) | 47 | | **Theming** | 🖱️ [macOS Cursor](https://github.com/ful1e5/apple_cursor) | 48 | 49 | ### 🖥️ Apps without Dotfiles 50 | 51 | | Category | Tools | 52 | | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | 53 | | **Web** | 🌐 [Arc Browser](https://thebrowser.company/)
🧘 [Zen Browser](https://zen-browser.app) ([startpage](https://github.com/mue/mue?tab=readme-ov-file#mue)) | 54 | | **System** | 🚀 [Flow Launcher](https://www.flowlauncher.com/)
🛠️ [PowerToys](https://learn.microsoft.com/windows/powertoys/)
🗜️ [NanaZip](https://github.com/M2Team/NanaZip) | 55 | | **Media** | 🎶 [SpotX](https://github.com/SpotX-Official/SpotX) + [Spicetify](https://spicetify.app/)
🖼️ [WinDynamicDesktop](https://www.windynamicdesktop.com/) | 56 | | **Theming** | 🪟 [Rectify11](https://rectify11.net/home) | 57 | -------------------------------------------------------------------------------- /modules/windots/config/cli/WindowsPowershell/Microsoft.PowerShell_profile.ps1: -------------------------------------------------------------------------------- 1 | $PSVersionTable.PSEdition -ne 'Core' | Out-Null 2 | 3 | if (Get-Command oh-my-posh -ErrorAction SilentlyContinue) { 4 | oh-my-posh init pwsh --config "$env:USERPROFILE\.config\ohmyposh\zen.toml" | Invoke-Expression 5 | } else { 6 | Write-Warning "oh-my-posh is not installed. Please install it for custom prompt themes." 7 | } 8 | 9 | # Terminal icons 10 | if (Get-Module -ListAvailable -Name Terminal-Icons) { 11 | Import-Module -Name Terminal-Icons 12 | } else { 13 | Write-Warning "Terminal-Icons module is not installed. Install it using: Install-Module -Name Terminal-Icons -Scope CurrentUser" 14 | } 15 | 16 | # Shows navigable menu of all options when hitting Tab 17 | Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete 18 | 19 | # Autocompletion for arrow keys 20 | Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward 21 | Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward 22 | 23 | # aliases 24 | Set-Alias -Name c -Value clear -------------------------------------------------------------------------------- /modules/windots/config/cli/fastfetch/cat.txt: -------------------------------------------------------------------------------- 1 | 2 | /l、 3 | (゚、 。 7 4 | l ~ヽ 5 | じしf_,)ノ -------------------------------------------------------------------------------- /modules/windots/config/cli/fastfetch/config.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", 3 | "logo": { 4 | "source": "%userprofile%/.config/fastfetch/cat.txt", 5 | "padding": { 6 | "top": 3, 7 | "right": 4 8 | } 9 | }, 10 | "display": { 11 | "separator": " " 12 | }, 13 | "modules": [ 14 | "break", 15 | "break", 16 | { 17 | "type": "title", 18 | "keyWidth": 10 19 | }, 20 | "break", 21 | { 22 | "type": "os", 23 | "key": " ", 24 | "keyColor": "34" 25 | }, 26 | { 27 | "type": "kernel", 28 | "key": " ", 29 | "keyColor": "34" 30 | }, 31 | { 32 | "type": "shell", 33 | "key": " ", 34 | "keyColor": "34" 35 | }, 36 | { 37 | "type": "uptime", 38 | "key": " ", 39 | "keyColor": "34" 40 | }, 41 | { 42 | "type": "packages", 43 | "format": "{} (apt)", 44 | "key": " ", 45 | "keyColor": "34" 46 | }, 47 | { 48 | "type": "memory", 49 | "key": " ", 50 | "keyColor": "34" 51 | }, 52 | "break", 53 | { 54 | "type": "colors", 55 | "symbol": "circle" 56 | }, 57 | 58 | "break", 59 | "break" 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /modules/windots/config/cli/ohmyposh/zen.toml: -------------------------------------------------------------------------------- 1 | console_title_template = '{{ .Shell }} in {{ .Folder }}' 2 | version = 3 3 | auto_upgrade = true 4 | final_space = true 5 | 6 | [secondary_prompt] 7 | template = '❯❯ ' 8 | foreground = 'magenta' 9 | background = 'transparent' 10 | 11 | [transient_prompt] 12 | template = '❯ ' 13 | background = 'transparent' 14 | foreground_templates = ['{{if gt .Code 0}}red{{end}}', '{{if eq .Code 0}}magenta{{end}}'] 15 | 16 | [[blocks]] 17 | type = 'prompt' 18 | alignment = 'left' 19 | newline = true 20 | 21 | [[blocks.segments]] 22 | template = '{{ .Path }}' 23 | foreground = 'blue' 24 | background = 'transparent' 25 | type = 'path' 26 | style = 'plain' 27 | 28 | [blocks.segments.properties] 29 | cache_duration = 'none' 30 | style = 'full' 31 | 32 | [[blocks.segments]] 33 | template = ' {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }}*{{ end }} {{ if gt .Behind 0 }}⇣{{ end }}{{ if gt .Ahead 0 }}⇡{{ end }}' 34 | foreground = 'p:grey' 35 | background = 'transparent' 36 | type = 'git' 37 | style = 'plain' 38 | 39 | [blocks.segments.properties] 40 | branch_icon = '' 41 | cache_duration = 'none' 42 | commit_icon = '@' 43 | fetch_status = true 44 | 45 | [[blocks]] 46 | type = 'rprompt' 47 | overflow = 'hidden' 48 | 49 | [[blocks.segments]] 50 | template = '{{ .FormattedMs }}' 51 | foreground = 'yellow' 52 | background = 'transparent' 53 | type = 'executiontime' 54 | style = 'plain' 55 | 56 | [blocks.segments.properties] 57 | cache_duration = 'none' 58 | threshold = 5000 59 | 60 | [[blocks]] 61 | type = 'prompt' 62 | alignment = 'left' 63 | newline = true 64 | 65 | [[blocks.segments]] 66 | template = '❯' 67 | background = 'transparent' 68 | type = 'text' 69 | style = 'plain' 70 | foreground_templates = ['{{if gt .Code 0}}red{{end}}', '{{if eq .Code 0}}magenta{{end}}'] 71 | 72 | [blocks.segments.properties] 73 | cache_duration = 'none' 74 | -------------------------------------------------------------------------------- /modules/windots/config/cli/terminal/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "$help": "https://aka.ms/terminal-documentation", 3 | "$schema": "https://aka.ms/terminal-profiles-schema", 4 | "actions": [ 5 | { 6 | "command": { 7 | "action": "copy", 8 | "singleLine": false 9 | }, 10 | "id": "User.copy.644BA8F2", 11 | "keys": "ctrl+c" 12 | }, 13 | { 14 | "command": "paste", 15 | "id": "User.paste", 16 | "keys": "ctrl+v" 17 | }, 18 | { 19 | "command": "find", 20 | "id": "User.find", 21 | "keys": "ctrl+shift+f" 22 | }, 23 | { 24 | "command": { 25 | "action": "splitPane", 26 | "split": "auto", 27 | "splitMode": "duplicate" 28 | }, 29 | "id": "User.splitPane.A6751878", 30 | "keys": "alt+shift+d" 31 | } 32 | ], 33 | "autoHideWindow": false, 34 | "centerOnLaunch": true, 35 | "confirmCloseAllTabs": false, 36 | "copyFormatting": "none", 37 | "copyOnSelect": false, 38 | "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", 39 | "initialCols": 90, 40 | "initialPosition": ",", 41 | "initialRows": 20, 42 | "launchMode": "focus", 43 | "newTabMenu": [ 44 | { 45 | "type": "remainingProfiles" 46 | } 47 | ], 48 | "profiles": { 49 | "defaults": { 50 | "colorScheme": "Catppuccin Mocha", 51 | "cursorShape": "filledBox", 52 | "elevate": false, 53 | "font": { 54 | "face": "Fira Code" 55 | }, 56 | "opacity": 100, 57 | "useAcrylic": true 58 | }, 59 | "list": [ 60 | { 61 | "commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -nologo", 62 | "cursorShape": "emptyBox", 63 | "experimental.retroTerminalEffect": false, 64 | "font": { 65 | "cellHeight": "1.3", 66 | "face": "Fira Code", 67 | "size": 14 68 | }, 69 | "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", 70 | "hidden": false, 71 | "name": "Windows PowerShell", 72 | "opacity": 100, 73 | "padding": "10", 74 | "scrollbarState": "hidden", 75 | "tabTitle": "pwsh", 76 | "useAcrylic": true 77 | }, 78 | { 79 | "commandline": "%SystemRoot%\\System32\\cmd.exe", 80 | "font": { 81 | "cellHeight": "1.3", 82 | "size": 14 83 | }, 84 | "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", 85 | "hidden": false, 86 | "name": "Command Prompt", 87 | "opacity": 100, 88 | "padding": "10", 89 | "scrollbarState": "hidden", 90 | "tabTitle": "cmd" 91 | }, 92 | { 93 | "adjustIndistinguishableColors": "always", 94 | "backgroundImage": null, 95 | "backgroundImageOpacity": 1, 96 | "colorScheme": "Catppuccin Mocha", 97 | "cursorHeight": 20, 98 | "cursorShape": "filledBox", 99 | "elevate": false, 100 | "experimental.retroTerminalEffect": false, 101 | "font": { 102 | "cellHeight": "1.3", 103 | "face": "Fira Code", 104 | "size": 14, 105 | "weight": "normal" 106 | }, 107 | "guid": "{51855cb2-8cce-5362-8f54-464b92b32386}", 108 | "hidden": false, 109 | "intenseTextStyle": "bright", 110 | "name": "Ubuntu", 111 | "opacity": 100, 112 | "padding": "10", 113 | "scrollbarState": "hidden", 114 | "source": "CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc", 115 | "useAcrylic": false 116 | }, 117 | { 118 | "font": { 119 | "size": 14 120 | }, 121 | "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", 122 | "hidden": true, 123 | "name": "Ubuntu", 124 | "padding": "15", 125 | "source": "Windows.Terminal.Wsl" 126 | } 127 | ] 128 | }, 129 | "rendering.graphicsAPI": "direct3d11", 130 | "schemes": [ 131 | { 132 | "background": "#1E1E2E", 133 | "black": "#45475A", 134 | "blue": "#89B4FA", 135 | "brightBlack": "#585B70", 136 | "brightBlue": "#89B4FA", 137 | "brightCyan": "#94E2D5", 138 | "brightGreen": "#A6E3A1", 139 | "brightPurple": "#F5C2E7", 140 | "brightRed": "#F38BA8", 141 | "brightWhite": "#A6ADC8", 142 | "brightYellow": "#F9E2AF", 143 | "cursorColor": "#F5E0DC", 144 | "cyan": "#94E2D5", 145 | "foreground": "#CDD6F4", 146 | "green": "#A6E3A1", 147 | "name": "Catppuccin Mocha", 148 | "purple": "#F5C2E7", 149 | "red": "#F38BA8", 150 | "selectionBackground": "#585B70", 151 | "white": "#BAC2DE", 152 | "yellow": "#F9E2AF" 153 | }, 154 | { 155 | "background": "#24273A", 156 | "black": "#0C0C0C", 157 | "blue": "#0037DA", 158 | "brightBlack": "#767676", 159 | "brightBlue": "#3B78FF", 160 | "brightCyan": "#61D6D6", 161 | "brightGreen": "#16C60C", 162 | "brightPurple": "#B4009E", 163 | "brightRed": "#E74856", 164 | "brightWhite": "#F2F2F2", 165 | "brightYellow": "#F9F1A5", 166 | "cursorColor": "#FFFFFF", 167 | "cyan": "#3A96DD", 168 | "foreground": "#FFFFFF", 169 | "green": "#13A10E", 170 | "name": "Custom", 171 | "purple": "#881798", 172 | "red": "#C50F1F", 173 | "selectionBackground": "#DCDFE4", 174 | "white": "#CCCCCC", 175 | "yellow": "#C19C00" 176 | }, 177 | { 178 | "background": "#212121", 179 | "black": "#21222C", 180 | "blue": "#82AAFF", 181 | "brightBlack": "#545454", 182 | "brightBlue": "#D6ACFF", 183 | "brightCyan": "#A4FFFF", 184 | "brightGreen": "#69FF94", 185 | "brightPurple": "#FF92DF", 186 | "brightRed": "#FF6E6E", 187 | "brightWhite": "#F8F8F2", 188 | "brightYellow": "#FFCB6B", 189 | "cursorColor": "#ECEFF4", 190 | "cyan": "#8BE9FD", 191 | "foreground": "#F8F8F2", 192 | "green": "#50FA7B", 193 | "name": "Dracula+", 194 | "purple": "#C792EA", 195 | "red": "#FF5555", 196 | "selectionBackground": "#F8F8F2", 197 | "white": "#F8F8F2", 198 | "yellow": "#FFCB6B" 199 | }, 200 | { 201 | "background": "#24273A", 202 | "black": "#0C0C0C", 203 | "blue": "#0037DA", 204 | "brightBlack": "#767676", 205 | "brightBlue": "#3B78FF", 206 | "brightCyan": "#61D6D6", 207 | "brightGreen": "#16C60C", 208 | "brightPurple": "#B4009E", 209 | "brightRed": "#E74856", 210 | "brightWhite": "#F2F2F2", 211 | "brightYellow": "#F9F1A5", 212 | "cursorColor": "#FFCB6B", 213 | "cyan": "#3A96DD", 214 | "foreground": "#CCCCCC", 215 | "green": "#13A10E", 216 | "name": "VSCode Terminal", 217 | "purple": "#881798", 218 | "red": "#C50F1F", 219 | "selectionBackground": "#CCCCCC", 220 | "white": "#CCCCCC", 221 | "yellow": "#C19C00" 222 | }, 223 | { 224 | "background": "#24273A", 225 | "black": "#494D64", 226 | "blue": "#8AADF4", 227 | "brightBlack": "#5B6078", 228 | "brightBlue": "#8AADF4", 229 | "brightCyan": "#8BD5CA", 230 | "brightGreen": "#A6DA95", 231 | "brightPurple": "#F5BDE6", 232 | "brightRed": "#ED8796", 233 | "brightWhite": "#A5ADCB", 234 | "brightYellow": "#EED49F", 235 | "cursorColor": "#F4DBD6", 236 | "cyan": "#8BD5CA", 237 | "foreground": "#CAD3F5", 238 | "green": "#A6DA95", 239 | "name": "catppuccin-macchiato", 240 | "purple": "#F5BDE6", 241 | "red": "#ED8796", 242 | "selectionBackground": "#5B6078", 243 | "white": "#B8C0E0", 244 | "yellow": "#EED49F" 245 | } 246 | ], 247 | "showTabsInTitlebar": true, 248 | "showTerminalTitleInTitlebar": true, 249 | "tabSwitcherMode": "mru", 250 | "themes": [ 251 | { 252 | "name": "Catppuccin Macchiato", 253 | "tab": { 254 | "background": "#24273AFF", 255 | "iconStyle": "default", 256 | "showCloseButton": "always", 257 | "unfocusedBackground": null 258 | }, 259 | "tabRow": { 260 | "background": "#24273AFF", 261 | "unfocusedBackground": "#24273AFF" 262 | }, 263 | "window": { 264 | "applicationTheme": "dark", 265 | "experimental.rainbowFrame": false, 266 | "frame": null, 267 | "unfocusedFrame": null, 268 | "useMica": true 269 | } 270 | } 271 | ], 272 | "useAcrylicInTabRow": true, 273 | "windowingBehavior": "useNew" 274 | } 275 | -------------------------------------------------------------------------------- /modules/windots/config/vscode/product.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensionsGallery": { 3 | "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", 4 | "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", 5 | "itemUrl": "https://marketplace.visualstudio.com/items", 6 | "controlUrl": "", 7 | "recommendationsUrl": "" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /modules/windots/config/vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | // Core Editor Settings 3 | "editor.accessibilitySupport": "off", 4 | "editor.bracketPairColorization.enabled": false, 5 | "editor.codeActionsOnSave": { 6 | "source.organizeImports": "explicit" 7 | }, 8 | "editor.cursorBlinking": "expand", 9 | "editor.cursorStyle": "line-thin", 10 | "editor.cursorSmoothCaretAnimation": "explicit", 11 | "editor.defaultFormatter": "esbenp.prettier-vscode", 12 | "editor.detectIndentation": true, 13 | "editor.folding": false, 14 | "editor.fontFamily": "Fira Code", 15 | "editor.fontLigatures": true, 16 | "editor.fontSize": 16, 17 | "editor.fontWeight": "400", 18 | "editor.formatOnSave": true, 19 | "editor.glyphMargin": false, 20 | "editor.gotoLocation.multipleDefinitions": "goto", 21 | "editor.hideCursorInOverviewRuler": true, 22 | "editor.inlayHints.fontFamily": "Fira Code", 23 | "editor.inlineSuggest.enabled": true, 24 | "editor.insertSpaces": false, 25 | "editor.linkedEditing": true, 26 | "editor.minimap.enabled": false, 27 | "editor.multiCursorModifier": "ctrlCmd", 28 | "editor.scrollBeyondLastLine": true, 29 | "editor.scrollbar.horizontal": "hidden", 30 | "editor.smoothScrolling": true, 31 | "editor.stickyScroll.enabled": false, 32 | "editor.stickyScroll.scrollWithEditor": false, 33 | "editor.suggestSelection": "first", 34 | "editor.tabSize": 2, 35 | "editor.tokenColorCustomizations": { 36 | "textMateRules": [ 37 | { 38 | "scope": [ 39 | "comment", 40 | "entity.name.type.class", 41 | "keyword", 42 | "constant", 43 | "storage.modifier", 44 | "storage.type.class.js" 45 | ], 46 | "settings": { 47 | "fontStyle": "italic" 48 | } 49 | }, 50 | { 51 | "scope": [ 52 | "invalid", 53 | "keyword.operator", 54 | "constant.numeric.css", 55 | "keyword.other.unit.px.css", 56 | "constant.numeric.decimal.js", 57 | "constant.numeric.json" 58 | ], 59 | "settings": { 60 | "fontStyle": "" 61 | } 62 | } 63 | ] 64 | }, 65 | "editor.unicodeHighlight.ambiguousCharacters": false, 66 | "editor.unicodeHighlight.allowedCharacters": { 67 | "а": true, 68 | "с": true, 69 | "Т": true, 70 | "б": true, 71 | "е": true, 72 | " ": true 73 | }, 74 | "editor.wrappingIndent": "same", 75 | "editor.wordWrapColumn": 80, 76 | 77 | // Window Management 78 | "window.commandCenter": false, 79 | "window.confirmBeforeClose": "keyboardOnly", 80 | "window.density.editorTabHeight": "compact", 81 | "window.openFilesInNewWindow": "off", 82 | "window.title": " ", 83 | "window.titleBarStyle": "custom", 84 | "window.zoomLevel": 1, 85 | "workbench.colorTheme": "Dark Knight", 86 | "workbench.editor.customLabels.patterns": { 87 | "**/app/**/[[]*[]]/[[]*[]]/page.tsx": "${dirname(2)}/${dirname(1)}/${dirname}/page.tsx", 88 | "**/app/**/[[]*[]]/page.tsx": "${dirname(1)}/${dirname}/page.tsx", 89 | "**/app/**/page.tsx": "${dirname}/page.tsx", 90 | "**/app/**/[[]*[]]/[[]*[]]/layout.tsx": "${dirname(2)}/${dirname(1)}/${dirname}/layout.tsx", 91 | "**/app/**/[[]*[]]/layout.tsx": "${dirname(1)}/${dirname}/layout.tsx", 92 | "**/app/**/layout.tsx": "${dirname}/layout.tsx" 93 | }, 94 | "workbench.editor.editorActionsLocation": "hidden", 95 | "workbench.editor.empty.hint": "hidden", 96 | "workbench.editor.tabSizing": "shrink", 97 | "workbench.iconTheme": "catppuccin noctis icons", 98 | "workbench.layoutControl.enabled": false, 99 | "workbench.productIconTheme": "macos-modern", 100 | "workbench.startupEditor": "newUntitledFile", 101 | "workbench.statusBar.visible": false, 102 | "workbench.tree.enableStickyScroll": false, 103 | 104 | // Terminal 105 | "terminal.integrated.cursorStyle": "line", 106 | "terminal.integrated.fontFamily": "PragmataPro Liga", 107 | "terminal.integrated.fontSize": 13, 108 | "terminal.integrated.tabs.enabled": false, 109 | 110 | // Debugging 111 | "debug.focusWindowOnBreak": false, 112 | "debug.showBreakpointsInOverviewRuler": false, 113 | "debug.showInlineBreakpointCandidates": false, 114 | "debug.toolBarLocation": "hidden", 115 | 116 | // File Management 117 | "explorer.compactFolders": false, 118 | "explorer.confirmDelete": false, 119 | "explorer.confirmDragAndDrop": false, 120 | "files.autoSave": "afterDelay", 121 | "files.defaultLanguage": "plaintext", 122 | "files.exclude": { 123 | "**/.expo": true, 124 | "**/.expo-shared": true, 125 | "**/.idea": true, 126 | "**/.nuxt": true 127 | }, 128 | 129 | // Language Specific 130 | "html.autoClosingTags": true, 131 | "html.completion.attributeDefaultValue": "singlequotes", 132 | "javascript.autoClosingTags": true, 133 | "javascript.experimental.updateImportsOnPaste": true, 134 | "javascript.format.semicolons": "remove", 135 | "javascript.preferences.quoteStyle": "single", 136 | "javascript.updateImportsOnFileMove.enabled": "always", 137 | "js/ts.implicitProjectConfig.experimentalDecorators": true, 138 | "typescript.autoClosingTags": true, 139 | "typescript.experimental.updateImportsOnPaste": true, 140 | "typescript.format.semicolons": "remove", 141 | "typescript.preferences.quoteStyle": "single", 142 | "typescript.updateImportsOnFileMove.enabled": "always", 143 | 144 | // Formatters 145 | "prettier.arrowParens": "avoid", 146 | "prettier.jsxSingleQuote": true, 147 | "prettier.semi": false, 148 | "prettier.singleQuote": true, 149 | "prettier.useTabs": true, 150 | 151 | // Extensions 152 | "cSpell.enabledFileTypes": { 153 | "*": true, 154 | "blade": true, 155 | "jsx": true, 156 | "tsx": true, 157 | "ts": true, 158 | "js": true, 159 | "scss": true, 160 | "sass": true, 161 | "vue": true, 162 | "json": false 163 | }, 164 | "cSpell.enabled": true, 165 | "cSpell.language": "en,ru", 166 | "emmet.includeLanguages": { 167 | "blade": "html", 168 | "javascript": "javascriptreact" 169 | }, 170 | "emmet.triggerExpansionOnTab": true, 171 | 172 | // Miscellaneous 173 | "breadcrumbs.icons": false, 174 | "breadcrumbs.showKeys": false, 175 | "breadcrumbs.showFiles": false, 176 | "breadcrumbs.symbolPath": "off", 177 | "breadcrumbs.showArrays": false, 178 | "breadcrumbs.showEvents": false, 179 | "breadcrumbs.showFields": false, 180 | "breadcrumbs.showClasses": false, 181 | "breadcrumbs.showMethods": false, 182 | "breadcrumbs.showBooleans": false, 183 | "breadcrumbs.showFunctions": false, 184 | "breadcrumbs.showConstants": false, 185 | "breadcrumbs.showEnumMembers": false, 186 | "breadcrumbs.showConstructors": false, 187 | "catppuccin-noctis-icons.folders.associations": {}, 188 | "catppuccin-noctis-icons.hidesExplorerArrows": true, 189 | "diffEditor.ignoreTrimWhitespace": false, 190 | "frosted-glass-theme.filter": { 191 | "default": { 192 | "filter": "saturate(var(--fgt-saturate)) url(#fgt-acrylic-{key})", 193 | "disableBackgroundColor": true, 194 | "opacity": 0.6 195 | }, 196 | "decorationsOverviewRuler": "blur(30px)", 197 | "minimap": "blur(30px)", 198 | "terminalOverlay": "blur(30px)" 199 | }, 200 | "git.enableSmartCommit": true, 201 | "git.openRepositoryInParentFolders": "never", 202 | "markdown.updateLinksOnFileMove.enabled": "always", 203 | "security.workspace.trust.untrustedFiles": "open", 204 | "symbols.hidesExplorerArrows": true, 205 | "window.menuBarVisibility": "compact" 206 | } 207 | -------------------------------------------------------------------------------- /modules/windots/config/vscode/snippet.txt: -------------------------------------------------------------------------------- 1 | "React Functional Component": { 2 | "prefix": "rfc", 3 | "body": [ 4 | "import s from \"./${TM_FILENAME_BASE}.module.css\"", 5 | "", 6 | "export const ${TM_FILENAME_BASE} = () => {", 7 | " return (", 8 | " <>", 9 | " ", 10 | " ", 11 | " )", 12 | "};", 13 | "", 14 | "" 15 | ], 16 | "description": "React Functional Component" 17 | } -------------------------------------------------------------------------------- /modules/windots/windots.ps1: -------------------------------------------------------------------------------- 1 | . "$PSScriptRoot\..\..\scripts\Common.ps1" 2 | $Host.UI.RawUI.WindowTitle = "Windots" 3 | 4 | function Show-MainMenu { 5 | Clear-Host 6 | Write-Host "$Purple +-------------------------------------+$Reset" 7 | Write-Host "$Purple '$Reset [1] Configs Installer $Purple'$Reset" 8 | Write-Host "$Purple +-------------------------------------+$Reset" 9 | Write-Host "$Purple '$Reset [2] Download Rectify11 $Purple'$Reset" 10 | Write-Host "$Purple '$Reset [3] Install Spotify Tools $Purple'$Reset" 11 | Write-Host "$Purple '$Reset [4] Install Steam Millenium + Theme $Purple'$Reset" 12 | Write-Host "$Purple '$Reset [5] Apply macOS Cursor $Purple'$Reset" 13 | Write-Host "$Purple '$Reset [6] Customization tweaks $Purple'$Reset" 14 | Write-Host "$Purple +-------------------------------------+$Reset" 15 | Write-Host "$Purple '$Reset [7] Back to Simplify11 $Purple'$Reset" 16 | Write-Host "$Purple +-------------------------------------+$Reset" 17 | 18 | $choice = Read-Host ">" 19 | 20 | switch ($choice) { 21 | "1" { Show-ConfigsMenu } 22 | "2" { Invoke-Rectify11 } 23 | "3" { Show-SpotifyToolsMenu } 24 | "4" { Install-Steam } 25 | "5" { Apply-Cursor } 26 | "6" { Show-WindowsCustomizationMenu } 27 | "7" { Simplify11 } 28 | default { Show-MainMenu } 29 | } 30 | } 31 | 32 | function Invoke-Rectify11 { 33 | Start-Process "https://rectify11.net/home" 34 | Show-MainMenu 35 | } 36 | 37 | function Show-SpotifyToolsMenu { 38 | cls 39 | Write-Host "$Purple +-------------------------------------+$Reset" 40 | Write-Host "$Purple '$Reset [1] Install SpotX $Purple'$Reset" 41 | Write-Host "$Purple '$Reset [2] Install Spicetify $Purple'$Reset" 42 | Write-Host "$Purple +-------------------------------------+$Reset" 43 | Write-Host "$Purple '$Reset [3] Return to Main Menu $Purple'$Reset" 44 | Write-Host "$Purple +-------------------------------------+$Reset" 45 | 46 | $choice = Read-Host ">" 47 | 48 | switch ($choice) { 49 | "1" { Install-SpotX } 50 | "2" { Install-Spicetify } 51 | "3" { Show-MainMenu } 52 | default { Show-SpotifyToolsMenu } 53 | } 54 | } 55 | 56 | function Install-SpotX { 57 | cls 58 | Write-Host "" 59 | Write-Host "Installing SpotX..." 60 | Invoke-Expression (Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1) 61 | Read-Host "Press Enter to continue" 62 | Show-SpotifyToolsMenu 63 | } 64 | 65 | function Install-Spicetify { 66 | Clear-Host 67 | Write-Host "" 68 | Write-Host "Installing Spicetify..." 69 | try { 70 | Invoke-Expression (Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/spicetify/cli/main/install.ps1) 71 | Write-Host "$Green Spicetify installed successfully.$Reset" 72 | } catch { 73 | Write-Host "$Red Failed to install Spicetify.$Reset" 74 | } 75 | Read-Host "Press Enter to continue" 76 | Show-SpotifyToolsMenu 77 | } 78 | 79 | function Install-Steam { 80 | Clear-Host 81 | Write-Host "" 82 | Write-Host "Installing Steam Millenium..." 83 | try { 84 | Invoke-Expression (Invoke-WebRequest -UseBasicParsing 'https://steambrew.app/install.ps1') 85 | Write-Host "$Green Steam Millenium installed successfully.$Reset" 86 | } catch { 87 | Write-Host "$Red Failed to install Steam Millenium. Make sure Steam is installed.$Reset" 88 | } 89 | 90 | Read-Host "Press Enter to continue" 91 | 92 | Clear-Host 93 | Write-Host "" 94 | Write-Host "$Purple +-------------------------+$Reset" 95 | Write-Host "$Purple '$Reset Space Theme Installation $Purple'$Reset" 96 | Write-Host "$Purple +-------------------------+$Reset" 97 | Write-Host "Would you like to install Space Theme for Steam?" 98 | $installChoice = Read-Host "Install Space Theme? (y/n)" 99 | 100 | if ($installChoice -eq 'y') { 101 | Write-Host "Installing Space Theme..." 102 | try { 103 | Invoke-Expression (Invoke-WebRequest -UseBasicParsing 'https://spacetheme.de/steam.ps1') 104 | Write-Host "$Green Space Theme installed successfully.$Reset" 105 | } catch { 106 | Write-Host "$Red Failed to install Space Theme through the main method.$Reset" 107 | Write-Host "Opening GitHub releases page for manual download..." 108 | Start-Process "https://github.com/SpaceTheme/Steam/releases" 109 | } 110 | } 111 | Read-Host "Press Enter to continue" 112 | Show-MainMenu 113 | } 114 | 115 | function Apply-Cursor { 116 | Clear-Host 117 | Write-Host "\nOpening macOS cursor download link in browser..." 118 | try { 119 | Start-Process "https://github.com/ful1e5/apple_cursor/releases/download/v2.0.1/macOS-Windows.zip" 120 | Write-Host "$Green Download link opened successfully.$Reset" 121 | Write-Host "\n$Yellow Installation Instructions:$Reset" 122 | Write-Host "1. Extract the downloaded ZIP file" 123 | Write-Host "2. Right-click on each .inf file and select 'Install'" 124 | Write-Host "3. Go to Settings > Personalization > Themes > Mouse cursor" 125 | Write-Host "4. Select the installed macOS cursor theme" 126 | } catch { 127 | Write-Host "$Red Failed to open download link: $($_.Exception.Message)$Reset" 128 | } 129 | Read-Host "Press Enter to continue" 130 | Show-MainMenu 131 | } 132 | 133 | function Simplify11 { 134 | & "$PSScriptRoot\..\..\simplify11.ps1" 135 | Show-MainMenu 136 | } 137 | 138 | function Show-ConfigsMenu { 139 | Clear-Host 140 | Write-Host "$Purple +-------------------------+$Reset" 141 | Write-Host "$Purple '$Reset [1] VSCode Based $Purple'$Reset" 142 | Write-Host "$Purple +-------------------------+$Reset" 143 | Write-Host "$Purple '$Reset [2] Windows Terminal $Purple'$Reset" 144 | Write-Host "$Purple '$Reset [3] PowerShell $Purple'$Reset" 145 | Write-Host "$Purple '$Reset [4] Oh My Posh $Purple'$Reset" 146 | Write-Host "$Purple '$Reset [5] FastFetch $Purple'$Reset" 147 | Write-Host "$Purple +-------------------------+$Reset" 148 | Write-Host "$Purple '$Reset [6] Return $Purple'$Reset" 149 | Write-Host "$Purple +-------------------------+$Reset" 150 | 151 | $choice = Read-Host ">" 152 | 153 | switch ($choice) { 154 | "1" { Show-VSCodeMenu } 155 | "2" { Configure-WinTerm } 156 | "3" { Configure-Pwsh } 157 | "4" { Configure-OhMyPosh } 158 | "5" { Configure-FastFetch } 159 | "6" { Show-MainMenu } 160 | default { Show-ConfigsMenu } 161 | } 162 | } 163 | 164 | function Show-VSCodeMenu { 165 | Clear-Host 166 | Write-Host "$Purple +-------------------------+$Reset" 167 | Write-Host "$Purple '$Reset [1] Visual Studio Code $Purple'$Reset" 168 | Write-Host "$Purple '$Reset [2] Aide $Purple'$Reset" 169 | Write-Host "$Purple '$Reset [3] Cursor $Purple'$Reset" 170 | Write-Host "$Purple '$Reset [4] Windsurf $Purple'$Reset" 171 | Write-Host "$Purple '$Reset [5] VSCodium $Purple'$Reset" 172 | Write-Host "$Purple '$Reset [6] Trae $Purple'$Reset" 173 | Write-Host "$Purple '$Reset [7] Other $Purple'$Reset" 174 | Write-Host "$Purple +-------------------------+$Reset" 175 | Write-Host "$Purple '$Reset [8] Return $Purple'$Reset" 176 | Write-Host "$Purple +-------------------------+$Reset" 177 | 178 | $choice = Read-Host "Select VSCode-based editor" 179 | 180 | switch ($choice) { 181 | "1" { Configure-VSCode "$env:USERPROFILE\AppData\Roaming\Code\User" } 182 | "2" { Configure-VSCode "$env:USERPROFILE\AppData\Roaming\Aide\User" } 183 | "3" { Configure-VSCode "$env:USERPROFILE\AppData\Roaming\Cursor\User" } 184 | "4" { Configure-VSCode "$env:USERPROFILE\AppData\Roaming\Windsurf\User" } 185 | "5" { Configure-VSCode "$env:USERPROFILE\AppData\Roaming\VSCodium\User" } 186 | "6" { Configure-VSCode "$env:USERPROFILE\AppData\Roaming\Trae\User" } 187 | "7" { Configure-OtherVSC } 188 | "8" { Show-ConfigsMenu } 189 | default { Show-VSCodeMenu } 190 | } 191 | } 192 | 193 | function Configure-VSCode { 194 | param ( 195 | [string]$targetPath 196 | ) 197 | 198 | try { 199 | Copy-Item -Path "$PSScriptRoot\config\vscode\settings.json" -Destination $targetPath -Force 200 | Copy-Item -Path "$PSScriptRoot\config\vscode\product.json" -Destination $targetPath -Force 201 | Write-Host "$Green Configuration copied successfully to $targetPath.$Reset" 202 | } catch { 203 | Write-Host "$Red Failed to copy configuration to $targetPath.$Reset" 204 | } 205 | 206 | Read-Host "Press Enter to continue" 207 | Show-VSCodeMenu 208 | } 209 | 210 | function Configure-OtherVSC { 211 | Write-Host "" 212 | Write-Host "Please specify the path to your VSCode-based editor's user directory:" 213 | $editorPath = Read-Host "Enter path" 214 | 215 | try { 216 | Copy-Item -Path "$PSScriptRoot\config\vscode\settings.json" -Destination $editorPath -Force 217 | Copy-Item -Path "$PSScriptRoot\config\vscode\product.json" -Destination $editorPath -Force 218 | Write-Host "$Green Configuration copied successfully to $editorPath.$Reset" 219 | } catch { 220 | Write-Host "$Red Failed to copy configuration to $editorPath.$Reset" 221 | } 222 | 223 | Read-Host "Press Enter to continue" 224 | Show-VSCodeMenu 225 | } 226 | 227 | function Configure-WinTerm { 228 | Clear-Host 229 | Write-Host "$Purple +-----------------------------------------+$Reset" 230 | Write-Host "$Purple '$Reset [1] Install Fira Code via Chocolatey $Purple'$Reset" 231 | Write-Host "$Purple '$Reset [2] Manual installation (open website) $Purple'$Reset" 232 | Write-Host "$Purple '$Reset [3] Skip (I already have Fira Code) $Purple'$Reset" 233 | Write-Host "$Purple +-----------------------------------------+$Reset" 234 | 235 | $choice = Read-Host ">" 236 | 237 | switch ($choice) { 238 | "1" { 239 | if (-not (Get-Command choco.exe -ErrorAction SilentlyContinue)) { 240 | Write-Host "Chocolatey not found. Installing Chocolatey..." 241 | try { 242 | Set-ExecutionPolicy Bypass -Scope Process -Force 243 | [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072 244 | Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) 245 | Write-Host "$Green Chocolatey installed successfully.$Reset" 246 | } catch { 247 | Write-Host "$Red Failed to install Chocolatey: $($_.Exception.Message)$Reset" 248 | Write-Host "Opening Nerd Fonts releases page for manual installation..." 249 | Start-Process "https://github.com/ryanoasis/nerd-fonts/releases/" 250 | } 251 | } 252 | 253 | try { 254 | Write-Host "Installing Fira Code font..." 255 | Start-Process -FilePath "choco.exe" -ArgumentList "install FiraCode -y --no-progress" -Wait -NoNewWindow 256 | Write-Host "$Green Fira Code font installed successfully.$Reset" 257 | } catch { 258 | Write-Host "$Red Failed to install Fira Code font.$Reset" 259 | Write-Host "Opening Nerd Fonts releases page for manual installation..." 260 | Start-Process "https://github.com/ryanoasis/nerd-fonts/releases/" 261 | } 262 | } 263 | "2" { 264 | Write-Host "Opening Nerd Fonts releases page for manual Fira Code installation..." 265 | Start-Process "https://github.com/ryanoasis/nerd-fonts/releases/" 266 | } 267 | "3" { 268 | Write-Host "Skipping Fira Code installation..." 269 | } 270 | } 271 | 272 | try { 273 | Copy-Item -Path "$PSScriptRoot\config\cli\terminal\settings.json" -Destination "$env:USERPROFILE\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\" -Force 274 | Write-Host "$Green Windows Terminal settings copied successfully.$Reset" 275 | } catch { 276 | Write-Host "$Red Failed to copy Windows Terminal settings.$Reset" 277 | } 278 | 279 | Read-Host "Press Enter to continue" 280 | Show-ConfigsMenu 281 | } 282 | 283 | function Configure-Pwsh { 284 | try { 285 | Write-Host "Installing Terminal-Icons module..." 286 | Install-Module -Name Terminal-Icons -Scope CurrentUser -Force 287 | Copy-Item -Path "$PSScriptRoot\config\cli\WindowsPowershell\Microsoft.PowerShell_profile.ps1" -Destination "$env:USERPROFILE\Documents\WindowsPowerShell" -Force 288 | Write-Host "$Green PowerShell profile copied successfully.$Reset" 289 | } catch { 290 | Write-Host "$Red Failed to copy PowerShell profile.$Reset" 291 | } 292 | 293 | Read-Host "Press Enter to continue" 294 | Show-ConfigsMenu 295 | } 296 | 297 | function Configure-OhMyPosh { 298 | try { 299 | if (-not (Test-Path "$env:USERPROFILE\.config\ohmyposh")) { 300 | New-Item -Path "$env:USERPROFILE\.config\ohmyposh" -ItemType Directory -Force | Out-Null 301 | } 302 | Copy-Item -Path "$PSScriptRoot\config\cli\ohmyposh\zen.toml" -Destination "$env:USERPROFILE\.config\ohmyposh" -Force 303 | Write-Host "$Green Oh My Posh configuration copied successfully.$Reset" 304 | } catch { 305 | Write-Host "$Red Failed to copy Oh My Posh configuration.$Reset" 306 | } 307 | 308 | Read-Host "Press Enter to continue" 309 | Show-ConfigsMenu 310 | } 311 | 312 | function Configure-FastFetch { 313 | try { 314 | if (-not (Test-Path "$env:USERPROFILE\.config\fastfetch")) { 315 | New-Item -Path "$env:USERPROFILE\.config\fastfetch" -ItemType Directory -Force | Out-Null 316 | } 317 | Copy-Item -Path "$PSScriptRoot\config\cli\fastfetch\cat.txt" -Destination "$env:USERPROFILE\.config\fastfetch" -Force 318 | Copy-Item -Path "$PSScriptRoot\config\cli\fastfetch\config.jsonc" -Destination "$env:USERPROFILE\.config\fastfetch" -Force 319 | Write-Host "$Green FastFetch configuration copied successfully.$Reset" 320 | } catch { 321 | Write-Host "$Red Failed to copy FastFetch configuration.$Reset" 322 | } 323 | 324 | Read-Host "Press Enter to continue" 325 | Show-ConfigsMenu 326 | } 327 | 328 | function Show-WindowsCustomizationMenu { 329 | Clear-Host 330 | Write-Host "$Purple +--------------------------------------------------------+$Reset" 331 | Write-Host "$Purple '$Reset [1] Set Short Date and Hours Format - Feb 17, 17:57 $Purple'$Reset" 332 | Write-Host "$Purple '$Reset [2] Disable automatic pin of folders to Quick Access $Purple'$Reset" 333 | Write-Host "$Purple '$Reset [3] Selectively pull icons from folders in start menu $Purple'$Reset" 334 | Write-Host "$Purple +--------------------------------------------------------+$Reset" 335 | Write-Host "$Purple '$Reset [4] Return to Main Menu $Purple'$Reset" 336 | Write-Host "$Purple +--------------------------------------------------------+$Reset" 337 | 338 | $choice = Read-Host ">" 339 | 340 | switch ($choice) { 341 | "1" { Set-ShortDateHours } 342 | "2" { Disable-QuickAccess } 343 | "3" { Extract-StartFolders } 344 | "4" { Show-MainMenu } 345 | default { Show-WindowsCustomizationMenu } 346 | } 347 | } 348 | 349 | function Set-ShortDateHours { 350 | Clear-Host 351 | Write-Host "${Reset}Setting short date and hours format...$Reset" 352 | Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sShortDate -Value "dd MMM yyyy" 353 | Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sShortTime -Value "HH:mm" 354 | Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sTimeFormat -Value "HH:mm:ss" 355 | Write-Host "${Reset}Date and time format updated successfully. Changes will take effect after restart.$Reset" 356 | pause 357 | Show-WindowsCustomizationMenu 358 | } 359 | 360 | function Disable-QuickAccess { 361 | Clear-Host 362 | Write-Host "${Reset}Disabling automatic addition of folders to Quick Access...$Reset" 363 | 364 | Set-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer' -Name 'ShowFrequent' -Type DWord -Value 0 365 | Set-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer' -Name 'ShowRecent' -Type DWord -Value 0 366 | 367 | $quickAccess = (New-Object -ComObject shell.application).Namespace('shell:::{679f85cb-0220-4080-b29b-5540cc05aab6}').Items() 368 | $quickAccess | ForEach-Object { $_.InvokeVerb('remove') } 369 | 370 | Write-Host "${Yellow}Restarting Explorer to apply changes...$Reset" 371 | Stop-Process -Name explorer -Force 372 | Write-Host "${Green}Quick Access settings updated successfully.$Reset" 373 | Read-Host "Press Enter to continue" 374 | Show-WindowsCustomizationMenu 375 | } 376 | 377 | function Extract-StartFolders { 378 | Clear-Host 379 | $scriptDir = Split-Path -Parent $PSScriptRoot 380 | $organizerPath = Join-Path -Path $scriptDir -ChildPath "windots\Organizer.ps1" 381 | Start-Process powershell -ArgumentList "-NoExit -File `"$organizerPath`"" 382 | Show-WindowsCustomizationMenu 383 | } 384 | 385 | Show-MainMenu -------------------------------------------------------------------------------- /scripts/AdminLaunch.ps1: -------------------------------------------------------------------------------- 1 | # . "$PSScriptRoot\AdminLaunch.ps1" 2 | 3 | function Start-AdminProcess { 4 | param ( 5 | [Parameter(Mandatory = $true)] 6 | [string]$ScriptPath, 7 | 8 | [Parameter(Mandatory = $false)] 9 | [string]$Arguments = "", 10 | 11 | [Parameter(Mandatory = $false)] 12 | [switch]$NoExit 13 | ) 14 | $useWindowsTerminal = Get-Command wt.exe -ErrorAction SilentlyContinue 15 | 16 | $psArguments = "" 17 | if ($NoExit) { 18 | $psArguments += "-NoExit " 19 | } 20 | 21 | $psArguments += "-ExecutionPolicy Bypass -File `"$ScriptPath`" $Arguments" 22 | if ($useWindowsTerminal) { 23 | $wtArguments = "powershell $psArguments" 24 | Start-Process -FilePath "wt.exe" -ArgumentList $wtArguments -Verb RunAs 25 | } else { 26 | Start-Process -FilePath "powershell.exe" -ArgumentList $psArguments -Verb RunAs 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /scripts/Common.ps1: -------------------------------------------------------------------------------- 1 | $Purple = "$([char]0x1b)[38;5;141m" 2 | $Reset = "$([char]0x1b)[0m" 3 | $Red = "$([char]0x1b)[38;5;203m" 4 | $Green = "$([char]0x1b)[38;5;120m" 5 | $Yellow = "$([char]0x1b)[38;5;220m" -------------------------------------------------------------------------------- /scripts/install.ps1: -------------------------------------------------------------------------------- 1 | $Host.UI.RawUI.WindowTitle = "Simplify11 - Installer" 2 | 3 | $startMenuPath = [System.Environment]::GetFolderPath('Programs') 4 | $shortcutPath = Join-Path -Path $startMenuPath -ChildPath "Simplify11.lnk" 5 | $wshShell = New-Object -ComObject WScript.Shell 6 | $shortcut = $wshShell.CreateShortcut($shortcutPath) 7 | $shortcut.TargetPath = "powershell.exe" 8 | $shortcut.Arguments = '-NoProfile -ExecutionPolicy Bypass "iwr \"https://dub.sh/simplify11\" | iex"' 9 | $shortcut.Description = "Launch Simplify11" 10 | $shortcut.WorkingDirectory = $startMenuPath 11 | 12 | Invoke-WebRequest -Uri "https://raw.githubusercontent.com/emylfy/simplify11/refs/heads/main/media/icon.ico" -OutFile "$env:APPDATA\icon.ico" 13 | 14 | $icoPath = "$env:APPDATA\icon.ico" 15 | $shortcut.IconLocation = $icoPath 16 | $shortcut.Save() 17 | 18 | Write-Host "Shortcut 'Simplify11' created in the Start Menu." 19 | Start-Process -FilePath $shortcutPath 20 | 21 | exit -------------------------------------------------------------------------------- /scripts/launch.ps1: -------------------------------------------------------------------------------- 1 | $Host.UI.RawUI.WindowTitle = "Launcher" 2 | 3 | $tempPath = "$env:TEMP\simplify11" 4 | $zipPath = "$tempPath\simplify11.zip" 5 | 6 | if (!(Test-Path $tempPath)) { 7 | New-Item -ItemType Directory -Path $tempPath | Out-Null 8 | } 9 | 10 | try { 11 | Add-MpPreference -ExclusionPath $tempPath -ErrorAction SilentlyContinue 12 | } catch { 13 | Write-Host "Note: Running without admin rights, continuing normally..." -ForegroundColor Yellow 14 | } 15 | 16 | Write-Host "Downloading Simplify11..." -ForegroundColor Cyan 17 | Write-Progress -Activity "Downloading Simplify11" -Status "Initializing..." -PercentComplete 0 18 | 19 | try { 20 | Start-BitsTransfer -Source "https://github.com/emylfy/simplify11/archive/refs/heads/main.zip" ` 21 | -Destination $zipPath ` 22 | -DisplayName "Downloading Simplify11" ` 23 | -Description "Downloading required files..." 24 | 25 | Write-Progress -Activity "Downloading Simplify11" -Status "Complete" -PercentComplete 100 26 | Write-Host "Download complete!" -ForegroundColor Green 27 | 28 | Write-Host "Extracting files..." -ForegroundColor Cyan 29 | Write-Progress -Activity "Installing Simplify11" -Status "Extracting..." -PercentComplete 50 30 | 31 | Expand-Archive -Path $zipPath -DestinationPath $tempPath -Force 32 | 33 | Write-Progress -Activity "Installing Simplify11" -Status "Complete" -PercentComplete 100 34 | 35 | Write-Host @" 36 | ____ _ _ _ __ _ _ 37 | / ___|(_)_ __ ___ _ __ | (_)/ _|_ _/ / | 38 | \___ \| | '_ ' _ \| '_ \| | | |_| | | | | | 39 | ___) | | | | | | | |_) | | | _| |_| | | | 40 | |____/|_|_| |_| |_| .__/|_|_|_| \__, |_|_| 41 | |_| |___/ 42 | "@ -ForegroundColor Cyan 43 | 44 | if (Get-Command wt -ErrorAction SilentlyContinue) { 45 | wt powershell.exe -NoExit -File "$env:TEMP\simplify11\simplify11-main\simplify11.ps1" 46 | } else { 47 | Start-Process powershell.exe -ArgumentList "-NoExit", "-File", "$env:TEMP\simplify11\simplify11-main\simplify11.ps1" 48 | } 49 | } 50 | catch { 51 | Write-Progress -Activity "Installing Simplify11" -Status "Error" -PercentComplete 100 52 | Write-Host "Error: $_" -ForegroundColor Red 53 | Write-Host "Please download manually from: https://github.com/emylfy/simplify11" -ForegroundColor Yellow 54 | Start-Sleep -Seconds 5 55 | } 56 | finally { 57 | Write-Progress -Activity "Installing Simplify11" -Completed 58 | } -------------------------------------------------------------------------------- /simplify11.ps1: -------------------------------------------------------------------------------- 1 | . "$PSScriptRoot\scripts\Common.ps1" 2 | 3 | function Show-MainMenu { 4 | $Host.UI.RawUI.WindowTitle = "Simplify11 v25.05.1" 5 | Clear-Host 6 | Write-Host 7 | Write-Host "$Purple +--------------------------------------------------------+$Reset" 8 | Write-Host "$Purple '$Purple Tired of System Setup After Reinstall? Simplify It! $Purple'$Reset" 9 | Write-Host "$Purple +--------------------------------------------------------+$Reset" 10 | Write-Host "$Purple '$Reset [0] Configure Your Windows Installation Answer File $Purple'$Reset" 11 | Write-Host "$Purple +--------------------------------------------------------+$Reset" 12 | Write-Host "$Purple '$Reset [1] WinUtil - Install Programs, Tweaks, Fixes, Updates $Purple'$Reset" 13 | Write-Host "$Purple '$Reset [2] WinScript - Build your script from scratch $Purple'$Reset" 14 | Write-Host "$Purple '$Reset [3] GTweak - Tweaking tool and debloater $Purple'$Reset" 15 | Write-Host "$Purple '$Reset [4] Privacy.sexy - Enforce privacy and security $Purple'$Reset" 16 | Write-Host "$Purple '$Reset [5] UniGetUI - Discover, Install, Update Packages $Purple'$Reset" 17 | Write-Host "$Purple +--------------------------------------------------------+$Reset" 18 | Write-Host "$Purple '$Reset [6] System Tweaks - SSD, GPU, CPU, Storage and etc $Purple'$Reset" 19 | Write-Host "$Purple '$Reset [7] Install Drivers - Nvidia, AMD, Device Manufacturer $Purple'$Reset" 20 | Write-Host "$Purple '$Reset [8] Windots - Simpler way to rice & customize Windows $Purple'$Reset" 21 | Write-Host "$Purple +--------------------------------------------------------+$Reset" 22 | 23 | $choice = Read-Host ">" 24 | 25 | switch ($choice) { 26 | "0" { Start-Process "https://github.com/emylfy/simplify11/blob/main/docs/autounattend_guide.md"; Show-MainMenu } 27 | {"1","2","3","4","5","6","7","8" -contains $_} { 28 | . "$PSScriptRoot\scripts\AdminLaunch.ps1" 29 | 30 | $scriptPaths = @{ 31 | "1" = "$PSScriptRoot\modules\tools\WinUtil.ps1" 32 | "2" = "$PSScriptRoot\modules\tools\WinScript.ps1" 33 | "3" = "$PSScriptRoot\modules\tools\GTweak.ps1" 34 | "4" = "$PSScriptRoot\modules\privacy\PrivacySexy.ps1" 35 | "5" = "$PSScriptRoot\modules\unigetui\UniGetUI.ps1" 36 | "6" = "$PSScriptRoot\modules\system\Tweaks.ps1" 37 | "7" = "$PSScriptRoot\modules\drivers\Drivers.ps1" 38 | "8" = "$PSScriptRoot\modules\windots\Windots.ps1" 39 | } 40 | 41 | Start-AdminProcess -ScriptPath $scriptPaths[$choice] -NoExit 42 | Show-MainMenu 43 | } 44 | default { Show-MainMenu } 45 | } 46 | } 47 | 48 | Show-MainMenu --------------------------------------------------------------------------------