appdwarf

A tool to convert an AppDir or an existing AppImage file, either as a local file or from a URL, into a highly compressed portable image using dwarfs.

This is a small script and the bulk of the work is in the original dwarfs project, so all credit deserves to go there. This script has not been extensively tested so I cannot guarantee it will function without issue.

Requirements

In order to create the images, you will need:

If you only wish to run an existing appdwarf, only dwarfs is needed in PATH.

How to create an appdwarf

appdwarf can take both AppImage files and extracted AppDirs as input. If a file or folder is not found, appdwarf will also accept direct URLs to AppImages, links or names to GitHub repos with AppImages in their releases page, or names of programs that meet the GitHub criteria on AppImageHub. Any files that are found but are not AppImages will be compressed using zzexe.

The apps folder contains other scripts for specific programs that will download all necessary files and create a resulting appdwarf in the bin subfolder.

zzexe

zzexe is a small tool similar to gzexe that instead uses zstd to compress single applications. I’ve included it because it has a similar goal to appdwarf on the whole, just on a smaller scale.

I wrote it in part because I felt that gzexe was overly complicated, as I had been using lightly modified version of it that replaces gzip with zstd, and to add a couple additional features:

As of June 2022, zzexe has been integrated into the main appdwarf script. I have implemented a heuristic that should automatically detect regular files and run zzexe on them, however you can directly invoke it with the -z option.