Giter Site home page Giter Site logo

awesome-appimage's Introduction

Awesome AppImage

Lovingly crafted AppImage tools and resources. Follow me on Twitter.


Awesome AppImage Awesome

AppImage is a format to distribute applications to various mainstream Linux distributions. One app = one file! As the vibrant community around AppImage is growing, so is this list.

Contents

AppImage discovery

App catalogs

  • AppImage.GitHub.io - Catalog of AppImages that passed an automated test, links to upstream download pages.
  • Get AppImage - Collection of all AppImages in one website. Great search functionality.

App stores

  • AppImageHub.com - Downloadable AppImages, powered by Opendesktop.org.
  • pling.com - Open store where creators can publish their libre products and creative content including AppImages.
  • App Outlet - Universal app store that works with AppImages, Flatpaks and Snaps.
  • Linux App Store - Universal app store for Linux applications in AppImage, Flatpak, and Snap formats (project abandoned).

App centers

App scrapers

AppImage consumption tools

Desktop integration

  • go-appimaged - Optional daemon that integrates AppImages into the system (experimental).
  • appimaged - Optional daemon that integrates AppImages into the system (deprecated).
  • AppImageLauncher - Integrates into users' systems and establishes a single ~/Applications directory, assisting the user to move AppImages into there, with support for updating and removing AppImages through apps launcher.
  • appimage2desktop - Creates a desktop file and an icon in the system for an AppImage, nothing else.
  • appimagehelper - Program for creating, deleting, controlling and organizing shortcuts to AppImage.
  • LinuxPA - PortableApps.com type launcher for Linux with AppImage support.
  • AppImage Desktop Maker - Creates menu entries for AppImages without the need for a daemon.

Updaters

  • AppImageUpdate - Official grapical application to update AppImages; command-line tool to update AppImages.
  • AppImageUpdater - Simple updater for humans written in C++ and Qt.
  • appimage-update - AppImage Update implementation written in Go.

Sandboxes

  • Firejail - Optional sandbox with support for AppImage built in.

Package managers

Note: The AppImage format is explicitly designed not to need any package managers or similar tools. Everything can be done in the file manager (and an optional daemon for system integration).

  • appimage-manager - Command-line tool for managing AppImages allowing to search, install, remove and update applications.
  • bauh - Graphical user interface for managing Linux applications supporting AppImage, Arch (repositories/AUR), Flatpak, Snap and native Web applications.
  • homebrew-appimage - Linuxbrew AppImage Formulae.
  • AIPM - A Package Manager for AppImages.
  • Zap - AppImage package manager. Downloads the AppImage if it does not exist. If it already exists, updates it with AppImageUpdate. Integrates AppImage into the system.

Linux distributions

Although the AppImage format was carefully designed not to need any special support from Linux distributions, there are some that offer varying degrees of AppImage friendliness out of the box.

  • Deepin - When you double-click an AppImage or any other executable file that lacks execute permissions, a user-friendly dialog explains the situation and asks for your permission to set the execute permission and execute the executable.
  • Nitrux - Promotes the use of AppImage as the main format for getting applications, has a built in app center featuring AppImages.

AppImage developer tools

Low-level tools

Build systems

  • appimagecraft - Recipe based AppImage creation tool working from source.
  • appimage-builder - Recipe based AppImage creation tool working from source.
  • KDE Craft - Build system used by KDE that can produce AppImages and other formats.
  • appimage-tooling - Ruby tooling to generate Appimages.

Deployment tools for compiled applications

  • go-appimagetool - Tool that deploys dependencies into AppDirs, and converts AppDirs into AppImages (experimental).
  • linuxdeployqt - Deploys dependencies into AppDirs and creates AppImages; for Qt and other compiled applications.
  • linuxdeploy - AppDir creation and maintenance tool using plugins.

Deployment tools for Python applications

  • python-appimage - Ready to use AppImage distributions of Python (can be modified to include your application).
  • linuxdeploy-plugin-python - Bundle Python into an AppDir using a source distribution and linuxdeploy.
  • linuxdeploy-plugin-conda - Bundle Python into an AppDir using a source distribution, Conda, and linuxdeploy.
  • Briefcase - Convert Python project into a standalone native application, e.g., using AppImage.
  • pycharm-appimage-support - Deploy Python project as an AppImage directly from the PyCharm IDE.
  • PyAppImage - Ultimately simple python-to-appimage bundler.

