Appimage: Difference between revisions

Run: Improve start command py showing path instead of cryptic $AppImageFile
Ardenet (talk | contribs)
m Adjust the position of page translation tags
 
(One intermediate revision by one other user not shown)
Line 10: Line 10:
<!--T:3-->
<!--T:3-->
On most distros, all one has to do is download the <code>.AppImage</code> file, make it executable <code>chmod +x $AppImage</code>, and execute it. This doesn't work in NixOS out of the box though, as AppImage files usually (if not always) depend on certain system libraries in hardcoded paths.
On most distros, all one has to do is download the <code>.AppImage</code> file, make it executable <code>chmod +x $AppImage</code>, and execute it. This doesn't work in NixOS out of the box though, as AppImage files usually (if not always) depend on certain system libraries in hardcoded paths.
</translate>


</translate>
<syntaxhighlight lang="shell">
<syntaxhighlight lang="shell">
$ nix-shell -p appimage-run
$ nix-shell -p appimage-run
$ appimage-run path/to/application.AppImage
$ appimage-run path/to/application.AppImage
</syntaxhighlight>
</syntaxhighlight>
<translate>
===== Additional Packages =====
Some appimages still have issues, so you can override for additional pkgs such as
</translate>
<syntaxhighlight lang="nix">programs.appimage.enable = true;
programs.appimage.binfmt = true;
programs.appimage.package = pkgs.appimage-run.override
{
  extraPkgs = pkgs:
  [
    pkgs.icu
    pkgs.libxcrypt-legacy
    pkgs.python312
    pkgs.python312Packages.torch
  ];
};
</syntaxhighlight>
<translate>
<translate>
=== Packaging === <!--T:8-->
=== Packaging === <!--T:8-->
Line 63: Line 84:


<translate>
<translate>
== Configuration == <!--T:16-->
== Configuration == <!--T:16-->


Line 71: Line 91:
You can tell the [[Linux kernel]] to use an interpreter (e.g. <code>appimage-run</code>) when executing certain binary files through the use of [https://en.wikipedia.org/wiki/Binfmt_misc#External_links binfmt_misc], either by filename extension or magic number matching. Below NixOS configuration registers AppImage files (ELF files with magic number "AI" + 0x02) to be run with <code>appimage-run</code> as interpreter:
You can tell the [[Linux kernel]] to use an interpreter (e.g. <code>appimage-run</code>) when executing certain binary files through the use of [https://en.wikipedia.org/wiki/Binfmt_misc#External_links binfmt_misc], either by filename extension or magic number matching. Below NixOS configuration registers AppImage files (ELF files with magic number "AI" + 0x02) to be run with <code>appimage-run</code> as interpreter:
</translate>
</translate>
<syntaxhighlight lang="nixos">
<syntaxhighlight lang="nixos">
programs.appimage = {
programs.appimage = {
Line 77: Line 98:
};
};
</syntaxhighlight>
</syntaxhighlight>
<translate>
<translate>
<!--T:7-->
<!--T:7-->
This way AppImage files can be invoked directly as if they were normal programs
This way AppImage files can be invoked directly as if they were normal programs
</translate>


</translate>
[[Category:Software]]
[[Category:Software]]