Skip to content

Instantly share code, notes, and snippets.

@Lyutria
Last active May 9, 2019 19:56
Show Gist options
  • Save Lyutria/3919df88666a193a898a7ec37fd8074e to your computer and use it in GitHub Desktop.
Save Lyutria/3919df88666a193a898a7ec37fd8074e to your computer and use it in GitHub Desktop.
Powershell setup script for my systems.
param (
[switch]$full = $false,
[switch]$choco = $false,
[switch]$manual = $false,
[string]$manualSource = ((Split-Path -Path $MyInvocation.MyCommand.Path) + "\manual-install-list.csv")
)
if ($full) {
$choco = $true
$manual = $true
}
if ($choco) {
# Settings
choco feature enable -n=allowGlobalConfirmation
choco install chocolateygui
# Drivers
cinst nvidia-display-driver geforce-experience
# Basic Software
cinst xyplorer brave 7zip xnview potplayer sharex -r
cinst reshack processhacker deluge cpu-z ontopreplica -r
cinst f.lux speq -r
if ($full) {
cinst groupy cheatengine -r
cinst aimp 7-taskbar-tweaker classic-shell -r
cinst gpmdp dia qutebrowser -r
cinst camtasia --version 9.10.2
choco pin add -n=camtasia # License only valid for 9
# Issues with windows virus protection:
# cinst nirlauncher -r
}
# System Software
cinst bleachbit mpv ffmpeg sysinternals -r
if ($full) {
cinst windirstat k-litecodecpackfull sandboxie -r
cinst malwarebytes cyberduck glasswire cloneapp -r
}
# Social
if ($full) {
cinst discord steam origin uplay goggalaxy playnite -r
cinst teamspeak twitch -r
}
# Terminal
cinst consolez elevate curl imagemagick youtube-dl -r
cinst fluent-terminal neovim micro -r
# Dev Software
cinst git vscode lepton -r
cinst sourcecodepro robotofonts opensans dejavufonts firacode -r
if ($full) {
cinst git-fork cmake -r
cinst godot-mono jetbrainstoolbox -r
cinst wsl -r
cinst visualstudio2017buildtools "--includeRecommended" -r
}
# Languages
cinst lua rust mingw -r
cinst autohotkey.install autoit -r
if ($full) {
cinst luarocks python love nodejs typescript -r
}
# Unset
choco feature disable -n=allowGlobalConfirmation
}
if ($manual) {
# Manual Installation
$ManualList = (Import-Csv -Path $manualSource)
$AnyFailed = $false
Write-Host ("Downloading programs from list: $manualSource")
New-Item -Path ($Env:USERPROFILE + "\Desktop") -Type "Directory" -Name "Installers" -Force | Out-Null
$InstallDir = ($Env:USERPROFILE + "\Desktop\Installers")
$Downloader = New-Object System.Net.WebClient
$DownloadStatus = @()
ForEach ($Program in $ManualList) {
try {
$OutputFile = ($InstallDir + "\" + $Program.Name + "." + $Program.FileType)
Write-Host ("Downloading " + $Program.Name + "...") -NoNewline
$Downloader.DownloadFile($Program.Uri, $OutputFile)
Write-Host "Success"
if ($Program.FileType -eq 'zip') {
Expand-Archive -Path $OutputFile -DestinationPath ($InstallDir + '\' + $Program.Name) -Force
Remove-Item $OutputFile
$DownloadStatus += [PSCustomObject]@{
Name = $Program.Name
Status = 'Success'
Uri = ($InstallDir + '\' + $Program.Name)
}
}
else {
$DownloadStatus += [PSCustomObject]@{
Name = $Program.Name
Status = 'Success'
Uri = $OutputFile
}
}
}
catch {
$AnyFailed = $true
Write-Host "Failed"
$DownloadStatus += [PSCustomObject]@{
Name = $Program.Name
Status = 'Failed'
Uri = $Program.Uri
}
}
}
Write-Output $DownloadStatus | Sort-Object -Property Status -Descending | Format-Table
if ($AnyFailed) {
Write-Output "`nOpening list of failed programs..."
$DownloadStatus |
Where-Object { $_.Status -eq 'Failed' } |
Select-Object -Property Name, Uri |
Out-File ($InstallDir + '\Failed Downloads.txt')
Start-Process ($InstallDir + '\Failed Downloads.txt')
}
}
Name Uri FileType Homepage
Bvckup2 https://bvckup2.com/get exe https://bvckup2.com/
Diskovery https://diskovery.io/get exe https://diskovery.io/
OpalCalc https://www.skytopia.com/software/opalcalc/OpalCalc-full_Setup.exe exe https://www.skytopia.com/software/opalcalc/opalc_full_install.html
TextAdept https://foicica.com/textadept/download/textadept_LATEST.win32.zip zip https://foicica.com/textadept/
Boram https://github.com/Kagami/boram/releases/download/v0.5.4/boram-v0.5.4-win-x64.7z 7z https://github.com/Kagami/boram/releases/latest
Listary 6 https://www.listary.com/download/beta/listary6/ListaryInstaller.exe exe https://discussion.listary.com/t/listary-6-beta/4615
Battle.net https://www.battle.net/download/getInstallerForGame?os=win&locale=enUS&version=LIVE&gameProgram=BATTLENET_APP exe https://www.blizzard.com/en-us/apps/battle.net/desktop
Logitech G Hub https://download01.logi.com/web/ftp/pub/techsupport/gaming/lghub_installer.exe exe https://support.logitech.com/en_us/software/lghub
iCue http://downloads.corsair.com/Files/CUE/iCUESetup_3.15.101_release.msi msi https://www.corsair.com/us/en/icue
SteelSeries Engine https://steelseries.com/engine/latest/windows exe https://steelseries.com/engine
ImageResizer https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/2dimagefilter/ImageResizer-r129.exe exe https://code.google.com/archive/p/2dimagefilter/downloads
Final Fantasy XIV http://gdl.square-enix.com/ffxiv/inst/ffxivsetup.exe exe https://www.finalfantasyxiv.com/playersdownload/na/
FFXIV TexTools https://github.com/liinko/FFXIV_TexTools_UI/releases/download/v2.0.5/FFXIV.TexTools.2.0.5.zip zip https://textools.dualwield.net/
Reshade https://reshade.me/downloads/ReShade_Setup_4.2.1.exe exe https://reshade.me/
Bethesda Launcher http://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe?_ga=2.141543921.2102733551.1557077413-1698529907.1557077413 exe https://bethesda.net/en/game/bethesda-launcher
Black Desert http://akamai-gamecdn.blackdesertonline.com/game/download/setup/BlackDesertOnlineSetup_20180524_10010.exe exe https://www.blackdesertonline.com/download
Spread32 http://www.aplusfreeware.com/categories/business/files/S32118.zip zip http://www.aplusfreeware.com/categories/business/spreadsheets.html
Flash Player Standalone https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flashplayer_32_sa.exe exe https://www.adobe.com/support/flashplayer/debug_downloads.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment