Git Product home page Git Product logo

awesome-appimage's Introduction

Awesome AppImage

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


Awesome AppImage Awesome

AppImage is a community-based format to distribute applications to various mainstream Linux distributions without the need for a centralized store. One app = one file! This list contains tools to work with AppImages, such as to create AppImages for applications and to integrate AppImages into the system easily. 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

  • NX Software Center - Portable Software Center for portable AppImage applications.
  • AppImagePool - Simple, modern AppImageHub Client, powered by flutter.

App scrapers

AppImage consumption tools

Desktop integration

  • Getting Started Managing Software with AppImage on Ubuntu - Verbosely explains how to manage AppImages without the need for further software.
  • 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.
  • Thumbnailer for AppImages - Generates icons for AppImages that are shown in file managers of GNOME and KDE compatible desktop environments.
  • AppImage To Gnome - Monitors and (de)installs AppImages from the Gnome desktop.

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

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.
  • RookiePM - Package manager for AppImages and Shell Scripts.
  • AppMan - AppImage Manager that works like APT or Pacman.

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.
  • AppImage.cmake - CMake script which facilitates generating AppImage executables for Linux.

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

  • electron-builder - Supports AppImage as an output format.
  • Appnativefy - Create AppImage with embedded Electron browser from any website.

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.
  • ferion11/Wine_Appimage - AppImage for WINE 32bits from PlayOnLinux, an run on no-multilib systems.

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

Deployment tools for Flash applications

Deployment tools for Rust applications

  • Cargo AppImage - Cargo program that allows you to convert your Rust programs into AppImages.

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-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

  • QAppImageUpdate - 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 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

18fadly-anthony avatar antony-jr avatar azubieta avatar probonopd avatar spekulatius avatar theassassin 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.