SkillAgentSearch skills...

ArchImage

Build AppImage packages for all distributions but including Arch Linux packages. Powered by JuNest.

Install / Use

/learn @ivan-hc/ArchImage
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

ArchImage is the bundling of Arch Linux packages into an AppImage using JuNest.

This allows you to use the latest programs from Arch Linux and AUR on every distribution, old or newer.

Being this a container into an AppImage, it has its own "bubblewrap" or "proot" to work using its inbuilt resources, including GLIBC, so it can run also on 10+ years old GNU/Linux distributions.

From version 5.0, the CLI also supports scripts for SHARUN-based Anylinux AppImages

If you have already installed archimage-cli, please run

archimage-cli -s

...to use the latest version.

Archimage combines the flexibility of JuNest with the portability of an AppImage, offering the ability to package all the software available in the official Arch Linux repositories, the AUR and ChaoticAUR.

SEE IT IN ACTION

In this video, how to create an Archimage 5.0 of Abiword.

https://github.com/user-attachments/assets/231da48c-8b1f-49f1-8f40-8d439f0ccfae

Video sped up due to GitHub limitations for media uploads. Real-time 3 minutes and 30 seconds.


Index


Installation

Usage

Hardware Acceleration

Compared to classic AppImage construction

Credits

Related projects


Installation

Download the main script and made it executable:

wget https://raw.githubusercontent.com/ivan-hc/ArchImage/main/archimage-cli
chmod a+x ./archimage-cli

USAGE:

archimage-cli [OPTION]
archimage-cli [OPTION] [PROGRAM]

OPTIONS:

-h,--help		Shows this message.
-v,--version		Shows the version.
-b,--build		Create the script to build the AppImage.
-s,--sync		Update archimage-cli to the latest version.
--devmode-enable	Use the development branch (at your own risk).
--devmode-disable	Undo "--devmode-enable" (see below).

| Back to "Index" | | - |


What to do

To prevent problems of any kind, dedicate a single directory to the created script, proceed as follows:

  1. create the script;
  2. create an empty directory, the name must not contain spaces, for example "tmp" or "test";
  3. move the script you created to the directory in step 2;
  4. open a terminal in the directory created in step 2;
  5. run the script inside the directory, like this: ./sample-junest.sh

NOTE, older versions are significantly slower to build.

Pay attention to the file extension, it must contain the version of Archimage used, for example

Appname-$VERSION-archimage5.0-x86_64.AppImage

Always try to get the latest version to build your Appimages (see "Extensions (and what they mean)", below).


What NOT to do

Here's what absolutely NOT to do when running a script you created:

  • DO NOT DRAG THE CREATED SCRIPT INTO THE TERMINAL! The script only works if run in place, see point 5 above.
  • DO NOT RUN THE CREATED SCRIPT IN YOUR $HOME DIRECTORY! The script will use the directory where it is run as $HOME. You must follow points 2, 3 and 4 above.
  • DO NOT RUN THE CREATED SCRIPT IN ANY OTHER DIRECTORIES! Create an empty one and dedicate that to the script. Again, just follow points 2, 3 and 4 above.
  • DO NOT USE THE SAME DIRECTORY FOR TWO DIFFERENT APPLICATIONS! Create a new one for each new script created.

Follow the steps at "What to do" and watch the "video example" above.

Referenced issues https://github.com/ivan-hc/ArchImage/issues/19 and https://github.com/ivan-hc/ArchImage/issues/23

| Back to "Index" | | - |


Extensions (and what they mean)

You can recognize an Archimage by the form of its file name.

$APPNAME_$VERSION-archimage5.0-x86_64.AppImage

...in the example, you see the term "archimage5.0". This term indicates characteristics that differentiate it from other Archimages, whether it's from a specific release or not.

In fact, the script and the CLI don't go hand in hand:

  • The CLI is used to adapt the script based on your primary needs (naming the app, its binary, adding additional repositories, and Nvidia hardware acceleration).
  • The script may change from time to time depending on improvements made to the way AppImages are built.

In this sense, here's what the terms you'll most often see (in my repositories) mean:

  • archimage3.5 - This is an old version, it relies solely on BuubbleWrap, so it won't work on some systems.
  • archimage4.0 - Introduces Nvidia hardware acceleration for the first time in this project.
  • archimage4.2 - Alternates BubbleWrap with PROOT, so it runs on almost any distro. Also, the AppImage supports Delta updates.
  • archimage4.3 - Faster and less resource-intensive build scripts, with greater automation in processes.
  • archimage4.8/4.9 - Build only (no release). Moved the local Nvidia driver directory from ~/.local/share/Conty to ~/.cache/junest_shared.
  • archimage5.0 - Moved the common processes of all scripts into a single script in this repository. Library selection via SHARUN. Reduced build scripts for easier reading and, more importantly, customization.

| Back to "Index" | | - |


Step by step guide

Before proceeding, make sure you have understood "What to do" and above all "What NOT to do"!

Also, THIS GUIDE APPLIES TO ARCHIMAGE 5.0 OR HIGHER!

Archimage 4.3 or lower are considered OBSOLETE and UNSUPPORTED.

1. Create the script

Use the option -b or --build, example with "obs-studio"

./archimage-cli -b obs-studio
<img width="747" height="798" alt="Istantanea_2025-10-22_00-57-36" src="https://github.com/user-attachments/assets/0b18343b-e480-4f71-a474-0016bfe3a79b" />

The first question is about creating an Archimage script (1, default), a SHARUN-based Anylinux script (2) or press any other key to abort.

The two scripts are not much different:

The JuNest-based script supports more configurable variables and an editable AppRun and body in general. The SHARUN-based is efficient, but lacks of configurations. Also the AppRun come from a preset.

The JuNest-based Appimage (Archimage) is a portable container, so it relies on its own resources, while mounts few other files and directories using BubbleWrap or Proot (depending on system's restrictions), so it is not much integrated with the host system. On the contrary, SHARUN-based AppImages are more independent and work in harmony with other applications.

To learn more about Anylinux AppImages, visit https://github.com/pkgforge-dev/Anylinux-AppImages

Choose the script you prefer.

NOTE, both the scripts use JuNest in Bubblewrap mode (requires unrestricted Namespaces) in the build process. See here for more context.

2. Add binary name

The CLI will ask you if you want to specify the name of the binary or leave blank if the name is the same of [PROGRAM]. In most cases we can leave blank, but for some applications, like OBS Studio, the executable name is different, in our case it is obs

<img width="701" height="78" alt="Istantanea_2025-10-22_01-25-18" src="https://github.com/user-attachments/assets/90aceb33-30a8-4eb2-a76f-587c0940ef87" />

If you're not sure about the name of the main executable, use https://archlinux.org/packages/ or read the PKGBUILD if the app is hosted on the AUR. By default, the script will use "yay" to install all the programs in JuNest.

3. Add extra dependencies

The script will ask you to add a list of additional packages you want to include into the AppImage (with the syntax app1 app2 app3...)

<img width="697" height="75" alt="Istantanea_2025-10-22_01-26-21" src="https://github.com/user-attachments/assets/73271046-be23-4bfc-b432-00deef4b6ee8" />

Leave blank if no dependency is needed. In our example, I add python. You can add many more packages, according to your needs.

3,5. AUR, want to use ChaoticAUR instead? The hidden question

Between question 3 (add dependencies) and 4 (enable multilib) exists another hidden question

<img width="709" height="74"

View on GitHub
GitHub Stars196
CategoryDevelopment
Updated9d ago
Forks5

Languages

Shell

Security Score

95/100

Audited on Mar 19, 2026

No findings