├── 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 
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 |
7 |
8 |
9 |
10 | Features •
11 | Installation •
12 | Integrations •
13 | Credits
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | 
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 |
85 | 
86 | WinUtil
87 | Install programs, tweaks, fixes and updates
88 | |
89 |
90 | 
91 | WinScript
92 | Build custom setup scripts
93 | |
94 |
95 | 
96 | GTweak
97 | Tweaking tool and debloater
98 | |
99 |
100 | 
101 | Privacy.sexy
102 | Security enhancement
103 | |
104 |
105 | 
106 | UniGetUI
107 | Discover, install and update packages
108 | |
109 |
110 |
111 |
112 | 
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><QueryList><Query Id="0" Path="Application"><Select Path="Application">*[System[Provider[@Name='UnattendGenerator'] and EventID=1]]</Select></Query></QueryList></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 | 
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 | 
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
--------------------------------------------------------------------------------