Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save Jeff-Lewis/b0871fbc887cfccfa83655d7fba41f68 to your computer and use it in GitHub Desktop.
Save Jeff-Lewis/b0871fbc887cfccfa83655d7fba41f68 to your computer and use it in GitHub Desktop.
Install Chocolatey and Scoop package managers for Windows + basic set of utilities and software
Function Install-Scoop {
New-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" `
-propertyType ExpandString `
-name "SCOOP_GLOBAL" `
-value "${ENV:PROGRAMDATA}\scoop"
Invoke-WebRequest 'https://get.scoop.sh' | Invoke-Expression
'scoop install Git-with-OpenSSH Sudo Which --global' | Set-Content -path temp_script.ps1
Start-Process PowerShell -verb RunAs -argument "-noProfile $(Convert-Path .\temp_script.ps1)"
Remove-Item temp_script.ps1 -force
scoop bucket add Extras
scoop bucket add Nirsoft
}
Function Install-Chocolatey-OldWay {
Start-Process PowerShell -verb RunAs -argument "-noProfile Invoke-WebRequest 'https://chocolatey.org/install.ps1' | Invoke-Expression"
refreshEnv
pushd "${env:ChocolateyInstall}\tools"
sudo .\shimgen --output="..\bin\shimgen.exe" --path="..\tools\shimgen.exe" | Out-Null
popd
}
Function Install-Chocolatey {
Install-PackageProvider Chocolatey -scope CurrentUser
Set-PackageSource -name Chocolatey -trusted
}
Function Install-ChocolateyPackages-OldWay {
# Basic utilities
sudo choco install 7zip.install 7zip.commandline -y -pre
# Libraries
sudo choco install VCredist-All JRE8 -y
# Registry, Environment, System Management utilities
sudo choco install Rapidee RegistryManager DoubleCmd Rufus SysInternals SystemExplorer -y
scoop install OpenedFilesView
# Shells, Terminals and launchers
sudo choco install CmderMini Keypirinha LinkShellExtension Putty Streams -y
# Text editors, finders and organizers
sudo choco install NotepadPlusPlus.install --x86 -y
sudo shimgen --output="${env:ChocolateyPath}\bin\npp.exe" `
--path="${env:ProgramFiles(x86)}\Notepad++\notepad++.exe" `
--iconPath="${env:ProgramFiles(x86)}\Notepad++\notepad++.exe" `
--gui
sudo choco install Everything Ditto.install -y
# Internet
sudo choco install QbitTorrent GoogleChrome -y
# Media viewers / managers
sudo choco install SumatraPDF.install Calibre Vlc Foobar2000 Fsviewer Dropbox -y
# Development IDEs
sudo choco install Webstorm Phpstorm -y
# Development tools
sudo choco install Kdiff3 Winscp.portable Lepter jq -y
}
Function Install-ChocolateyPackages {
PARAM(
[Parameter( Mandatory )]
[String[]] $packages
)
$packages | ForEach { Install-Package $_ -verbose }
}
Function Install-ScoopPackages {
PARAM(
[Parameter( Mandatory )]
[String[]] $packages
)
$packages | ForEach { scoop install $_ }
}
$chocoPackages = @(
'7zip.install', '7zip.commandline', # Basic utilities
'VCredist-All', 'JavaRuntime', # Libraries
'Rapidee', 'RegistryManager', 'Rufus', # Registry, Environment, System Management utilities
'SysInternals', 'SystemExplorer', #
'CmderMini', 'DoubleCmd', 'Keypirinha', # Shells, Terminals and Launchers
'LinkShellExtension', 'Putty', 'Streams', #
'Ditto.install', 'Everything', # Text editors, finders and organizers
'NotepadPlusPlus.install', #
'QbitTorrent', 'GoogleChrome', # Internet
'SumatraPDF.install', 'Calibre', 'Vlc', # Media viewers / Managers
'Foobar2000', 'Fsviewer', 'Dropbox', #
'Webstorm', 'Phpstorm', # Development IDEs
'Kdiff3', 'WinSCP.portable', 'Lepter', 'jq' # Development tools
)
$chocoPackagesLight = @(
'7zip.install', '7zip.commandline', # Basic utilities
'Rapidee', 'RegistryManager', 'SystemExplorer', # Registry, Environment, System Management utilities
'CmderMini', 'Keypirinha', 'DoubleCmd', # Shells, Terminals and Launchers
'LinkShellExtension', 'Putty', #
'Everything', 'NotepadPlusPlus.install', # Text editors, finders and organizers
'QbitTorrent', 'GoogleChrome', # Internet
'SumatraPDF.install', 'Vlc', # Media viewers / Managers
'Foobar2000', 'Fsviewer' #
)
$chocoPackagesX86 = @(
'NotepadPlusPlus.install' # Text editors, finders and organizers
)
$scoopPackages = @(
'Filetypesman', 'ShellExView', # Registry, Environment, System Management utilities
'ShellMenuView', 'RegDllView', #
'OpenedFilesView' #
)
Install-Scoop
sudo Install-Chocolatey
sudo Install-ChocolateyPackages $chocoPackagesLight
Install-ScoopPackages $scoopPackages
@vtvh
Copy link

vtvh commented Nov 23, 2020

This script seem powerful. How to run it? Does it need Admin right?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment