Last active
December 18, 2025 23:58
-
-
Save sugoidogo/5a42715e6589a836b9692399013d1657 to your computer and use it in GitHub Desktop.
New PC setup script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # irm 'https://gist.githubusercontent.com/sugoidogo/5a42715e6589a836b9692399013d1657/raw/0-setup.ps1' | iex | |
| # allow running local scripts. Question: why is it called -Force when it's really a -NoConfirm? | |
| Set-ExecutionPolicy RemoteSigned -Force | |
| # Disable forced updates | |
| $RegPath="HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" | |
| New-Item $RegPath -Force | |
| New-ItemProperty $RegPath AUOptions -PropertyType DWORD -Value 2 -Force | |
| # Disable automatic drivers | |
| ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching" -Name "SearchOrderConfig" -Value 0 | |
| # start windows activation and move over old user folder while this script runs | |
| start-job { | |
| # edge is gonna start some bs on its first run, so let's skip all that | |
| start "http://localhost" | |
| sleep 1 | |
| taskkill /f /im msedge.exe | |
| # activate windows | |
| irm https://get.activated.win | iex | |
| # I don't have a way to download the latest release of this software automatically, | |
| # so just open their respective download pages | |
| # also sign in to discord so it transfers to the app | |
| start "https://github.com/Off-World-Live/obs-spout2-plugin/releases" | |
| start "https://loudmax.blogspot.com" | |
| start "https://vb-audio.com/Cable/ https://shop.vb-audio.com/en/module/vblicensing/myDownloads" | |
| start "https://obsproject.com/forum/resources/audio-monitor.1186" | |
| start "https://github.com/Enubia/ghost-chat/releases" | |
| start "https://app.discord.com" | |
| $sourcePath = "C:\Windows.old$env:HOMEPATH" | |
| $destinationPath = "C:\Users\" | |
| $sourceFolder = (new-object -comobject shell.application).NameSpace($sourcePath) | |
| $destinationFolder = (new-object -comobject shell.application).NameSpace($destinationPath) | |
| $destinationFolder.MoveHere($sourceFolder) | |
| } | |
| # start microsoft store install for windows LTSC | |
| wsreset -i | |
| # ensure profile exists so that chocolatey installer adds ChocolateyProfile module | |
| mkdir $profile | |
| rm $profile | |
| echo $null >> $profile | |
| # https://chocolatey.org/install | |
| irm 'https://community.chocolatey.org/install.ps1' | iex | |
| # every single package seems to show the same prompt for a 'chocolateyInstall.ps1' script | |
| # since this prompt doesn't give you any other information, it's not very useful | |
| choco feature enable -n=allowGlobalConfirmation | |
| # some of these packages need custom flags, so remember that during upgrades | |
| choco feature enable -n=useRememberedArgumentsForUpgrades | |
| # primary web browser | |
| choco install firefox | |
| # open shell restores the windows 7 style start menu | |
| # requires flag to avoid unwanted extra features | |
| choco install open-shell --params="/StartMenu" | |
| # sudo allows me to elevate a command without a new terminal | |
| # windows 11 has a built-in sudo, but on windows 10 we need the gsudo package | |
| (sudo config --enable normal) -or ($packages+=" gsudo") | |
| # the Link Shell Extention allows me to create filesystem links from Explorer | |
| $packages+=" LinkShellExtension" | |
| # the official GUI for chocolatey | |
| $packages+=" chocolateygui" | |
| # VSCodium is my current code editor, Lapce is my next | |
| $packages+=" vscodium lapce" | |
| # Steam is where I own most of my games | |
| $packages+=" steam" | |
| # GOG Galaxy is my primary launcher | |
| $packages+=" goggalaxy" | |
| # Discord is the primary internet messaging service I use, want to replace | |
| $packages+=" discord" | |
| # OBS Studio is my primary streaming software | |
| $packages+=" obs-studio" | |
| # RustDesk grants me remote support capabilities | |
| $packages+=" rustdesk" | |
| # borderless gaming allows me to add borderless window mode to games without it | |
| $packages+=" borderlessgaming" | |
| # Equalizer APO allows me to apply VSTs to my Windows audio devices | |
| $packages+=" equalizerapo" | |
| # OCCT is a stress testing suite, good for troubleshooting performance issues | |
| $packages+=" occt" | |
| # tailscale is my all-purpose VPN | |
| $packages+=" tailscale" | |
| # WizTree lets me see what's taking up all my storage | |
| $packages+=" wiztree" | |
| # Process Lasso helps me keep all this background shit in check | |
| $packages+=" plasso" | |
| # Never store passwords in plain text again | |
| $packages+=" keepassxc" | |
| # Keep me from having to copy files around | |
| $packages+=" syncthingtray" | |
| # I don't like missing notifications | |
| $packages+=" kdeconnect-kde" | |
| # fixes a host of crashes that don't tell you this is the solution | |
| $packages+=" vcredist-all" | |
| # All chocolatey-installable packages have been collected, run the command (this will take a while) | |
| choco install $packages.split(' ');refreshenv | |
| # Symlink the Equalizer APO VSTPlugins folder to a more generic location | |
| New-Item -Path "C:\Program Files\VSTPlugins" -ItemType SymbolicLink -Value "C:\Program Files\EqualizerAPO\VSTPlugins" | |
| # RNNoise is the high-quality noise suppression algorithm used by OBS Studio | |
| invoke-webrequest https://github.com/werman/noise-suppression-for-voice/releases/latest/download/win-rnnoise.zip ` | |
| -outfile ~/Downloads/win-rnnoise.zip | |
| expand-archive ~/Downloads/win-rnnoise.zip -destinationpath ~/Downloads -Force | |
| cp ~\Downloads\win-rnnoise\vst\*.dll "C:\Program Files\VSTPlugins\" | |
| # vencord is a discord enhancement | |
| invoke-webrequest https://github.com/Vencord/Installer/releases/latest/download/VencordInstallerCli.exe ` | |
| -outfile ~/Downloads/VencordInstallerCli.exe | |
| # first run, install vencord | |
| ~/Downloads/VencordInstallerCli.exe -branch stable -install | |
| # second run, install openasar | |
| ~/Downloads/VencordInstallerCli.exe -branch stable -install-openasar | |
| # download our EqualizerAPO config | |
| invoke-webrequest https://gist.githubusercontent.com/sugoidogo/5a42715e6589a836b9692399013d1657/raw/config.txt ` | |
| -outfile "C:\Program Files\EqualizerAPO\config\config.txt" | |
| # pause before we start opening promps and windows over whatever I'm doing | |
| echo "process all browser pages before continuing" | |
| pause | |
| # I use audio monitor to create a discord-capturable obs monitor with audio | |
| expand-archive ~/Downloads/audio-monitor*.zip -destinationpath "C:\Program Files\obs-studio" -Force | |
| # I use Spout2 for my VTuber | |
| (expand-archive ~/Downloads/OBS_Spout2*.zip -destinationpath "C:\Program Files\obs-studio" -Force) ` | |
| -or (~/Downloads/OBS_Spout2*.exe) | |
| # LoudMax allows me to even out my audio volume | |
| expand-archive ~/Downloads/LoudMax*.zip -destinationpath "C:\Program Files\VSTPlugins" -Force | |
| # VBCABLE allows me to do some advanced audio routing | |
| expand-archive ~/Downloads/VBCABLE_Driver*.zip -destinationpath ~/Downloads/VBCABLE -Force | |
| expand-archive ~/Downloads/VBCABLE_A_B_Driver*.zip -destinationpath ~/Downloads -Force | |
| expand-archive ~/Downloads/VBCABLE_A_Driver*.zip -destinationpath ~/Downloads/VBCABLE_A -Force | |
| expand-archive ~/Downloads/VBCABLE_B_Driver*.zip -destinationpath ~/Downloads/VBCABLE_B -Force | |
| ~/Downloads/VBCABLE/VBCABLE_Setup_x64.exe | |
| ~/Downloads/VBCABLE_A/VBCABLE_Setup_x64.exe | |
| ~/Downloads/VBCABLE_B/VBCABLE_Setup_x64.exe | |
| # GhostChat lets me have an on-screen chat overlay | |
| # want to replace with a generic multi-window option | |
| ~/Downloads/Ghost-Chat*.exe | |
| # finish microsoft store install for windows LTSC | |
| wsreset -i |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Stage: capture | |
| Device: CABLE-A Output VB-Audio Cable A | |
| VSTPlugin: Library LoudMax64.dll Thresh 0 "Large GUI" 0 "ISP Detection" 0 Output 0.75 "Fader Link" 0 | |
| Device: CABLE-B Output VB-Audio Cable B | |
| VSTPlugin: Library LoudMax64.dll Thresh 0 "Large GUI" 0 "ISP Detection" 0 Output 1 "Fader Link" 0 | |
| Device: CABLE Output VB-Audio Virtual Cable | |
| VSTPlugin: Library LoudMax64.dll Thresh 0 "Large GUI" 0 "ISP Detection" 0 Output 0.5 "Fader Link" 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment