Fedora to Pantheon
Turn a fresh Fedora Workstation (typically a VM) into an elementary OS-style
desktop. One script, setup.sh, enables SSH, installs the Pantheon desktop on
Wayland, adds Flathub, and sets up Btrfs snapshots with Snapper.
Requirements
- Fedora Workstation 37 or later (
dnf-based; Btrfs root for snapshots). sudoaccess and an interactive terminal.
Tested on Fedora 44 Workstation in a libvirt/QEMU VM (virtio-gpu).
Usage
bash setup.sh
The script pauses at step 1 after enabling SSH so you can switch to an SSH session before the long package installs — handy when you're setting up a VM from your host. Press Enter to carry on, or Ctrl+C to stop and reconnect over SSH first.
When it finishes, reboot and pick Pantheon from the gear menu on the GDM password screen. GDM remembers the choice after the first login.
sudo reboot
What it does
- Installs and enables
sshd, opens SSH in the firewall, prints the VM's IPs. - Installs and configures Snapper, then takes a
pre-setup baselinesnapshot of the pristine system — roll back to this to undo the whole run. - Updates the system.
- Enables the
garaevdi/pantheon-rpmCOPR — the maintained Pantheon path since the old dnf group was dropped after Fedora 36. Wayland only. - Installs the Pantheon shell and elementary apps.
- Forces software GL (llvmpipe) only when the VM has a virtio-gpu with virgl off, where gala otherwise segfaults on login. Real hardware is left alone.
- Keeps GDM as the display manager (the elementary LightDM greeter doesn't hand off the Wayland session correctly on Fedora yet).
- Applies the elementary stylesheet and icons to GTK4/libadwaita apps.
- Adds Flathub system-wide.
- Enables the Snapper timeline and cleanup timers and takes a
post-setup baselinesnapshot.
The script is idempotent: each step guards against redoing work, so it's safe to re-run on a partially-set-up machine.
Snapshots
sudo snapper -c root list # list snapshots
sudo snapper -c root create -d "description" # manual snapshot
sudo snapper -c root rollback <number> # roll back, then reboot
Known limitations
- Wayland only; X11 would need a COPR rebuild.
- The elementary greeter (LightDM) isn't working on Fedora — GDM stands in.