A single-command post-install setup script for Fedora 44 KDE Plasma Desktop, optimised for the Intel N100 mini PC. Installs and configures development tools, Tailscale VPN, Intel hardware acceleration, media codecs, KDE extras, and Flatpak applications automatically.
Setting up a fresh Fedora install involves dozens of manual steps — adding repositories, installing packages, configuring services, and tweaking system settings. This script automates all of it in a single run, following official documentation from Fedora, Tailscale, RPM Fusion, and Docker.
Tested and verified on a live Fedora 44 KDE install — June 2026.
Specifically tuned for:
- Fedora 44 (DNF5 exclusively)
- KDE Plasma 6.6 desktop environment
- Intel N100 (Alder Lake) integrated graphics with full VA-API hardware acceleration
# Download the script
curl -O https://raw.githubusercontent.com/YOUR_USERNAME/YOUR_REPO/main/fedora-setup.sh
# Make it executable
chmod +x fedora-setup.sh
# Run as root
sudo bash fedora-setup.shAfter the script completes:
sudo tailscale up # Connect to your Tailnet
sudo reboot # Apply kernel tweaks and drivers- Full system update and upgrade via
dnf upgrade --refresh - RPM Fusion Free and Non-Free repositories with AppStream data for KDE Discover
- DNF5 tuning — parallel downloads, fastest mirror selection
| Tool | Purpose |
|---|---|
bat |
Better cat with syntax highlighting |
btop |
Modern resource monitor |
fastfetch |
System info display (replaces neofetch) |
fzf |
Fuzzy finder |
fd-find |
Fast alternative to find |
ripgrep |
Fast grep alternative |
neovim |
Modern text editor |
tmux |
Terminal multiplexer |
zsh + Oh My Zsh |
Default shell |
- Build essentials — GCC 16, G++, Clang, CMake, Make
- Languages — Python 3, Node.js 22, Go, Rust, Ruby, Java 25
- Containers — Podman, Podman Compose, Buildah, Skopeo
- Docker CE — Official Docker Engine with Compose and BuildKit plugins
- Git with Git LFS
- Adds the official Tailscale repository for Fedora
- Installs and enables the
tailscaleddaemon on boot - Authenticate after setup with
sudo tailscale up
intel-media-driver— iHD driver for 12th Gen Intel graphics- Full VA-API stack —
libva,libva-utils,libva-intel-driver - Mesa Vulkan and VA drivers
LIBVA_DRIVER_NAME=iHDset system-wide for hardware video decode
- FFmpeg 8, GStreamer plugins (good, bad, ugly, freeworld)
- VLC, MPV, LAME, GStreamer VA-API plugin
kdeconnect— phone and desktop integrationkate— advanced text editorark— archive managerkdeplasma-addons— additional widgetsplasma-discover-flatpak— Flatpak support in KDE Discoverplasma-browser-integration— browser control from KDE- KDE Connect firewall rules configured automatically
| App | Category |
|---|---|
| Brave Browser | Web browser |
| Discord | Communication |
| VSCodium | Code editor |
| GitHub Desktop | Git GUI |
| GIMP | Image editing |
| Krita | Digital painting |
| Kdenlive | Video editing |
| LibreOffice | Office suite |
| Flatseal | Flatpak permissions manager |
| Warehouse | Flatpak app manager |
| Tweak | Value | Reason |
|---|---|---|
vm.swappiness |
10 | Reduces swap, better for SSD |
vm.dirty_ratio |
10 | Improved NVMe write performance |
vm.dirty_background_ratio |
5 | Smoother background writeback |
net.core.rmem/wmem_max |
128MB | Better network buffer performance |
fstrim.timer |
Enabled | Weekly SSD/NVMe TRIM |
firewalld |
Enabled | System firewall active on boot |
| DNF parallel downloads | 10 | Faster package installs |
- Fedora 44 KDE Plasma Desktop
- Internet connection
sudo/ root access
Several package names changed in Fedora 44 / DNF5. If verifying manually use these exact names:
| Old name | Fedora 44 name |
|---|---|
neofetch |
fastfetch |
nodejs |
nodejs22 |
npm |
nodejs22-npm |
fd |
fd-find |
java-21-openjdk |
java-25-openjdk-devel |
dnf groupinstall |
dnf group install |
"Development Tools" |
development-tools |
Post-install verification — the script runs this automatically at the end:
rpm -q bat btop fd-find fzf git neovim tmux zsh fastfetch \
gcc gcc-c++ clang cmake golang nodejs22 nodejs22-npm python3 \
cargo rust podman buildah skopeo \
tailscale docker-ce intel-media-driver libva ffmpeg 2>&1 | grep "not installed"No output = everything installed correctly.
# 1. Connect to your Tailnet
sudo tailscale up
# 2. Reload systemd (clears any unit file warnings)
sudo systemctl daemon-reload
# 3. Log out and back in (Docker group and zsh shell changes)
# 4. Reboot (applies kernel tweaks and Intel graphics drivers)
sudo reboot| Component | Source |
|---|---|
| Tailscale | pkgs.tailscale.com/stable |
| RPM Fusion | rpmfusion.org/Configuration |
| Docker CE | Fedora Developer Portal |
| Fedora 44 Release Notes | Fedora Magazine |
| KDE Plasma 44 | Fedora Magazine KDE |
- Safe to run on a live system —
dnf installskips already-installed packages - Both Podman and Docker CE are installed — Podman is rootless by default
- Oh My Zsh only installs if
~/.oh-my-zshdoes not already exist - Flatpak apps that fail to install are skipped with a warning — the script will not stop
- KDE Plasma 6.6 on Fedora 44 uses Plasma Login Manager (PLM), not SDDM
MIT — free to use, modify, and distribute.
Pull requests welcome. If a package name changes, a repo URL moves, or a new Fedora version requires different syntax, please open an issue or PR.