Scoop is a command-line installer for Windows.
- Windows 7 SP1+ / Windows Server 2008+
- PowerShell 3 (or later) and .NET Framework 4.5+
- PowerShell must be enabled for your user account e.g.
set-executionpolicy remotesigned -s currentuser
Run this command from your PowerShell to install scoop to its default location (C:\Users\<user>\scoop
)
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
Once installed, run scoop help
for instructions.
The default setup is configured so all user installed programs and Scoop itself live in C:\Users\<user>\scoop
.
Globally installed programs (--global
) live in C:\ProgramData\scoop
.
These settings can be changed through environment variables.
[environment]::setEnvironmentVariable('SCOOP','D:\Applications\Scoop','User')
$env:SCOOP='D:\Applications\Scoop'
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
[environment]::setEnvironmentVariable('SCOOP_GLOBAL','F:\GlobalScoopApps','Machine')
$env:SCOOP_GLOBAL='F:\GlobalScoopApps'
Scoop installs programs from the command line with a minimal amount of friction. It tries to eliminate things like:
- Permission popup windows
- GUI wizard-style installers
- Path pollution from installing lots of programs
- Unexpected side-effects from installing and uninstalling programs
- The need to find and install dependencies
- The need to perform extra setup steps to get a working program
Scoop is very scriptable, so you can run repeatable setups to get your environment just the way you like, e.g.:
scoop install sudo
sudo scoop install 7zip git openssh --global
scoop install aria2 curl grep sed less touch
scoop install python ruby go perl
If you've built software that you'd like others to use, Scoop is an alternative to building an installer (e.g. MSI or InnoSetup)—you just need to zip your program and provide a JSON manifest that describes how to install it.
Scoop can utilize aria2
to use multi-connection downloads. Simply install aria2
through Scoop and it will be used for all downloads afterward.
scoop install aria2
You can tweak the following aria2
settings with the scoop config
command:
- aria2-enabled (default: true)
- aria2-retry-wait (default: 2)
- aria2-split (default: 5)
- aria2-max-connection-per-server (default: 5)
- aria2-min-split-size (default: 5M)
The apps that install best with Scoop are commonly called "portable" apps: i.e. compressed program files that run stand-alone when extracted and don't have side-effects like changing the registry or putting files outside the program directory.
Since installers are common, Scoop supports them too (and their uninstallers).
Scoop is also great at handling single-file programs and Powershell scripts. These don't even need to be compressed. See the runat package for an example: it's really just a GitHub gist.
If you find Scoop useful and would like to support ongoing development and maintenance, here's how:
- PayPal (one-time donation)