Appimage: Difference between revisions

Onny (talk | contribs)
Packaging: Fix code example
Unabomberlive (talk | contribs)
Marked this version for translation
Line 4: Line 4:
[https://appimage.org/ AppImage] is a monolithic packaging format for linux applications. It contains all dependencies in one file that is composed of an executable with a tacked on filesystem.
[https://appimage.org/ AppImage] is a monolithic packaging format for linux applications. It contains all dependencies in one file that is composed of an executable with a tacked on filesystem.


== Usage ==
== Usage == <!--T:10-->


=== Run ===<!--T:2-->
=== Run === <!--T:2-->


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


</translate>
</translate>
Line 16: Line 17:
</syntaxhighlight>
</syntaxhighlight>
<translate>
<translate>
=== Packaging ===<!--T:8-->
=== Packaging === <!--T:8-->


<!--T:9-->
<!--T:9-->
Line 27: Line 28:
}:
}:


<!--T:11-->
let
let
   version = "1.4.0";
   version = "1.4.0";
Line 32: Line 34:
   name = "${pname}-${version}";
   name = "${pname}-${version}";


   src = fetchurl {
   <!--T:12-->
src = fetchurl {
     url = "https://github.com/ZUGFeRD/quba-viewer/releases/download/v${version}/Quba-${version}.AppImage";
     url = "https://github.com/ZUGFeRD/quba-viewer/releases/download/v${version}/Quba-${version}.AppImage";
     hash = "sha256-EsTF7W1np5qbQQh3pdqsFe32olvGK3AowGWjqHPEfoM=";
     hash = "sha256-EsTF7W1np5qbQQh3pdqsFe32olvGK3AowGWjqHPEfoM=";
   };
   };


   appimageContents = appimageTools.extractType1 { inherit name src; };
   <!--T:13-->
appimageContents = appimageTools.extractType1 { inherit name src; };
in
in
appimageTools.wrapType1 {
appimageTools.wrapType1 {
   inherit name src;
   inherit name src;


   extraInstallCommands = ''
   <!--T:14-->
extraInstallCommands = ''
     mv $out/bin/${name} $out/bin/${pname}
     mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
Line 50: Line 55:
   '';
   '';


   meta = {
   <!--T:15-->
meta = {
     description = "Viewer for electronic invoices";
     description = "Viewer for electronic invoices";
     homepage = "https://github.com/ZUGFeRD/quba-viewer";
     homepage = "https://github.com/ZUGFeRD/quba-viewer";
Line 62: Line 68:
</syntaxhighlight>
</syntaxhighlight>


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


=== Register AppImage files as a binary type to binfmt_misc ===<!--T:4-->
=== Register AppImage files as a binary type to binfmt_misc === <!--T:4-->


<!--T:5-->
<!--T:5-->