docs(homebrew): sync the reference cask to what actually merged upstream

The cask went live in Homebrew/homebrew-cask on 2026-08-24. A maintainer
removed three things during review that this reference copy still carried, so
the file now documents a shape Homebrew rejected:

- the `livecheck do url :url; strategy :github_latest end` block, which is
  redundant — Homebrew infers the strategy from a GitHub release URL
- the inline `conflicts_with` comment
- the inline `zap` rationale comment

The body below the header is now byte-identical to upstream, so `diff`-ing the
two is meaningful again.

The removed rationale was worth keeping, just not upstream, so it moves into
the header — which `scripts/bump-winget.sh`-style stripping never applies here
anyway, because this file is only ever read, never copied. Notably the `zap`
paths, re-derived from source rather than trusted from the old comment:
`AccountManager.kt` for `~/.amethyst` (accounts and KEYS), `DesktopTorManager.kt`
for the Application Support path, and `DesktopImageLoaderSetup.kt` whose macOS
`cacheDir()` branch resolves to `~/Library/Caches`. Also why the shared Java
prefs plist is deliberately excluded: `java.util.prefs` writes every Java app's
preferences into that one file.

The header also corrects a scope claim. It implied this file is what ships;
it is not. `scripts/bump-homebrew-cask.sh` bumps upstream through
`brew bump-cask-pr`, which edits the upstream cask in place and only reads
version + sha256 from here.

Verified the enlarged header cannot confuse either bumper: both anchor on the
two-space indent (`^  version "` / `^  sha256 "`), each matches exactly once,
and replaying the workflow's `sed` against this file changes those two lines
and nothing else. `ruby -c` passes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gs2gi3sZfQ7SHrVm2njLMw
This commit is contained in:
Vitor Pamplona
2026-08-24 00:39:59 -04:00
co-authored by Claude Opus 5
parent dad7fccaf2
commit b1a03a083d
+37 -23
View File
@@ -1,20 +1,49 @@
# Reference Homebrew Cask for the Amethyst desktop app.
#
# This file is NOT consumed by any build in this repo. Submit it to
# Homebrew/homebrew-cask (as `Casks/a/amethyst-nostr.rb`) or drop it into a
# personal tap (`Casks/amethyst-nostr.rb`) for an instant
# `brew install --cask <tap>/amethyst-nostr`.
# THIS IS A MIRROR. The live cask is Homebrew/homebrew-cask
# `Casks/a/amethyst-nostr.rb` (merged 2026-08-24). Keep this file byte-identical
# to it below the header, so a diff against upstream is meaningful. Note that
# `scripts/bump-homebrew-cask.sh` bumps upstream via `brew bump-cask-pr`, which
# edits the upstream cask in place — it only reads version + sha256 from here,
# so this file is documentation, not the thing that ships.
#
# The release matrix (.github/workflows/create-release.yml) builds an
# Apple-Silicon DMG only (no Intel DMG), so this cask is arm64-only.
#
# version + sha256 below track the published
# `amethyst-desktop-<version>-macos-arm64.dmg`. Once the cask exists upstream,
# bump-homebrew.yml keeps the live copy current on each stable release. To
# refresh this reference by hand:
# version + sha256 track the published
# `amethyst-desktop-<version>-macos-arm64.dmg`; bump-homebrew.yml keeps them
# current on each stable release. To refresh by hand:
# curl -fsSL -o amethyst.dmg \
# https://github.com/vitorpamplona/amethyst/releases/download/vX.Y.Z/amethyst-desktop-X.Y.Z-macos-arm64.dmg
# shasum -a 256 amethyst.dmg
#
# ---------------------------------------------------------------------------
# Why the cask body is this bare (review feedback on homebrew-cask#282745)
# ---------------------------------------------------------------------------
# The submitted version carried a `livecheck` block and two explanatory
# comments. A maintainer removed all three. Do not add them back:
#
# * `livecheck do url :url; strategy :github_latest end` — redundant.
# Homebrew infers the strategy from a GitHub release URL. Verified that
# `brew audit --new --cask` and `brew style` both still pass without it.
# * Inline comments — homebrew-cask house style is terse. The rationale
# lives here instead, where it is useful to us and invisible upstream.
#
# `conflicts_with cask: "amethyst"` is NOT optional: the unrelated tiling
# window manager (cask `amethyst`, ianyh/Amethyst) installs its own
# `Amethyst.app`, so the two cannot coexist in /Applications.
#
# The `zap` paths were verified against application source, not docs:
# ~/.amethyst AccountManager.kt -> File(homeDir, ".amethyst")
# (accounts + KEYS — destructive)
# ~/Library/Application Support/Amethyst DesktopTorManager.kt -> ".../Amethyst/tor"
# ~/Library/Caches/AmethystDesktop DesktopImageLoaderSetup.kt -> cacheDir()
# (its macOS branch is ~/Library/Caches)
#
# Deliberately NOT zapped: ~/Library/Preferences/com.apple.java.util.prefs.plist.
# The app uses the Java Preferences API (auth approvals, Namecoin settings),
# which writes into that single SHARED plist — deleting it would wipe every
# other Java application's preferences too.
cask "amethyst-nostr" do
version "1.14.0"
sha256 "84a1bdaf3577ed7375ab65c48358efd3c609fa47b504de61f4e8fc436f6b3436"
@@ -24,27 +53,12 @@ cask "amethyst-nostr" do
desc "Nostr client"
homepage "https://github.com/vitorpamplona/amethyst"
livecheck do
url :url
strategy :github_latest
end
# The unrelated tiling window manager (cask `amethyst`, ianyh/Amethyst) also
# installs `Amethyst.app`, so the two cannot coexist in /Applications.
conflicts_with cask: "amethyst"
depends_on arch: :arm64
depends_on :macos
app "Amethyst.app"
# Verified against the source, not the docs:
# ~/.amethyst DesktopAccountStorage (accounts + keys)
# ~/Library/Application Support/Amethyst DesktopTorManager (tor/)
# ~/Library/Caches/AmethystDesktop Coil image cache
#
# Deliberately NOT zapped: ~/Library/Preferences/com.apple.java.util.prefs.plist.
# The app uses the Java Preferences API, which writes to that single SHARED
# plist — deleting it would wipe every other Java app's preferences too.
zap trash: [
"~/.amethyst",
"~/Library/Application Support/Amethyst",