Scoop Usage

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:

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.

  1. The official website refers to the Wiki and README.md as the official documentation.
  2. 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.
  3. 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

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.

date 31. Oct 2020 | modified 29. Dec 2023
filename: Windows » Package Managers » Scoop