Skip to content

About

Personal Scoop bucket - apps not in main/extras

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

scoop-bucket

A personal Scoop bucket for apps that aren't in main/extras — things installed from loose JSON files, GitHub repos with no releases, or local one-offs. Having them here makes a machine reproducible instead of depending on whatever happens to be sitting in ~\Downloads.

Install

scoop bucket add halr9000 https://github.com/halr9000/scoop-bucket
scoop install halr9000/sa3_tflite

Apps

App Description
cadcraft Native CAD and drafting app, with its command-line tool.
vectorcraft Native vector illustration app, with its command-line and MCP tools.
effectcraft Native motion graphics and effects app, with its command-line and MCP tools.
soundcraft Native audio editing and mixing app, with its command-line and MCP tools.
pdfcraft Native PDF workbench, with its command-line tool.
neo A distraction-free word processor for authors.
sa3_tflite Stable Audio 3 CPU inference via LiteRT/TFLite — text-to-audio, audio-to-audio, inpainting. No PyTorch at runtime.

Install the Crafting apps with scoop install halr9000/pdfcraft halr9000/cadcraft halr9000/vectorcraft halr9000/effectcraft halr9000/soundcraft. These use official portable builds for x64, x86, and ARM64, create Start Menu shortcuts, and expose their app and -cli commands on PATH. Their per-user settings remain outside Scoop's version directories. Launch PdfCraft or CADCraft, VectorCraft, EffectCraft, or SoundCraft from the Start Menu, or use this checkout's Codex launch Actions.

PdfCraft automatically registers .pdf support for the Windows user running Scoop and removes its registration on uninstall. To make it the default PDF reader, choose PdfCraft (Scoop) under Settings > Apps > Default apps. Windows requires that one-time selection; installation preserves your existing default reader.

sa3_tflite puts upstream's own wrappers on PATH as sa3 and sa3-gradio, so they work from any directory:

sa3 --prompt "lofi house loop" --dit sm-music --decoder same-s --play
sa3 --help
sa3-gradio

Model weights are not bundled; they lazy-download from HuggingFace on first use (~2.3 GB small, ~9.5 GB medium) and persist across upgrades.

Rebuilding a machine

The bucket covers which apps exist; scoop export covers what you had installed:

scoop export > scoop-apps.json

Commit that file somewhere, then on a fresh machine:

scoop import scoop-apps.json

scoop import restores buckets first, then apps — so anything from this bucket comes back automatically, as long as the bucket is in the export.

Adding an app

  1. Drop a manifest in bucket/<app>.json.

  2. Test it locally before committing — you can install straight from the file:

    scoop install .\bucket\<app>.json
  3. Check that checkver resolves. The bin\ wrappers already point at bucket\, so don't pass -Dir:

    .\bin\checkver.ps1 -App <app>
  4. Let scoop compute the hash and rewrite the manifest for the newest version:

    .\bin\checkver.ps1 -App <app> -Update
  5. Format consistently:

    .\bin\formatjson.ps1
  6. Run the test suite. It needs two modules the CI installs for you, so install them once locally:

    Install-Module BuildHelpers, Pester -Scope CurrentUser -Force
    .\bin\test.ps1

The first CI run on a new bucket logs a scary error that you can ignore. The changed-manifest linter diffs HEAD^..HEAD, which doesn't resolve when the repo has only one commit, so discovery reports fatal: ambiguous argument 'HEAD^..HEAD'. The job still passes — test.ps1 exits on Pester's failed-test count, and a discovery error doesn't add to it. It stops appearing from the second commit onward.

Notes from building sa3_tflite

Worth knowing if you package something similar:

  • No upstream release is needed. Scoop installs from any URL. For a repo with no tags, pin a commit archive — https://github.com/<owner>/<repo>/archive/<full-sha>.zip — which is immutable and therefore hashable. Use extract_dir to pull out a subdirectory.
  • Phase order matters. It runs installer → create_shims → persist_data → post_install. Generate any file that bin shims in pre_install/installer; do work that should reuse persisted state in post_install.
  • Version scheme for commit-pinned apps. <date>-<shortsha> alone is unsafe: two commits on the same day fall back to comparing SHAs lexically, which is meaningless ordering. Include the time — 2026.08.02.0800-c7e8800.
  • Don't depend on system Python. scoop install python tracks the newest release, which routinely outpaces wheel availability for native packages, and python on PATH may belong to some other app's virtualenv. Depend on main/uv and let it provision a pinned interpreter instead.

License

Unlicense — applies to this bucket's manifests and scripts, not to the apps they install.

About

Personal Scoop bucket - apps not in main/extras

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages