Fedora Silverblue’s immutable design is incredible for system stability, but layering every minor command-line utility via rpm-ostree gets tiring quickly due to the “reboot tax.”
Setting up Homebrew (Linuxbrew) is the perfect workaround. Because Silverblue’s root filesystem is read-only, Homebrew installs everything entirely inside your user directory. This keeps your base operating system pristine, allows you to get instant package updates, and eliminates the need to reboot every time you want to install a new CLI tool.
Here is exactly how to set it up on a standard Silverblue installation.
Step 1: Install the Compile Dependencies
Before installing Homebrew, you need standard development tools (gcc and make) so Brew can compile packages from source when pre-built binaries aren’t available.
While standard Fedora documentation tells you to install git-core, Fedora Silverblue already includes Git in the base image. Attempting to install it will throw a conflict error.
To layer only what you need, run the following command in your terminal:
Bash
rpm-ostree install gcc make
Once the packages have finished staging, reboot your system to apply the changes:
Bash
systemctl reboot
Step 2: Run the Official Homebrew Installer
After your system reboots, open your terminal and run the official Homebrew installation script:
Bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
The script will walk you through the initialization process. Because it detects the read-only root system, it will automatically confine the installation to your user space.
Step 3: Add Homebrew to Your PATH (Silverblue Specific)
Silverblue uses a unique directory structure where /home is actually a symbolic link pointing to /var/home. Because of this, we need to explicitly inject the environment variables using your absolute home directory path.
Run these three commands to append the environment settings to your .bashrc and instantly activate it for your current terminal session:
Bash
echo >> "$HOME/.bashrc"
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"' >> "$HOME/.bashrc"
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"
Step 4: Verify the Installation
To make sure your shell is routing the commands to the fresh Homebrew environment properly, run the built-in system check:
Bash
brew doctor
If it returns a success message or standard configuration warnings, you are completely set up!
Quick Reference for Using Brew on Silverblue
-
No Sudo: Never run
sudo brew install. Homebrew works entirely inside your user space (/var/home/chris). -
OS Upgrades: Your Homebrew packages live completely separate from the system image, meaning they will safely survive major Fedora variant upgrades (e.g., upgrading from Silverblue 43 to 44).
-
Maintenance: Keep your tools fresh by running
brew update && brew upgradewhenever you like, completely independent of yourrpm-ostreesystem updates.