Skip to content

Why abyss

TIP

  • abyss is an engineered and opinionated Scoop bucket
  • It has made extended designs on top of Scoop

It's more than just a bucket

When people think of third-party Scoop buckets, the usual impression is:

  • Adding some manifests that official buckets don't have
  • Or making small adjustments to official manifests

But abyss is different — it has made extended designs on top of Scoop to address long-standing issues in official manifests.

What has been redesigned

Data Persistence

  • Scoop's Persist can only persist data within the installation directory
  • But most modern apps store their data in Windows standard directories, and official workarounds have their own issues
    • C:\Users\<username>\AppData\Roaming\xxx
    • C:\Users\<username>\AppData\Local\xxx
    • C:\Users\<username>\Documents\xxx
    • C:\Users\<username>\xxx
    • ...

abyss designed a unified Link mechanism that creates file system links directly at the original data location.

Details: Data Persistence

App Installation Method

  • Scoop's standard approach is to treat installation packages as archives
  • But some apps aren't suitable for this, and forced extraction may cause functionality issues
    • For example: NanaZip
    • Only standard msixbundle installation can properly register the right-click menu

abyss chooses appropriate installation methods based on app type, rather than uniformly extracting everything.

Details: App Installation Solution

Manifest Status Control

  • Scoop manifests are automatically updated via Github Actions, but lack explicit status control
  • When a manifest has issues or is renamed, there's no way to actively notify users, who may be affected without knowing

abyss can pause problematic manifests and guide users to renamed manifests, protecting them from unexpected issues.

Details: Manifest Status Control

Manifest Naming Convention

  • Official manifests use simple names, e.g., vscode.json, git.json
  • This approach is less flexible when handling branch versions, and lacks clear ownership

abyss adopts a naming convention inspired by winget-pkgs, using the Publisher.PackageIdentifier format.

Details: Manifest Name

A Different User Experience

When using official manifests, users often need to remember certain "best practices":

  • Don't use the app's built-in updater; use scoop update instead
  • Some features may be limited (e.g., right-click menus, system integration)
  • Non-standard installation paths may cause other app to fail to locate the app

These are ingrained habits that users have developed over time.


But in abyss, these concerns simply don't exist:

  • Apps are installed via standard installers, so built-in updaters work normally
  • Full functionality with no compatibility issues from the installation method
  • Standard installation paths that other app can interact with

This isn't about making users adapt to new rules — it's about letting apps return to the state they should have been in.

abyss — always building your stable source.
Released under the MIT.