Skip to content

beardedlearza/Fedora-post-Install-script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Fedora 44 KDE Plasma — Automated System Setup Script

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.


Overview

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

Quick Start

# 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.sh

After the script completes:

sudo tailscale up   # Connect to your Tailnet
sudo reboot         # Apply kernel tweaks and drivers

What Gets Installed

System

  • 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

CLI Essentials

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

Development Tools

  • 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

Tailscale

  • Adds the official Tailscale repository for Fedora
  • Installs and enables the tailscaled daemon on boot
  • Authenticate after setup with sudo tailscale up

Intel N100 Graphics (Alder Lake)

  • 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=iHD set system-wide for hardware video decode

Media Codecs

  • FFmpeg 8, GStreamer plugins (good, bad, ugly, freeworld)
  • VLC, MPV, LAME, GStreamer VA-API plugin

KDE Plasma 6.6 Extras

  • kdeconnect — phone and desktop integration
  • kate — advanced text editor
  • ark — archive manager
  • kdeplasma-addons — additional widgets
  • plasma-discover-flatpak — Flatpak support in KDE Discover
  • plasma-browser-integration — browser control from KDE
  • KDE Connect firewall rules configured automatically

Flatpak Applications (via Flathub)

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

System Tweaks

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

Requirements

  • Fedora 44 KDE Plasma Desktop
  • Internet connection
  • sudo / root access

Fedora 44 Specific Notes

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.


After Setup

# 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

Verified Against Official Documentation

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

Notes

  • Safe to run on a live system — dnf install skips already-installed packages
  • Both Podman and Docker CE are installed — Podman is rootless by default
  • Oh My Zsh only installs if ~/.oh-my-zsh does 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

License

MIT — free to use, modify, and distribute.


Contributing

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.

About

a post script created to install selected packages automatcily & some system tweeks specfic for a N100 system

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages