A graphical package manager for Fedora Linux and KDE Plasma.
Native DNF and Flatpak package management with live terminal execution, security advisories, and system telemetry.
DNF Package Manager provides a desktop interface for maintaining Fedora systems without obscuring the underlying package operations. It invokes standard DNF and Flatpak executables directly, streams execution logs in real time, and offers tools for repository management, rollback history, and update scheduling.
| Capability | Highlights |
|---|---|
| Unified Updates | Combined DNF and Flatpak upgrades, security-specific advisories, and download size previews. |
| Package Management | Search, inspect, and remove RPM packages and Flatpaks from a single application. |
| Flathub Integration | Search and install applications from the global Flathub remote. |
| Discover Coordination | Suppress duplicate update notifications from KDE Discover and manage PackageKit services. |
| Process Control | Cancel ongoing package transactions cleanly with process group termination. |
| Live Terminal | Stream command output line-by-line with execution timestamps and exit status indicators. |
- Combined updates view. Monitor pending DNF packages, Flatpak applications, and security advisories from one dashboard.
- Sequential upgrades. Run system package upgrades and Flatpak updates consecutively in a single terminal session.
- Security-focused upgrades. Target CVE advisories exclusively with
dnf upgrade --security. - Pre-upgrade transaction summaries. Inspect total package counts and estimated download footprints before confirming transactions.
- Reboot notifications. Detect when kernel, systemd, or glibc upgrades require a reboot, with an integrated restart button.
- Package inspection. View package version, architecture, repository, installed size, and license metadata directly from package cards.
- Installed package browser. Filter, search, and inspect all installed RPM packages.
- Orphan cleanup. Remove packages alongside orphaned dependencies to keep system state clean.
- Flathub catalog search. Discover, install, update, and remove Flatpak applications.
- Runtime maintenance. Reclaim disk space by pruning unreferenced Flatpak runtimes.
- Hardware and distribution metrics. Monitor CPU, GPU, memory, and disk usage alongside Fedora and KDE Plasma versions.
- Quick repositories. Toggle RPM Fusion Free, RPM Fusion Non-Free, and Flathub remotes.
- Firmware updates. Query and deploy device firmware updates via
fwupdmgr. - Transaction history and rollback. Audit historical DNF transactions and reverse accidental package installations or upgrades.
- Discover coordination. Silence KDE Discover update prompts to prevent redundant desktop notifications, with optional PackageKit service masking.
- Background update checker. Configure scheduled update scans and enable an automatic login reminder (
dnf-gui --check). - Granular alert rules. Configure independent Flatpak update notifications when system package reminders are set to security-only mode.
- Optional passwordless upgrades. Create a validated sudoers drop-in (
/etc/sudoers.d/90-dnf-gui) allowing unattendeddnf upgradeexecution while keeping package additions and removals protected.
- Appearance options. Switch between dark and light themes styled for KDE Plasma Breeze.
- Theme-reactive icons. Vector icons automatically adjust strokes and fills to match system color schemes.
- Interactive terminal. Review live command output with auto-scrolling, clear controls, and responsive process cancellation.
| Shortcut | Action |
|---|---|
Ctrl+1 through Ctrl+9 |
Navigate between pages |
Ctrl+R |
Refresh current view |
Ctrl+F |
Focus search input on Installed, Flatpak, and Repository pages |
- Fedora Linux 40 or newer
- Python 3.12 or newer
- PyQt6 6.6.0 or newer
- DNF package manager
- polkit (for administrative privileges)
- sudo (standard on Fedora installations)
- Flatpak (optional, for Flatpak features)
- fwupd (optional, for firmware upgrades)
Install the signed release package directly through DNF:
sudo dnf install https://github.com/grpace/Fedora-DNF-GUI-Tool/releases/latest/download/DNF-Package-Manager-v1.1.1.rpmAlternatively, download DNF-Package-Manager-v1.1.1.rpm manually from GitHub Releases and run:
sudo dnf install ~/Downloads/DNF-Package-Manager-*.rpmgit clone https://github.com/grpace/Fedora-DNF-GUI-Tool.git
cd Fedora-DNF-GUI-Tool
sudo ./install.shThe installation script places application files in /opt/dnf-gui, configures /usr/bin/dnf-gui, and installs application icons and desktop entries.
Run the project directly from the source directory:
git clone https://github.com/grpace/Fedora-DNF-GUI-Tool.git
cd Fedora-DNF-GUI-Tool
PYTHONPATH=src python3 -m dnf_guiLaunch the application through the KDE application launcher under System, or from the terminal:
dnf-guiRun a non-interactive update check (used by the background login reminder):
dnf-gui --checkExit status codes:
0: System is up to date or check completed without action.2: Updates are pending.
To remove RPM installations:
sudo dnf remove dnf-guiTo remove source installations:
sudo ./install.sh remove- Unprivileged data access. All query operations (search, update checks, package inspection, telemetry) execute with standard user permissions.
- Standard polkit elevation. Administrative tasks run through
pkexec, prompting with standard desktop authorization dialogs. - Constrained sudoers configuration. The optional passwordless upgrade rule restricts non-interactive privilege exclusively to
dnf upgradeanddnf update. Package removals, installs, and repository modifications always require authorization. - Safe argument handling. Operations execute through structured process argument lists without shell interpolation.
Contributions and bug reports are welcome on GitHub.
Maintainers can review RELEASING.md for version release and packaging procedures.
Distributed under the GPL-3.0 License. See LICENSE for terms.
Author: Greg.Tech — https://greg.tech