# How to purge Homebrew from system?

**URL:** <https://universal-blue.discourse.group/t/how-to-purge-homebrew-from-system/12256>\
**Category:** General\
**Created:** [June 25, 2026, 2:29pm UTC](https://universal-blue.discourse.group/t/how-to-purge-homebrew-from-system/12256 "2026-06-25T14:29:04Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![eduncan911](https://avatars.discourse-cdn.com/v4/letter/e/df705f/32.png) [@eduncan911](https://universal-blue.discourse.group/u/eduncan911)\
**Post date:** [June 25, 2026, 2:29pm UTC](https://universal-blue.discourse.group/t/how-to-purge-homebrew-from-system/12256/1 "2026-06-25T14:29:05Z")

</div>

How would one completely purge Homebrew from Universal Blue images?

Would this break Aurora-DX or Bazzite-DX if removed?

Is it a simple as removing it via `rpm-ostree`, so it’s applied on all future updates?

Or, are there _requirements_ installed via Homebrew that will break the system? If so, how do we find those packages?

---

<div class="post-metadata">

**Author:** ![inffy](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/inffy/32/7996_2.png) [@inffy](https://universal-blue.discourse.group/u/inffy)\
**Post date:** [June 25, 2026, 2:52pm UTC](https://universal-blue.discourse.group/t/how-to-purge-homebrew-from-system/12256/2 "2026-06-25T14:52:34Z")

</div>

You cannot remove Homebrew as it is part of the image build. It’s not a package that can just be removed (and if you use rpm-ostree remove `package` it won’t anyway remove the package, just hide it).

Homebrew is integral part of our images and will be in the future. We will also have plans to move the -dx image stuff away from the image and to as much as possible to brew.

---

<div class="post-metadata">

**Author:** ![red11](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/red11/32/3696_2.png) [@red11](https://universal-blue.discourse.group/u/red11)\
**Post date:** [June 26, 2026, 7:17am UTC](https://universal-blue.discourse.group/t/how-to-purge-homebrew-from-system/12256/3 "2026-06-26T07:17:24Z")

</div>

What about disabling brew updates at least…

I have checked with `brew list` and I see I have no brew application installed. Like I understand there is silent background update every day, that automatically updates OS, flatpaks and brew application and similar logic is in `ujust update`. How to disable brew updates (by silent system update and ujust “update command”), to spare my network downloads and of course to spare brew servers from downloading files user does not need.

Maybe there should be some logic embedded like:

- check if at least one brew application is installed (e.g. using `brew list`) and
- if yes, then execute `brew update`

---

<div class="post-metadata">

**Author:** ![inffy](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/inffy/32/7996_2.png) [@inffy](https://universal-blue.discourse.group/u/inffy)\
**Post date:** [June 26, 2026, 7:49am UTC](https://universal-blue.discourse.group/t/how-to-purge-homebrew-from-system/12256/4 "2026-06-26T07:49:06Z")

</div>

There is no point to make the updated more complex for something that doesn’t really affect anything.

If you don’t have brew packages, there will be nothing to update. Adding more “complexity” to uupd would mean something that can break in the future for whatever reason.

---

<div class="post-metadata">

**Author:** ![red11](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/red11/32/3696_2.png) [@red11](https://universal-blue.discourse.group/u/red11)\
**Post date:** [June 26, 2026, 12:02pm UTC](https://universal-blue.discourse.group/t/how-to-purge-homebrew-from-system/12256/5 "2026-06-26T12:02:17Z")

</div>

> [@inffy](#):
>
> There is no point to make the updated more complex for something that doesn’t really affect anything.

Actually it does little bit of effect, for example I just `ujust update and output is:`

> ✔︎ JSON API packages.x86\_64\_linux.jws.json Downloaded 15.2MB/ 15.2MB

It downloaded 15 MB file despite I have no brew program installed.

---

<div class="post-metadata">

**Author:** ![DDjivan](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/ddjivan/32/2159_2.png) [@DDjivan](https://universal-blue.discourse.group/u/DDjivan)\
**Post date:** [June 26, 2026, 4:56pm UTC](https://universal-blue.discourse.group/t/how-to-purge-homebrew-from-system/12256/6 "2026-06-26T16:56:00Z")

</div>

If I’m not mistaken, `ujust update` is a shortcut for `/usr/bin/topgrade --config /usr/share/ublue-os/topgrade.toml`.

If you don’t want it to launch the homebrew update command, you could copy that TOML document, and remove `"brew_formula"` (and `"brew_cask"`) from the `only` array. And then you can run `topgrade` with that new config file.

---

<div class="post-metadata">

**Author:** ![inffy](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/inffy/32/7996_2.png) [@inffy](https://universal-blue.discourse.group/u/inffy)\
**Post date:** [June 26, 2026, 8:13pm UTC](https://universal-blue.discourse.group/t/how-to-purge-homebrew-from-system/12256/7 "2026-06-26T20:13:45Z")

</div>

Atleast Aurora we don’t use topgrade, we use uupd

Bazzite probably uses topgrade still.

You can of course disable the brew check in uupd too

---

<div class="post-metadata">

**Author:** ![stego](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/stego/32/866_2.png) [@stego](https://universal-blue.discourse.group/u/stego)\
**Post date:** [July 1, 2026, 5:56pm UTC](https://universal-blue.discourse.group/t/how-to-purge-homebrew-from-system/12256/8 "2026-07-01T17:56:29Z")

</div>

The configuration for uupd is described here: [GitHub - ublue-os/uupd · GitHub](https://github.com/ublue-os/uupd#configuration)  
Just set `modules.brew.disable = true`
