I recently wrote about how I started using ElementaryOS 6 on my work computers. While I love using elementaryOS, one thing I mentioned in that post still holds true: right now, my ideal Linux setup would be the ElementaryOS UI/UX, but on top of a Fedora base. So, this month I set out to achieve just that.
The more I used ElementaryOS for work, the more my desire to have a Fedora base grew. This was especially true for my laptop, as earlier this year I choose the portable option for my laptop refresh. By itself, it is fine. However, it is annoying to partition the laptop’s limited resources for a fedora VM. Running Fedora as the host OS (instead of Elementary) would make it easier when I only have my laptop available (in the office, for example).
But… I still love the pantheon desktop environment. It’s clean, looks great, and has wonderful support for global font-scaling (which is the best option I’ve found for using a 4k monitor with ‘fractional scaling’ on Linux).
I remembered there being a pantheon desktop group in the
dnf group list
options a bit back, but there isn’t a dedicated Fedora
Spin for pantheon. So, here’s how I cobbled
together my own solution.
Installing Pantheon Desktop Environment
First, I used
dnf to install the
Pantheon Desktop package group:
sudo dnf group install `Pantheon Desktop`
That simple step took care of most of what I needed. After installing the group, you should be able to reboot, and select the pantheon desktop environment at the login screen.
Swapping gdm with lightdm
Speaking of the login screen…
After installing pantheon, I wanted to take an additional step of switching the
display manager (the login screen). Specifically, I swapped gnome’s
lightdm, the display manager that elementaryOS uses. To do this, I first made
lightdm was installed:
sudo dnf install lightdm
Then, I disabled
gdm and enabled
sudo systemctl disable gdm sudo systemctl enable lightdm
After rebooting, I as greeted with a lightdm login window, with the same layout and theming I had on elementaryOS!
Building additional packages
As I started working in pantheon on Fedora, I did notice that there seemed to be a few things were still missing…
First, I wanted to install
pantheon-tweaks. Like the
‘Tweaks’ tool for Gnome, this adds a few more settings to further customize
pantheon-tweaks doesn’t appear to be in the Fedora repos,
and I could only find
deb builds of it. So, I built it from source.
First, I downloaded the source code and entered the directory:
git clone https://github.com/pantheon-tweaks/pantheon-tweaks.git cd pantheon-tweaks
Next, I determined what the required build dependencies were (and named), when building in Fedora. After some sleuthing, I had the list figured out:
sudo dnf install cmake vala ninja-build meson switchboard-libs switchboard-devel switchboard-plug-a11y granite-devel
With all the dependencies installed, I was ready to run the build and install commands:
meson build --prefix=/usr cd build ninja ninja install
After that, I had the
Tweaks page available in the system settings.
Universal Access Settings in Wingpanel
Next, I wanted to flip the switch to show the Universal Access settings in
the top panel. However, every time I clicked on the Universal Access settings
tab, my settings app crashed! By launching the settings application from the
command line (
io.elementary.switchboard), I was able to observe it was
wingpanel-idicator-a11y wasn’t installed. So, I
found that on Github
(I love open source!), and prepared to build it:
git clone https://github.com/elementary/wingpanel-indicator-a11y.git cd wingpanel-indicator-a11y
In addition to the build dependencies I had already installed for
pantheon-teaks, I also needed to install the wingpanel libraries:
sudo dnf install wingpanel-devel
Then, I was able to build and install, just like before:
meson build --prefix=/usr cd build ninja sudo ninja install
Once installed, I could view the Universal Access settings, and even enable the dropdown setting in the top panel! (which I use to quickly change my font scaling)
So far, this setup has worked surprisingly well. However, I do have one main concern about the viability of using this long-term…
Will this continue to work? If so, how much of a pain will it be to maintain? I had to build some packages from source, and while I can pull the latest and rebuild, I worry that they might have version compatibility problems with the packages I’m able to pull from the repos, which would be an undesired headache.
I would love to see a team in Fedora grow to make this an official and maintained spin. I saw that there is a pantheon sig, but I’m not sure how current or active it is…
Thus far, pantheon on Fedora 35 has worked fine. I’m going to try to keep using it over the next few weeks, and keep an eye on it. In the best case scenario, maybe it will be an offical spin one day. At the very least… I hope my cobbled together version stays stable enough for me to continue using!