deniz.in

Markets

Weather

Loading weather

· via dev.to (home feed)

Homebrew 7.0 adds BrewUI, an official desktop app for managing Mac packages

Homebrew 7.0 introduces BrewUI, a first-party Swift and SwiftUI app that lets macOS users discover, install and manage formulae and casks without the Terminal.

Homebrew 7.0 adds BrewUI, an official desktop app for managing Mac packages

Homebrew 7.0 adds an official desktop app

Homebrew, the command-line package manager that many macOS developers rely on to install and update software, now has a first-party graphical interface. According to a post on dev.to, version 7.0 of the tool ships with BrewUI, a native desktop application maintained by the Homebrew core team that lets users manage installed formulae and casks visually rather than through the Terminal.

Third-party graphical front-ends for Homebrew have existed before — the dev.to author mentions Brewlet, an earlier project he had written about — but BrewUI is the first app maintained by the project itself, which the author singles out as the notable part of the release.

What the app does

Based on the project description quoted in the post, BrewUI targets users who prefer graphical interfaces or who avoid the command line. It lets them discover, install, update and manage Homebrew packages from a native SwiftUI app, while deliberately keeping the underlying Homebrew operations visible rather than hiding them behind abstractions.

The app is a front-end, not a reimplementation. Its data comes from the brew CLI and the Homebrew JSON API, so the GUI drives the same machinery as the command-line tool. That design matters for trust: actions taken in the app correspond to real brew operations a user could otherwise run by hand.

Built in Swift

BrewUI is written in Swift with strict concurrency enabled, builds its interface with SwiftUI and manages dependencies with Swift Package Manager. Contributors clone the repository and run a bootstrap script that installs the Mint tool via a Brewfile, builds pinned versions of SwiftFormat and SwiftLint from a Mintfile, enables the repository's git hooks and resolves Swift packages.

One configuration detail stands out for people with customised setups: BrewUI reads Homebrew options from a brew.env file and must be relaunched after that file changes. Shell aliases and exported environment variables — the usual way users tweak brew behaviour in their shell profiles — do not configure the app.

How to install it

The source itself contains two slightly different install instructions. The body of the dev.to post suggests brew install homebrew-app, while the README excerpt it quotes gives brew install --cask homebrew-app. Since Homebrew distributes macOS applications as casks, the cask form is the documented command. The project is open source, and the post invites Swift developers who want to contribute to look at the repository.

Why it matters

Homebrew has been a terminal-first tool for essentially its entire life, and that has left a class of Mac users — people comfortable installing apps by dragging icons but not by typing commands — outside the largest macOS package ecosystem. A first-party GUI, maintained by the same team that maintains brew itself, removes that barrier without fragmenting the ecosystem around an unofficial client.

The transparency-first design is also worth noting. Rather than masking package management behind point-and-click simplicity, BrewUI surfaces what Homebrew is actually doing, an approach that could serve as a template for other command-line tools adding graphical interfaces. And because the app belongs to the core project rather than being a community side project, it is more likely to keep pace with Homebrew's development over time.

One caveat: this story rests on a single dev.to post and the README material it quotes, so details such as the exact version number and install command are worth confirming against official Homebrew documentation before relying on them.

  • #homebrew
  • #macos
  • #package-manager
  • #open-source
  • #swift

Related posts