A cross-distro GUI tool for managing Linux desktop environments (DEs): installing, safely removing, snapshotting/restoring configuration, and (eventually) running parallel DE versions via container isolation.
Early skeleton. Backends for Arch-based distros (pacman + optional AUR) and
Debian-based distros (apt/dpkg — Debian, Ubuntu, Linux Mint, etc.) are
implemented. Runtime distro detection via /etc/os-release automatically
picks the right backend at startup.
include/IDEBackend.h— abstract backend interface (analogous toPackageBackendfrom KernelForge)include/DistroDetector.h,src/DistroDetector.cpp— parses/etc/os-release(checking bothIDandID_LIKE) and instantiates the matching backendinclude/backends/,src/backends/— per-distro implementationssrc/MainWindow.*,src/main.cpp— Qt6 Widgets GUI
Planned next:
FedoraDEBackend,OpenSUSEDEBackend,GentooDEBackend- Container mode (distrobox/Xephyr) for running alternate DE versions without conflicting with system packages
- Real version pinning for Debian-based distros via PPA/backport detection
git clone https://github.com/user14923929/deforge
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel $(nproc)
./build/deforgeDependencies: CMake ≥ 3.20, Qt6 (Widgets), a C++20-capable compiler.
GPL-3.0 — see LICENSE.