Appimage: Difference between revisions
Turbotimon (talk | contribs) →Run: Improve start command py showing path instead of cryptic $AppImageFile |
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> | |||
<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> | |||
[[Category:Software]] | [[Category:Software]] | ||