feat: homebrew on image by m2Giles · Pul...
https://github.com/ublue-os/bluefin/pull/1293/
This is ready for review. I've removed brew update for those using the image based update method.
Brew is on disk and configured out of the box for UID 1000. Updates to the brew binary and the portable ruby install happen at the image level (we could consider using system ruby instead of portable ruby.
This works by creating an overalyfs at /var/home/linuxbrew. The lower layer is /usr/share/homebrew and is where the image based brew install lives. A mutable upper dir is located at /var/lib/homebrew. And the workdir is inside of /var/cache/homebrew.
For bluefin installs, there really isn't a way to force the first user to not be UID 1000. Aurora it is possible in the installer.
Additionally, there is logic to handle already existing homebrew installs. Additionally added an update timer (mutable installs only) and upgrade timer as well to have background upgrades for packages.
Concerns are that the brew formulae list is going to be tied to image updates meaning that you will need to reboot in order to be able to upgrade brew packages. But, that is an improvement over the current lack of background updates for brew
This is ready for review. I've removed brew update for those using the image based update method.
Brew is on disk and configured out of the box for UID 1000. Updates to the brew binary and the portable ruby install happen at the image level (we could consider using system ruby instead of portable ruby.
This works by creating an overalyfs at /var/home/linuxbrew. The lower layer is /usr/share/homebrew and is where the image based brew install lives. A mutable upper dir is located at /var/lib/homebrew. And the workdir is inside of /var/cache/homebrew.
For bluefin installs, there really isn't a way to force the first user to not be UID 1000. Aurora it is possible in the installer.
Additionally, there is logic to handle already existing homebrew installs. Additionally added an update timer (mutable installs only) and upgrade timer as well to have background upgrades for packages.
Concerns are that the brew formulae list is going to be tied to image updates meaning that you will need to reboot in order to be able to upgrade brew packages. But, that is an improvement over the current lack of background updates for brew