Why I “Broke Up” with the Workstation Edition for Fedora Onyx
Imagine the scene: you just typed sudo dnf upgrade and the screen goes pitch black due to a driver error. Or after 6 months, the system is cluttered with “junk” from installing too many overlapping libraries. I was stuck in that mess for 2 years using traditional Fedora before I discovered Onyx.
Fedora Onyx is an Immutable Desktop (an unchanging operating system). Simply put, your system partition (root) is in Read-only mode. Any changes to the kernel or drivers are not performed directly but through a staging mechanism. If an update fails, it takes exactly 30 seconds to rollback to the previous perfect state. Onyx combines rpm-ostree with the elegant Budgie Desktop interface, making it perfect for those who demand absolute stability.
The philosophy here is crystal clear: The operating system is a solid foundation, applications run in Flatpak, and development environments are neatly contained within Containers.
Installing Fedora Onyx: Critical Notes
Installing Onyx via the Anaconda installer is quite familiar. However, a few small details will save you hours of troubleshooting later.
1. Preparing the Installation Media
Download the official ISO from the Fedora website. I recommend using Fedora Media Writer to create the bootable USB to ensure image integrity. Note: Onyx requires UEFI. If your machine was manufactured before 2015, double-check your BIOS settings.
2. Disk Partitioning (Btrfs)
If you aren’t very familiar with Btrfs structures, let the installer handle partitioning automatically. Fedora Onyx manages system snapshots elegantly via subvolumes. A standard configuration usually includes:
/boot/efi: 500MB (FAT32)./boot: 1GB (Ext4) to house the kernel./: The remainder using Btrfs for root and home.
The installation process on an NVMe drive typically takes only about 10-15 minutes.
3. First Boot
After rebooting, the GRUB menu will list system versions (deployments). This is your “lifeline.” Every time the system changes, a new entry will appear here.
Mastering rpm-ostree: “Git” for Your Operating System
In the Onyx world, you can temporarily forget about dnf. rpm-ostree is a hybrid tool that combines package management with Git-style image management.
Seamless System Updates
When you update, rpm-ostree downloads the packages and creates a new deployment running in parallel. You can continue working normally without system freezes or lag.
# Check existing builds
rpm-ostree status
# Update the entire system
rpm-ostree upgrade
Installing Layered Packages
I usually keep the OS as clean as possible. However, items like Nvidia drivers or the <a href="https://itfromzero.com/en/linux-vi-en/fedora-vi-en-linux-vi-en/fedora-ibus-bamboo-typing-vietnamese-as-smoothly-as-windows-on-wayland.html">ibus-bamboo</a> input method need to be installed as layers. Note that every time you add a layer, you must reboot to apply the changes.
# Install Vietnamese input method
rpm-ostree install ibus-bamboo
# Reboot to activate the new layer
sudo reboot
Distrobox: The Developer’s Ultimate Weapon
Never install gcc, python, or nodejs directly onto the base OS. Use Distrobox to create separate containers for each project. It mounts your Home directory directly, so the experience is as smooth as working on a native machine.
# Create an Ubuntu 22.04 environment in 10 seconds
distrobox create -n dev-env -i docker.io/library/ubuntu:22.04
# Access and start working
distrobox enter dev-env
This approach keeps your main machine clean and eliminates worries about library conflicts between projects.
Administration and Troubleshooting
To run Onyx smoothly, you need to master how to monitor and clean up the system.
Lightning-Fast Rollback Trick
If you accidentally install a faulty driver that causes lag, don’t panic. Reboot and select the previous version in GRUB. Once you’re back on the Desktop, run the following command to pin that stable version:
# Roll back to the previous best state
sudo rpm-ostree rollback
Cleaning Up Disk Space
Old deployments will take up space on your hard drive. After some time, you should clean up unused builds to free up several GBs of space.
# Clean up old builds, keeping only the current one and the backup
rpm-ostree cleanup -m
After 6 months of using Fedora Onyx, my productivity has significantly increased. The separation between the Base OS, Apps (Flatpak), and Dev Environments (Distrobox) is a standard workflow that every SysAdmin or DevOps professional should try. You’ll no longer waste an entire afternoon reinstalling Windows or Linux every time a configuration error occurs.
