Skip to content

user14923929/deforge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEForge

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.

Status

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.

Architecture

  • include/IDEBackend.h — abstract backend interface (analogous to PackageBackend from KernelForge)
  • include/DistroDetector.h, src/DistroDetector.cpp — parses /etc/os-release (checking both ID and ID_LIKE) and instantiates the matching backend
  • include/backends/, src/backends/ — per-distro implementations
  • src/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

Building

git clone https://github.com/user14923929/deforge
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel $(nproc)
./build/deforge

Dependencies: CMake ≥ 3.20, Qt6 (Widgets), a C++20-capable compiler.

License

GPL-3.0 — see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages