This Fedora KDE Plasma Post Installation guide is a curated collection of notes I took after installing Fedora KDE Plasma 42 – focused on essential apps, NVIDIA drivers, privacy tools, and tweaks I found essential. Many of these topics frequently come up on forums like Reddit, so I’ve compiled them here in a single, structured reference.
While this post installation guide is written and tested specifically on Fedora KDE Plasma 42, most of the steps should apply to newer Fedora versions, other desktop environments, or even other distributions – just swap out dnf
with your preferred package manager where needed.
Table of Contents
- Set Hostname
- Remove Unwanted Preinstalled Apps
- Software Sources
- Backup
- Essential Apps
- Privacy
- Dev and DevOps
- Gaming
- Fan Control and RGB
- Customization
- Drivers
- Conclusion
Set Hostname
Set your system hostname immediately to avoid issues with apps that lock it early, like Chromium-based browsers:
sudo hostnamectl set-hostname <new-hostname>
If you’ve ran Vivaldi or any other Chromium-based browser before changing hostname, it might be locked,
and you’ll need to delete the lock file:
sudo rm ~/.config/vivaldi/SingletonLock
Remove Unwanted Preinstalled Apps
If you like to keep things clean, you can remove unnecessary packages you don’t use.
Example:
sudo dnf remove libreoffice\* firefox dragon neochat kpat kmines
Software Sources
To get the most out of Fedora, it’s important to enable third-party software sources. Fedora ships with a limited set of repositories by default due to legal and licensing restrictions. By adding RPM Fusion and switching Flatpak to use Flathub as its source, you’ll gain access to a much wider range of applications, media codecs, drivers, and tools — many of which are more up to date than what’s available in the default repositories.
RPM Fusion
RPM Fusion is a third-party repository that provides software Fedora excludes by default for legal reasons, such as proprietary drivers, media codecs, and other legally encumbered formats.
RPM Fusion offers two separate repositories to cover both open-source and proprietary software:
- Free: Open-source software that Fedora excludes due to licensing or policy reasons.
- Non-Free: Proprietary or closed-source software like NVIDIA drivers and certain firmware.
These repos are maintained by the Fedora community and are safe to use. They’re essential if you want full multimedia support, hardware acceleration, and access to popular tools not found in Fedora’s default repositories.
To enable both:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Flatpak
Flatpak is a universal packaging system that allows you to install sandboxed applications across Linux distributions. Fedora includes its own Flatpak remote (fedora
), but many of the applications available there are limited due to Fedora’s strict packaging policies. They may lack features like proprietary codec support or hardware acceleration.
For the best experience, it’s recommended to remove Fedora’s Flatpak remote and switch to Flathub, the main community-maintained Flatpak repository. Flathub offers fully featured versions of popular applications, often with better compatibility and more frequent updates.
To switch:
flatpak remote-delete fedora
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Backup
yadm
yadm is a powerful dotfile manager using Git, perfect for restoring your custom config quickly.
If you already have a remote yadm repository, you can restore it onto a new install.
Install:
sudo dnf copr enable cdayjr/yadm
sudo dnf install yadm
Clone:
yadm clone <repository_url>
Overwrite your local files with the ones from the yadm repo:
yadm checkout ~
Timeshift
Timeshift is a system snapshot and restore tool similar to Time Machine on macOS. It does incremental backups of your entire system to a custom source like an external disk or a network drive.
Install:
sudo dnf install timeshift
Essential Apps
Browsers
Mullvad Browser
Mullvad Browser is a Swedish-based privacy-focused browser hardened for anonymity.
Add Mullvad repository:
sudo dnf config-manager addrepo --from-repofile=https://repository.mullvad.net/rpm/stable/mullvad.repo
Install:
sudo dnf install mullvad-browser
Vivaldi
Vivaldi is a Norwegian-based highly customizable privacy-focused Chromium-based browser.
Install:
sudo dnf install vivaldi
Use Native Window styles:
- Go to vivaldi:settings
- Check “Use Native Window“
Fix right-click menu size:
- Go to vivaldi:settings
- Search for “User Interface Density”
- Check “Compact menu Layout“
Messaging
Ferdium
Ferdium is a open-source priacy-focused messaging browser that combines multiple services into one app. Since they don’t offer a rpm-package, we will use Flatpak.
Install:
flatpak install ferdium
Multimedia
Video Codecs
Fedora does not ship certain multimedia libraries by default due to licensing restrictions. To enable playback of a wide range of media formats, you can install FFmpeg and related libraries from RPM Fusion.
This will install both the FFmpeg command-line tools and the necessary libraries for full media playback support in apps like VLC, mpv, and OBS.
Make sure RPM Fusion repositories are enabled:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Install:
sudo dnf install ffmpeg
VLC
VLC is a free, open-source media player that supports nearly all audio and video formats across platforms.
Install:
sudo dnf install vlc
Spotify
Spotify let’s you stream millions of songs, podcasts, and playlists.
Spotify currently only makes an official package for Debian-based systems. There are Flatpack and Snap packages available too, but currently they all cause fatal memory exceptions behind the scenes and eventually crash. Luckily negativo17 have ported the official app to rpm, and it works perfectly fine if you follow these instructions.
Ensure PipeWire PulseAudio is installed:
sudo dnf install pipewire-pulseaudio --allowerasing
Restart Audio Services:
systemctl --user restart pipewire pipewire-pulse
Add the Negativo17 Spotify repo:
sudo curl -o /etc/yum.repos.d/fedora-spotify.repo https://negativo17.org/repos/fedora-spotify.repo
Install:
sudo dnf install spotify
Office and Productivity
OnlyOffice
OnlyOffice is a Latvia-based, privacy-first, open-source office suite with no telemetry. Offers encryption, and integrates with Nextcloud, etc. Supports docs, spreadsheets, presentations and PDFs. It’s modern and sleek.
sudo dnf install https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors.x86_64.rpm
Fix interface scaling:
- Settings > Set Interface scaling to 100%
Go full dark mode:
- Settings > set Interface theme to “Contrast Dark“
- Open Document > File > Advanced Settings
- Check “Turn on document dark mode“
Photoshop for Linux
Photoshop won’t run on Linux, and instead of using Gimp, which is not a direct comparison do Adobe Photoshop, I suggest using Photopea, which is a Czech Republic-based, free advanced image editor like Photoshop. It runs in the browser, but images are processed locally. If you’re used to Adobe Photoshop, you’ll feel at home immediatly.
Privacy
DNS
Using DNS over HTTPS (DoH) encrypts your DNS requests, preventing your ISP or network from seeing what websites you visit. We will use Cloudflare DNS, which is a fast, privacy-focused resolver with a strict no-logs policy and transparent public audits.
Since systemd-resolve
lacks support for DoH, we need to use a local proxy to securely resolve DNS queries. dnscrypt-proxy
is a fast, lightweight tool that supports DoH, DNSCrypt, and DNS-over-QUIC, and it integrates well with systemd-resolve
. We’ll configure Fedora to route all DNS traffic through dnscrypt-proxy
using only Cloudflare over DoH.
Install and enable dnscrypt-proxy:
sudo dnf install -y dnscrypt-proxy
Disable DNSCrypt and insert Cloudflare as the DoH server:
sudo sed -i -r \
-e "s|^(dnscrypt_servers\s*=).*$|\1 false|" \
/etc/dnscrypt-proxy/dnscrypt-proxy.toml
sudo sed -i "/^#.*server_names\s*=/a server_names = ['cloudflare']" /etc/dnscrypt-proxy/dnscrypt-proxy.toml
Ensure cache directory exists:
sudo mkdir -p /var/cache/dnscrypt-proxy
Enable and start the dnscrypt-proxy service:
sudo systemctl enable --now dnscrypt-proxy.service
Instruct NetworkManager not to manage DNS:
sudo mkdir -p /etc/NetworkManager/conf.d
sudo tee /etc/NetworkManager/conf.d/10-dnscrypt.conf > /dev/null << 'EOF'
[main]
dns=none
systemd-resolved=false
EOF
Restart NetworkManager to apply DNS changes:
sudo systemctl restart NetworkManager.service
Point systemd-resolved to the local dnscrypt-proxy resolver:
sudo mkdir -p /etc/systemd/resolved.conf.d
sudo tee /etc/systemd/resolved.conf.d/10-dnscrypt.conf > /dev/null << 'EOF'
[Resolve]
DNS=127.0.0.1
EOF
Restart systemd-resolved to apply settings:
sudo systemctl restart systemd-resolved.service
Symlink /etc/resolv.conf to systemd’s stub resolver for full compatibility:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Confirm DoH is active and using Cloudflare:
journalctl -u dnscrypt-proxy | grep 'OK (DoH)' | grep cloudflare
Expected output:
May 06 23:54:04 core dnscrypt-proxy[107053]: [cloudflare] OK (DoH) - rtt: 31ms
You can confirm the same by visiting https://one.one.one.one/help in a browser. You should see:
Using DNS over HTTPS (DoH): Yes
VPN
NordVPN
NordVPN is a Panama-based, privacy-focused VPN provider with a strict no-log policy, top-tier encryption, and 7,600+ servers in 118 countries worldwide. I use them myself and highly recommend them. In my experience, their speed has outperformed other providers I’ve tried, and I particularly value their strong stance on privacy.
Install, create a nordvpn group and add $USER:
sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)
sudo groupadd nordvpn
sudo usermod -aG nordvpn $USER
Reboot:
sudo reboot
For general configuration and commands, please refer to the official NordVPN documentation.
Handy commands:
nordvpn login
nordvpn connect #to recommended server
nordvpn countries
nordvpn connect <country_code>
nordvpn status
Dev and DevOps
Sublime Text
Sublime Text is a lightweight and extensible code editor.
Import the Sublime Text GPG key:
sudo rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
Add the Sublime Text repository:
sudo dnf config-manager addrepo --from-repofile=https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo
Install:
sudo dnf install sublime-text
VSCode
VSCode is a popular code editor with strong extension ecosystem and GitHub Copilot integration.
Import Microsoft’s GPG key:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
Add the VSCode repository:
echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null
Check for updates:
sudo dnf check-update
Install:
sudo dnf install code
Use Native Window Layout:
- CTRL+P > settings.json > add: “window.titleBarStyle”: “native”
- Restart VSCode.
Tabby
Tabby is a modern, feature-rich, and highly customizable cross-platform terminal app for local shells, serial, SSH and Telnet connections.
Find the latest release on Tabby GitHub, then install:
sudo dnf install https://github.com/Eugeny/tabby/releases/download/v1.0.223/tabby-1.0.223-linux-x64.rpm
Gaming
Steam
Steam is a game distribution platform by Valve. On Linux, it supports both native games and Windows games using Proton, a built-in compatibility layer that lets many Windows titles run smoothly.
The recommended way to install Steam on Fedora is via RPM Fusion.
Make sure RPM Fusion repositories are enabled:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Install:
sudo dnf groupupdate core
sudo dnf install steam
If Steam crashes, it may be due to a missing patch in the RPM Fusion build for NVIDIA systems using libglvnd
. This can cause Steam to fail at launch due to OpenGL initialization issues.
To work around this, try launching Steam with the following environment variable:
__GL_CONSTANT_FRAME_RATE_HINT=3 steam
Hit start and search for “Steam”. Right click and pick “Edit Application…”. Then edit Enviroment variables:

