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 ~

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:

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

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.

Categories: Desktop