โจabyssโจ
็ฎไฝไธญๆ | English | Github | Gitee
Just like the abyss โ limitless, mysterious, and filled with treasures.
Star โญ๏ธ or Donate ๐ฐ if you like it!
Warning
- Manifests in
abyss
are based on bin/utils.ps1. - They contain some features outside of the official Scoop specification, and other buckets should not merge them to avoid conflicts and errors.
- Some apps that cannot use Persist, Link will be used as a fallback.
- Some spps use installers instead of zip to install.
- Use extra abilities via some config.
- Use abgox/scoop-i18n to enable i18n support.
- Inspired by winget-pkgs.
- Manifest naming format:
Publisher.PackageIdentifier
- Directory structure:
bucket/a/abgox/abgox.scoop-i18n.json
- Manifest naming format:
Warning
Please use abyss
as the bucket name to avoid "bucket not found" errors when parsing "depends" in some manifests.
-
Add abyss with Github or Gitee repository.
scoop bucket add abyss https://github.com/abgox/abyss
scoop bucket add abyss https://gitee.com/abgox/abyss
-
Use PSCompletions to add
scoop
completion.scoop install abyss/abgox.PSCompletions
Import-Module PSCompletions
psc add scoop
-
Install scoop-i18n to enable i18n support.
scoop install abyss/abgox.scoop-i18n
- You can use scoop-tools, and it allows you to temporarily use the replaced proxy url to download the installation package.
-
It will control additional actions when uninstalling the app.
-
You can set it using the following command:
scoop config abgox-abyss-app-uninstall-action 123
-
If not configured, the default value is
1
. -
Values can be combined, e.g.
12
means both1
and2
will execute. -
If you don't need them, you can set it to any value that does not include them.
-
Configuration values and their action:
Value Action 1
Attempt to terminate processes before uninstallation/update 2
Remove directory created by Link during uninstallation 3
Clean up temporary data during uninstallation
-
Some apps in
abyss
are installed via installers, which automatically create shortcuts. -
Scoop also creates shortcuts defined in the manifest, which may result in duplicate shortcuts.
-
So, you can use this config to control whether to create shortcuts defined in the manifest.
scoop config abgox-abyss-app-shortcuts-action 2
-
If not set, the default value is
1
. -
Configuration values and their action:
Value Action 0
Do not create shortcuts defined in the manifest 1
Create shortcuts defined in the manifest 2
If the app is installed via installer, do not create shortcuts defined in the manifest; otherwise, create them
-
It is only used to record the name of
abyss
added locally, and then it is used in some special cases. -
Don't modify it manually. When installing/updating/uninstalling an app in
abyss
, it will be automatically updated. -
For example:
-
You can install a specific version of JetBrains.WebStorm.
scoop install abyss/JetBrains.WebStorm@2025.1.2
-
It will be used during installation to avoid installation errors.
-
-
Reference: #10
Tip
Assume the Scoop root directory is D:\scoop
-
Scoop provides a
persist
configuration in the manifest files, which can persist data files in the app directory.- Taking abgox.PSCompletions as an example, Scoop will install it to
D:\scoop\apps\abgox.PSCompletions
. - It will persist data directory and file:
D:\scoop\apps\abgox.PSCompletions\completions
=>D:\scoop\persist\abgox.PSCompletions\completions
D:\scoop\apps\abgox.PSCompletions\data.json
=>D:\scoop\persist\abgox.PSCompletions\data.json
- When uninstalling abgox.PSCompletions, Scoop only removes the
D:\scoop\apps\abgox.PSCompletions
directory, not theD:\scoop\persist\abgox.PSCompletions
directory.- So, its settings and completion data will still be saved in the
D:\scoop\persist\abgox.PSCompletions
directory. - After reinstalling, the data will continue to be used again.
- So, its settings and completion data will still be saved in the
- If the
-p/--purge
parameter is used when uninstalling, theD:\scoop\persist\abgox.PSCompletions
directory will be removed.
- Taking abgox.PSCompletions as an example, Scoop will install it to
-
This is the most powerful feature of Scoop, which can quickly restore your app environment.
- Some apps in
abyss
use Link, which cannot be reset correctly byscoop reset
. - It is recommended to force update the app by
scoop update --force <app>
.
- Some apps in
Tip
Assume the Scoop root directory is D:\scoop
- Scoop's
persist
is powerful, but unfortunately, it has a limitation: it only works if the app data resides within the installation directory. - However, some apps store their data outside the installation directory, commonly in
$env:AppData
. - For such apps, they will use
New-Item -ItemType Junction
to link. - Taking Microsoft.VisualStudioCode as an example:
- Microsoft.VisualStudioCode stores its data in
$env:AppData\Code
and$env:UserProfile\.vscode
$env:AppData
=$env:UserProfile\AppData\Roaming
$persist_dir
=D:\scoop\persist\Microsoft.VisualStudioCode
- It will link:
$env:UserProfile\AppData\Roaming\Code
=>$persist_dir\AppData\Roaming\Code
$env:UserProfile\.vscode
=>$persist_dir\.vscode
- Microsoft.VisualStudioCode stores its data in
Warning
- Some apps store data as files instead of directories, requiring SymbolicLink to link.
- SymbolicLink requires administrator permission or Developer Mode.
- these apps will be added with the
RequireAdmin
tag in the App List.
Tip
Check on the official website: https://abyss.abgox.com/app-list