References:
https://gitlab.freedesktop.org/glvnd/libglvnd/-/issues/252#note_2851663
https://discussion.fedoraproject.org/t/steam-wont-launch-on-fedora-42-with-nvidia-drivers/148823/19
Fan Control and RGB
CoolerControl
CoolerControl is a fan and lightning control GUI with great support for laptops and desktops.
Install:
sudo dnf install dnf-plugins-core
sudo dnf copr enable codifryed/CoolerControl
sudo dnf install coolercontrol
sudo systemctl enable --now coolercontrold
OpenRGB
OpenRGB controls RGB lighting across multiple devices.
Install:
sudo dnf install openrgb
Customization
Folder hyperlink visuals
Remove the link-like hover effect from folder/file lists:
- Application Styles > Configure Style
- Uncheck “Draw focus indicator in lists“
ULauncher
ULauncher is a modern and beautiful extensible application launcher with theming and plugin support.
Install:
sudo dnf install ulauncher
Dark theme: https://github.com/kareemkasem/ulauncher-theme-libadwaita-dark
Install:
mkdir -p ~/.config/ulauncher/user-themes && git clone https://github.com/kareemkasem/ulauncher-theme-libadwaita-dark ~/.config/ulauncher/user-themes/
Extensions
Spotify: https://github.com/pywkm/ulauncher-spotify
Shut Down/Reboot/Suspend/Lock: https://ext.ulauncher.io/-/github-episode6-ulauncher-system-management-direct
Drivers
NVIDIA
Installing and getting NVIDIA drivers to work properly on Linux can be a challenge. However, I found this way to be the most compatible and stable. Tested on Fedora KDE Plasma 42 with NVIDIA GeForce RTX 3080 Ti. Everything is stable and working.
This method is fully integrated with Fedora’s update system. The akmod-nvidia
package automatically builds and installs the NVIDIA kernel module (nvidia.ko
) for your current kernel – and rebuilds it with kernel updates, using DKMS in the background. This ensures your drivers stay compatible without needing manual configuration or using the .run
installer from NVIDIA’s website.
Note about Secure Boot:
The locally built module (nvidia.ko
) is not signed, so the driver won’t load with Secure Boot enabled.
Either disable Secure Boot or sign the module manually with a trusted MOK key. However, signing must be done with every update to akmod.
Update system and reboot:
sudo dnf update -y
sudo reboot
Install kernel headers and development tools:
sudo dnf install kernel-devel kernel-headers gcc make dkms
Enable RPM Fusion repositories:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Install NVIDIA driver:
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
Reboot:
sudo reboot
Verify installation:
nvidia-smi
Conclusion
I hope this Fedora KDE Plasma Post Installation Guide was helpful and gave you a smoother start with Fedora KDE Plasma 42 or any other recent Fedora release. Whether you’re configuring drivers, installing essential apps, or fine-tuning your desktop, this guide aims to simplify the post-install process.
Feel free to share this Fedora KDE Plasma Post Installation Guide with others if you found it useful – especially on forums or communities where these questions come up often.