Deployment tools for Electron applications

Deployment tools for Windows applications

  • wine32-deploy - Creates AppImages for 32-bit Windows applications that can run on 64-bit Linux systems without multilib installed.
  • AppImage For WINE - WINE-based AppImages and LD_PRELOAD based patches to launch WINE from AppImages.

Deployment tools for Java applications

  • nbPackager - Packages NetBeans Platform Application with a JRE for AppImage, Linux, macOS and Windows.

Deployment tools for .NET Core (Mono) applications

  • .NET Core AppImage example - Example of how to deploy .NET Core (Mono) applications as an AppImage using dotnet publish -f netcoreapp3.1 -r linux-x64 from within a .cs program.

Tools to convert from other package formats

  • pkg2appimage - Converts from deb, zip, tar.gz and other formats to AppImage using YAML recipes.
  • appimage2pkg - Repack AppImage and make rpm/deb which does not require FUSE.
  • flatpak2appdir - Turn Flatpak into AppDir which in turn can be turned into AppImage.
  • make-portable - Deploys installed application to AppDir, uses strace to fetch all file system calls and copies all accessed files in to AppDir including glibc.
  • AppImage cobbler - Python application that takes strace.log and turns it into a directory suited for an AppImage.
  • Elements - Tool to generate single-file, runc-based AppImages using a minimal (~3 MB compressed) Alpine Linux rootfs.

Metadata tools

  • AppStream Generator - Very simple generator for AppStream MetaInfo files which application authors can use to add metadata (like descriptions, screenshots, links) to their AppImage.
  • AppStream MetaInfo Creator - More elaborate generator for AppStream MetaInfo files by the author of the AppStream metainfo format.

QC tools

  • AppImage.GitHub.io - Automated test running on Travis CI to ensure that AppImages can run on the oldest still-supported Ubuntu LTS release.
  • appimage-testsuite - AppImage testing environment based on Docker containers for various Linux distributions.
  • appimagelint - Tool to check AppImages for compatibility, best practices etc.

Continuous integration

Libraries

  • AppImageUpdaterBridge - Qt5 library and plugin for updating AppImages, can be embedded into applications.
  • AppImageServices - D-Bus services providing a high-level interface over the AppImage manipulation libraries for file managers, software centers and other tools.
  • libappimage - Implements functionality for dealing with AppImage files, written in C++ using Boost.
  • libzsync-go - Zsync implementation written in Go that can be used to update AppImages.

Templates

  • Qt Desktop Template - Template for creating Qt Widgets desktop applications with AppImage generation using linuxdeployqt.
  • qt-hello-world - Qt Hello World project for AppImage creation using appimage-builder.
  • qt-qml-project-template-with-ci - Template for a Qt/QML application with batteries included: GitHub CI, automated GUI testing, automatic code-format checks and more. Compiles for Linux (AppImage), Mac, and Android.
  • mini-qml - Minimal Qml application template with deployment for Linux (AppImage), Windows, macOS and WebAssembly.
  • wxWidgetsTemplate - Cross-platform application template for wxWidgets C++, with pre-set files and IDE projects, supporting AppImage.
  • Briefcase Linux AppImage Template - Cookiecutter template for building Python apps that will run under Linux, packaged as an AppImage.

Resources

Specs

Documentation

Tutorials

Articles

Videos

Books

  • Mastering Qt 5 - Contains a section on how to package and deploy Qt applications for Linux using linuxdeployqt.

Blogs

Courses

Community

Miscellaneous

  • appimage.org - Official AppImage landing page.
  • AppImage wiki - Official AppImage wiki.
  • AppImageZip - Experimental pure Rust implementation of the AppImage runtime that uses Zip as the backing file system image.
  • help-wanted - AppImage issues that the AppImage team would like your help with. A great way to get started contributing to the project.

Related

Other awesome lists

awesome-appimage's People

Contributors

probonopd avatar azubieta avatar spekulatius avatar theassassin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.