Skip to content

Instantly share code, notes, and snippets.

@naranyala
Created October 21, 2025 17:03
Show Gist options
  • Select an option

  • Save naranyala/63af7347bb3d9ef48bc594b0b36bb39c to your computer and use it in GitHub Desktop.

Select an option

Save naranyala/63af7347bb3d9ef48bc594b0b36bb39c to your computer and use it in GitHub Desktop.
#!/bin/bash
# Switch Fedora to KDE Plasma Desktop using dnf5 with --skip-unavailable
# Includes backup of current display manager config
set -e
echo "Updating system..."
dnf5 -y upgrade --skip-unavailable
echo "Installing KDE Plasma Desktop..."
dnf5 -y group install "KDE Plasma Workspaces" --skip-unavailable
echo "Installing KDE Applications (optional full suite)..."
dnf5 -y group install "KDE Applications" --skip-unavailable
echo "Installing SDDM (recommended display manager for KDE)..."
dnf5 -y install sddm --skip-unavailable
# Backup current display manager symlink if it exists
if [ -L /etc/systemd/system/display-manager.service ]; then
echo "Backing up current display manager symlink..."
sudo cp -a /etc/systemd/system/display-manager.service \
/etc/systemd/system/display-manager.service.backup.$(date +%Y%m%d%H%M%S)
fi
echo "Switching to SDDM as default display manager..."
# Remove old symlink and enable SDDM
sudo rm -f /etc/systemd/system/display-manager.service
sudo systemctl enable sddm.service -f
echo "Disabling LightDM (if present)..."
sudo systemctl disable lightdm.service || true
echo "Setting graphical target as default..."
sudo systemctl set-default graphical.target
echo "Done! Reboot to start KDE Plasma."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment