Fedora KDE Plasma Post Installation Guide

Fedora Core Post Installation Guide

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

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 ~

Btrfs Assistant + btrbk

Btrfs Assistant and btrbk are powerful tools for managing system snapshots and backups on Fedora’s BTRFS filesystem.

Btrfs Assistant provides a user-friendly GUI to configure and automate local incremental snapshots, allowing you to set various intervals (e.g., daily, hourly) and retention policies, customized to fit your needs.

btrbk, on the other hand, transfers these local snapshots to an external source, like a USB drive or to remote locations, as incremental backups, ensuring your system can be restored easily.

Think of Btrfs Assistant as restore points in Windows – you can roll back your system to a previous state, but these snapshots are stored on your system’s disk, so they’re only accessible if the disk hasn’t failed completely. Like Windows recovery mode, you can access them using a Fedora Live USB if your system won’t boot, as long as the disk is intact.

btrbk acts as your true backup layer and safety net by storing these snapshots externally, protecting you even if your disk fails entirely.

A detailed setup guide for using Btrfs Assistant and btrbk will be covered in a future post.

Install:

sudo dnf install btrfs-assistant btrbk

Essential Apps

Browsers

Mullvad Browser

Mullvad Browser is a Swedish-based privacy-focused Mozilla-based 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:

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.

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 terminal app for local shells, serial, SSH and Telnet connections.

Install:

sudo dnf install -y $(curl -s https://api.github.com/repos/Eugeny/tabby/releases/latest | grep browser_download_url | grep 'linux-x64.rpm' | cut -d '"' -f 4)

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

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

RTX 5000 series note (as of May 2025): Fedora 42’s live installer does not properly support RTX 5000 series GPUs due to lack of Nouveau support. You may be limited to 800×600 resolution, which can break the installer UI.

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.

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

Special Note for RTX 4000 and Newer series

Skip this step and go to “Install NVIDIA driver if you are using the 3000 or earlier series.

If you’re using an NVIDIA 4000 or newer series GPU (e.g. 4060, 4080, 5070, 5090), Fedora requires an extra step to properly build and load the driver.

These GPUs rely on NVIDIA’s open kernel module, which isn’t enabled by default in Fedora’s akmod packaging.

To avoid issues, set the build macro before installing the driver. This is a one-time setting that tells Fedora to build the driver with nvidia-open support.

Set build macro:

sudo sh -c 'echo "%_with_kmod_nvidia_open 1" > /etc/rpm/macros.nvidia-kmod'

Install NVIDIA driver:

sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda

Special Note for RTX 4000 and Newer series

Skip this step and go to “Reboot if you are using the 3000 or earlier series.

You should manually rebuild the driver to ensure compatibility, especially after updates:

Rebuild the driver:

sudo akmods --kernels $(uname -r) --rebuild

Reboot:

sudo reboot

Verify installation:

nvidia-smi

Special Note for RTX 4000 and Newer series

If you’re stuck in 800×600 resolution, get a black screen after rebooting, or end up terminal (tty) instead of the graphical login, it likely means the NVIDIA kernel module wasn’t built correctly.

This can happen if the open kernel module flag wasn’t set before installing the driver, or if the driver failed to rebuild after a kernel update.

In that case, from a terminal (tty) run:

sudo akmods --kernels $(uname -r) --rebuild
sudo reboot

If you can’t access a terminal, reboot and select an older working kernel from GRUB > Advanced Options, then run the same commands there.

Special thanks to Damptoe on Reddit for sharing insights on the 4000+ series driver workaround.

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.

Categories: Desktop