-
-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Description
Verification
- This issue's title and/or description do not reference a single formula e.g.
brew install wget
. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.
Provide a detailed description of the proposed feature
Provide the ability to install applications packaged as AppImage format to be installed.
AppImages are similar (at least in user experience) to macOS .app
bundles.
- Self-contained (application and any libraries)
- Relocatable
- Linux distro-agnostic
- Binary distribution provided by upstream
- Does not require root (no daemon etc. running in the background)
In the context of Homebrew, AppImages would be handled more like a cask than a formula.
Some upstreams may provide a direct AppImage. Others might not directly provide one, but it is also possible to create an AppImage out of an application's executable files. For instance, Firefox does not have an official AppImage but one can be created from the official upstream .tar.bz2
distribution (in this example, there's a community-maintained one too).
See https://appimage.github.io/ for a big collection of AppImages, some official and some unofficial.
What is the motivation for the feature?
Make it easier to install GUI-based1 applications on Linux with Homebrew, similar to how one might install GUI-based applications with Homebrew Cask.
Originally requested/discussed at https://github.com/orgs/Homebrew/discussions/3789.
1. Yes, Homebrew Cask may distribute software that isn't strictly GUI-based, and some GUI-based applications on Linux can already be obtained as formulae. But we currently skip distributing some more complex desktop software (e.g. web browsers, music notation programs, media players) on Linux.
How will the feature be relevant to at least 90% of Homebrew users?
This feature pertains only to Homebrew users on Linux. It would allow Linux users to obtain both CLI/libraries/other things from Homebrew formulae that they have today and also be able to obtain desktop applications, similar to what can be done with Homebrew Cask today for macOS users.
What alternatives to the feature have been considered?
- Nothing (the status quo). Users can always obtain AppImages by downloading it themselves. The installation process is trivial (
chmod
to make it executable, then just run it). - Integrate with snaps instead. I would liken these more to
.pkg
installers on macOS or the App Store, they require root access to install, offer isolation/sandboxing, and are associated with a bundle ID. They are managed through a snap daemon (snapd
), not directly manipulating the filesystem. The adoption for snap is, to my knowledge, spearheaded by Canonical and not nearly as prevalent as AppImage. - Integrate with flatpak instead. These are similar in scope and role as snaps. They are similarly associated with a bundle ID and can be installed through a CLI, e.g.
flatpak install flathub org.mozilla.firefox
. The adoption for flatpak is currently wider than that of snaps.