This project contains a list of everything that makes linuxdeploy (more) awesome. Most importantly all kinds of plugins.
Contributions welcome! Please don't hesitate to send pull requests adding new plugins.
The following list should be considered incomplete. Please feel free to send pull requests to add your plugin!
Input plugins can be used to bundle additional resources for frameworks, languages etc. into the AppDir, which would otherwise impossible to discover. They can be enabled by adding
--plugin <name>, e.g.,
- linuxdeploy-plugin-qt bundles Qt plugins, translations, QML files etc. into the AppDir.
- linuxdeploy-plugin-conda creates a Miniconda environment that can be used to bundle Python software or provide a portable Python interpreter to software that uses Python for scripting.
- linuxdeploy-plugin-python wraps a vanilla Python build inside an AppImage. The primary focus is to provide a close to native Python work environment: ready to use, portable and isolated. It can also be used as a minimalist starting point for a Python based application.
- linuxdeploy-plugin-checkrt is a fork of AppImageKit-checkrt. The experimental plugin allows for bundling a copy of libstdc++ together with the other libraries, allowing AppImages to ship with newer C++ libraries than the target systems support. This allows for using newer C++ standards on distributions which they normally wouldn't support.
Output plugins can be used to automatically create output formats like AppImages from the AppDir in a single call. They can be enabled by adding
--output <name>, e.g.,
Projects using linuxdeploy
Many projects use linuxdeploy already to build AppDirs (and in most cases AppImages). This is a (really incomplete) collection of example projects which showcase how to use linuxdeploy, and might serve as an inspiration for your own scripts.
- linuxdeploy, linuxdeploy-plugin-qt: Of course, our tools are shipped as AppImages. The scripts aren't overly interesting, you find better information in the AppImage packaging guide.
- Pext, the Python Extendable Tool: They use linuxdeploy to create AppImages for their Python GUI software using linuxdeploy-plugin-conda. It uses PyQt5, which turned out to be a little problematic to bundle. However, after a lot of work, the team managed to create a not-so-long script to build AppImages. Python app developers who intend to ship their app as AppImage might find the script useful.
- Calamares, the cross-distro installer framework: AppImage building has been added recently in the form of a build script in the repository. Calamares uses Python modules for some installation tasks via boost-python, hence there was an interest in bundling a Python interpreter via linuxdeploy-plugin-conda. This added some complexity to the build process, though, as now, Calamares must be built against this Python distribution, and may not use the system one. If your project uses Python through some wrapper like boost-python and you are curious to see how to successfully build AppImages for such an application, please check out the Calamares AppImage build script.
- AppImageUpdate, the efficient AppImage updating solution: AppImageUpdate provides both a Qt-based UI and a CLI tool. Both are easy to bundle into AppImages, the challenge here is to build two AppImages from one build directory. The build script shows that it's not difficult, and may serve people in a similar situation as source for inspiration.
- MediaElch is a MediaManager for Kodi that provides information about movies, TV shows etc. Also works with other media centers. They use a variety of plugins to bundle their software and assemble an AppImage. Please refer to the build script for more information on their usage of linuxdeploy.