App-Fair / App

Open-source browser and installer for Homebrew casks and macOS/iOS apps
https://appfair.app
GNU Affero General Public License v3.0
63 stars 1 forks source link

App Fair's Homebrew should share installed apps with the system Homebrew's Cask folder #2

Open stalonium opened 2 years ago

stalonium commented 2 years ago

I would have expected AppFair to show already installed homebrew apps (like Cakebrew). I would have to uninstall everything and reinstall it to make proper use of AppFair. Any way around this?

image
MohamedElashri commented 2 years ago

I would second this essential feature

noahgaertner commented 2 years ago

The issue appears to be that AppFair, for some reason, bundles and uses its own homebrew install rather than using the already installed one, as per https://appfair.app/#advanced-user-faqs, which results in the two homebrew installs being unable to communicate. Until/unless they begin using the previous brew install (which they should, I have no clue why they aren't) this issue probably can't be fixed.

stalonium commented 2 years ago

The issue appears to be that AppFair, for some reason, bundles and uses its own homebrew install rather than using the already installed one

But couldn't it still pull that info from the other homebrew install and either also allow management of those (like Cakebrew) or at least offer some kind of migration assistant to pull those over to be managed by AppFair so I don't have to uninstall everything and reinstall it with AppFair myself? That sounds pretty useful to me and pretty important if you wanna convince homebrew users to start using AppFair.

benjamindahl commented 2 years ago

+1

marcprux commented 2 years ago

Apologies for the delayed response. @noahgaertner is correct that the App Fair uses its own Homebrew location in order to be able to distinguish between the apps that it has installed itself and apps installed by other means. Also, the App Fair doesn't require a pre-existing Homebrew install, so it needs at least the capability of maintaining one even if the user can't write to "/opt/" or "/usr/local/". But I agree that it is important that we be able to allow the user the option to use a single shared homebrew install, because having two separate registries of casks can be very confusing.

The stopgap solution I was planning on recommending, which would be to symlink the system's Caskroom into the App Fair's Homebrew installation library (~/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Caskroom), won't work due to a bug in the App Fair that results in it reporting that the Caskroom is "not a directory".

I'll work on at least getting the stopgap solution operational, and then we can eventually work out how to implement a nicer user-facing solution.

benjamindahl commented 2 years ago

Hello, has this been worked on? I would love to use App-Fair alongside the mac Appstore to manage app installations.

streamtree commented 2 years ago

Can we get an update on this, please!

benjamindahl commented 1 year ago

Are there any news about that?

verstratenbram commented 1 year ago

This is the only thing that's stopping me from actually using the app. Otherwise it looks amazing!

Maybe some inspiration can be found in the Sourcetree app, where you can choose between Embedded Git or System Git in the app's settings. This would result in Embedded Homebrew (the way it is now) and System Homebrew (using the Homebrew already installed on your system).

harithoppil commented 1 year ago

I also faced the same error, after googling found out that creating symlink via finder is the issue. Using full paths via terminal, and the error does not occur, So in my case: sudo ln -s /opt/homebrew "/Users/$USER/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew" Or, there is always option of using Hard Links, if this does not work; hardlink-osx is a neat tool to simplify the process and can be installed via brew.

verstratenbram commented 1 year ago

I recently started using Brewlet to manage Homebrew updates. In this app I can select the Homebrew location or even define a custom path. I think this would be the perfect way to handle this issue.

image