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\xxxC:\Users\<username>\AppData\Local\xxxC:\Users\<username>\Documents\xxxC:\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 updateinstead - 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.