Scoop Usage
A Guide to Using Buckets
You can list official buckets by using the following command:
scoop bucket known
As a rule of thumb, I usually add the extras
bucket after installing Scoop on my computer, but it’s important to install the git
package first. To do that, simply type:
scoop install git
scoop bucket add extras
Global Bucket Directory
A comprehensive directory of all known buckets can be found on the official Scoop homepage: Scoop Buckets.
You might find it interesting to peruse the alternative directory located at scoop-directory, where a plethora of tools and search directories are listed, if that piques your interest.
I’ll list some Scoop search engines that I’ve discovered and sometimes I’ve used by mistake:
- rasa.github.io/scoop-directory
- Meta-bucket with the latest manifest in all the known buckets okibcn/ScoopMaster and a search for it okibcn/ss
Još jedan online package browser, da ne veruješ: Scoop Apps at repo bjansen/scoop-apps
Scoop Documentation
First and foremost, I’d like to mention that there are three sets of documentation, and I’m not sure why, but all three are of high quality that any of them could be considered official.
- The official website refers to the Wiki and README.md as the official documentation.
- When I type
scoop docs
in Google, I receive a link to scoop-docs.now.sh aka scoop-docs.vercel.app and from the kidonng/scoop-docs repo, I can see that it hasn’t been updated since 2020. - There’s also this site at scoop.netlify.app and from its repo pakeweb/scoop.sh, I can see that it hasn’t been updated since 2018.
Note that the tldr-pages/tldr project of collaborative cheatsheets for console, also supports Scoop and can be installed with scoop install tldr
.
Installing Scoop to a Different Folder
It’s not recommended to install Scoop in a folder that contains whitespaces in its installation path, as this can cause problems for some applications later.
If you run into this issue with a particular Scoop package, one solution could be to install that package globally, as this location does not contain spaces by default, %SYSTEMDRIVE%\ProgramData\scoop
.
To prevent this problem in the first place, check if your user home folder contains whitespace in its path. For example, as my username is “Common User” and therefore I have a space char in home path, I have to install Scoop in a different directory instead of a subfolder within home path.
Although I haven’t tried it myself now, it should be possible to install Scoop in a different folder, such as C:\Apps\Scoop
, by using the following commands:
irm get.scoop.sh -outfile 'install.ps1'
.\install.ps1 -ScoopDir 'C:\Apps\Scoop'
I previously used a different, now officially deprecated, legacy procedure. See install info. This method involves manually and permanently setting the SCOOP
environment variable, which means that simply setting the environment variable temporarily with $env:SCOOP = 'newpath'
isn’t enough. You must ensure that it’s set permanently after a restart.
# set variable
$env:SCOOP='C:\Apps\Scoop'
# make it permanent
[environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
# start setup
irm get.scoop.sh | iex
# the most elegant way to search for environment variables is the command
dir env: | findstr "scoop"
The above-mentioned commands are no longer recommended, although they still work as expected.
Direct Package Setup from Manifest
You can install certain packages directly, without adding a bucket for them. For example, the Ash258/Scoop-Ash258 bucket has a Docker recipe that you can install with the following command:
sudo scoop install https://raw.githubusercontent.com/Ash258/scoop-Ash258/master/bucket/docker.json
Note that you must log in again for the changes to take effect.
Some Convenient Scoop Tools
Global Package Search
The official website features a useful search that I often use, which searches all possible and known buckets on GitHub.
I’d love to have such a search right at my fingertips in the command line, and it seems I’m not the only one yearning for it, as someone has created a tool that fits the bill, solely for the command line.
You can find this tool at grisha765/scoop-search-directory repository and you can install it with a simple command scoop install scoop-sd
.
The usage is simple:
scoop-sd copyq
Swift Local Operations
The first tool I’ve discovered was shilangyu/scoop-search written in Go, which is already a very performant scoop search. However, now there is a new player in town, jewlexx/sfsu written in Rust.
This new tool, ˛sfsu
as short for the cheeky “Stupid Fast Scoop Utils”, is incredibly fast. The sfsu search
command is about 500 times faster than the regular search and 5 times speedier than scoop-search
. Meanwhile, the sfsu list
command is roughly 30 times faster than scoop list
.
You should install it with the command scoop install sfsu
.
Scoop Usage
The most basic commands, of course, are to install and uninstall apps, to list the installed apps, and to search for available apps:
scoop install AnyApp
scoop uninstall AnyApp
scoop list
scoop search SearchTerm
The best way to discover Scoop commands is to type scoop
without any parameters. Then, if you’re interested in more information about a specific command, type scoop help cat
for information about the scoop cat
command, for instance.
This information is read from the Scoop/libexec folder, which holds all possible scoop commands. This is also the most detailed documentation, as the code is present and this makes it easier to understand what the command is doing.
Some apps can add more than one new command. As those commands may not be always obvious, there is a way to discover which new commands an app has added.
scoop shim list | findstr AnyApp
You can also list all apps for which the shim command is not identical to the app name:
scoop shim list | awk '$1 != $2'
You can opt to skip the hash check on app setup, by typing:
scoop install --skip AnyApp
You can display or clear the download cache by using the cache
command. To clear everything in the download cache, use:
scoop cache rm *
Use cleanup
to free up disk space by removing old versions and clearing the cache:
scoop cleanup * --cache
The checkup
command begins a series of tests for potential issues.
scoop checkup
You can always check the status of the whole Scoop system with the following command:
scoop status
For more information on a specific app, use the info
command. If you’re in a hurry and just want to quickly check the information on an app, use the home
command to open the app’s homepage in your browser.
scoop info AnyApp
scoop home AnyApp
Here are the prefix
and which
commands, and although the difference isn’t immediately clear, both of these applications are quite useful.
The first, which
, locates a shim/executable .exe, similar to the “where.exe” command on Windows or the “which” command on Linux.
scoop which git
where.exe git
Be aware that in the second line of example where I used Windows command, the “.exe” extension is crucial, as it calls the system32\where.exe
utility application. If you omit the “.exe” and simply enter “where”, it invokes the “Where-Object” cmdlet, which is a PowerShell command and serves a completely different purpose.
Of course, with the scoop install which
command, we can immediately obtain the true Linux command “which”.
The prefix
command, on the other hand, returns the path of the folder where an app is installed.
scoop prefix git
Use the reset
command to reset an app, which will also recreate shortcuts, resolve conflicts if they exist, and handle multiple versions if they’re installed.
The hold
and unhold
commands allow you to disable updates for an app.
You can also check the app’s dependencies using the depends
command, which will show you the dependencies in the order they’ll be installed.
Aliases
Crafting your own commands and shortcuts is a very convenient thing to do, and I’d say that using some aliases is almost essential:
scoop alias add i "scoop install @args"
scoop alias add u "scoop uninstall --purge @args"
scoop alias add h "scoop help @args"
scoop alias add clean 'scoop cleanup * --cache; scoop cache rm *'
Tab Completion
Setup with scoop install scoop-completion
repo is at Moeologist/scoop-completion
add to $PROFILE
Import-Module “$($(Get-Item $(Get-Command scoop.ps1).Path).Directory.Parent.FullName)\modules\scoop-completion”
$(scoop prefix oh-my-posh)\themes folder.
Better shim
Ovo je naravno nepotrebno, ali notiram: 71/scoop-better-shimexe: A better shim.exe file for Scoop.
Webi
webinstall.dev may not be a true package manager, but it is similar in nature. Once you install the webi
tool, it functions like a package manager, as you can manage all installations through a simple CLI command.
Compared to Scoop and others, this tool boasts multi-platform compatibility and eliminates the need for additional installations. All you need to do is copy-paste a single command from the web to get any app, making it perfect for one-time setup applications.
Portable Registrator is a tool that simplifies the process of registering any portable app as the default program in Windows. This can be particularly useful when using the scoop package manager.