I needed to have Homebrew available for x86_64 in Rosetta mode without conflicting with native Apple Silicon mode.

To do that:

  • Instantiate a new Terminal running in Rosetta: open -a Terminal --new --arch x86_64
  • In the new Terminal, install Homebrew as per the official manual:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Edit .zprofile to:
    • Output current architecture
    • Add x86 to Terminal title when running in Rosetta mode
    • Use corresponding brew version to match current architecture
title() {
    printf '\e]0;%s\a' "$1"
}

# Detect architecture and set up Homebrew accordingly
ARCH=$(arch)
echo "Current architecture: $ARCH"
if [[ $ARCH == "arm64" ]]; then
    # Apple Silicon
    eval "$(/opt/homebrew/bin/brew shellenv)"
else
    title "x86"
    # Intel
    eval "$(/usr/local/bin/brew shellenv)"
fi