1
0
Fork
You've already forked distro-rack
1
No description
  • C++ 53%
  • QML 45%
  • CMake 2%
Find a file
2026年01月12日 21:00:36 +08:00
.github fix(CI): failure caused by GH token when running action-gh-release 2026年01月12日 21:00:36 +08:00
dist chore: update release info to 0.2.1 2025年11月01日 17:45:26 +08:00
qml chore: more UI tweaks/fixes for both DDE and KDE 2025年09月03日 19:15:57 +08:00
translations i18n: Translations update from Codeberg Translate 2025年10月22日 22:09:50 +00:00
.editorconfig init commit 2025年08月26日 22:23:13 +08:00
.gitignore init commit 2025年08月26日 22:23:13 +08:00
CMakeLists.txt chore: update release info to 0.2.1 2025年11月01日 17:45:26 +08:00
ContainerModel.cpp init commit 2025年08月26日 22:23:13 +08:00
ContainerModel.h init commit 2025年08月26日 22:23:13 +08:00
DistroboxManager.cpp chore: UI tweaks and ensure details page also updated when refresh 2025年09月02日 23:13:31 +08:00
DistroboxManager.h init commit 2025年08月26日 22:23:13 +08:00
ExportableAppsModel.cpp init commit 2025年08月26日 22:23:13 +08:00
ExportableAppsModel.h init commit 2025年08月26日 22:23:13 +08:00
KnownDistros.cpp init commit 2025年08月26日 22:23:13 +08:00
KnownDistros.h init commit 2025年08月26日 22:23:13 +08:00
LICENSE init commit 2025年08月26日 22:23:13 +08:00
main.cpp chore: proper way to load translations 2025年09月21日 21:05:23 +08:00
NEWS chore: update release info to 0.2.1 2025年11月01日 17:45:26 +08:00
README.md chore: add translation link to README 2025年09月03日 20:38:33 +08:00
README.zh_CN.md chore: add translation link to README 2025年09月03日 20:38:33 +08:00
StateManager.cpp init commit 2025年08月26日 22:23:13 +08:00
StateManager.h feat: add settings dialog to set preferred terminal 2025年09月01日 19:57:12 +08:00
TaskModel.cpp init commit 2025年08月26日 22:23:13 +08:00
TaskModel.h init commit 2025年08月26日 22:23:13 +08:00
TerminalManager.cpp init commit 2025年08月26日 22:23:13 +08:00
TerminalManager.h init commit 2025年08月26日 22:23:13 +08:00

DistroRack - A Qt/QML-based GUI for Distrobox Containers

English | 中文

CI Build Status CI Builds
deepin 25 deepin 25 CI Get Latest CI Builds

DistroRack is a feature-rich graphical interface for creating and managing Distrobox containers on Linux, written in C++/QML.

Features

Note

The project is quite young, some of the features are still WIP.

  • GUI for Distrobox container management
    • Create, import, clone, remove containers
    • Export/unexport apps inside containers to your host OS
  • Qt/QML based GUI with optional desktop environment integration:
    • DDE
    • KDE
  • Custom terminal emulator support with the following ones supported out-of-the-box
    • deepin-terminal
    • konsole
    • kitty
    • alacritty
    • ..and more

Build

Once you cd to the project root, run the following commands:

$ cmake -Bbuild .
$ cmake --build build

Once built, binary will be located at /build/distro-rack.

To generate a .deb package, simply cd to the build directory and use CPack:

$ cpack -G DEB

Why another GUI for Distrobox

This project is heavily inspired by DistroShelf. I originally plan to port DistroShelf to deepin 25, but sadly DistroShelf requires a pretty up-to-date version of gtk-rs and libadwaita which requires a pretty recent version of gtk4-sys that deepin 25 might not be able to ship in the near future, thus impossible to build. While flatpak is available in deepin, using flathub packages are extremely hard if the end-user doesn't have a decent network, especially for deepin users who mostly live in China mainland.

By making a Qt-based GUI for distrobox, we bring the possibility to make it look more system-native on Qt-based DEs (mainly for DDE in this case, KDE is also supported as well, and fallback to a generic Qt/QML GUI for other DEs), and make it directly usable under deepin 25 with a simple dpkg -i (or maybe apt install in the future), without the need of fiddling with flatpak mirrors or proxies.

This project is also an experimental project to test if and how the LLM-based tooling could help in project development. I might write a blogpost related to this topic later.

Contribution

Beside feedback and code contribution, other contributions are also welcome!

Translation

Translate into your language on Codeberg's Weblate instance

Funding

ko-fi

AfdianAfdian | 爱发电

License

DistroRack as a whole is licensed under MIT license. Individual files may have a different, but compatible license.