@@ -44,12 +44,32 @@ Some others to try:
4444./nix-bundle.sh emacs /bin/emacs
4545```
4646
47+## [Experimental] Create AppImage executables from Nix expressions
48+
49+"nix-bundle.sh" tends to create fairly large outputs. This is largely because nix-bundle.sh uses gzip compression and AppImage uses lzma compression. Anyway, you can create a compliant "AppImage" using the "nix2appimage.sh" script:
50+
51+```sh
52+./nix2appimage.sh emacs
53+```
54+
55+Notice that there is only one argument for nix2appimage.sh. This is because the target executable will be detected from the .desktop file in ```/share/applications/*.desktop```. As a side-effect, AppImage requires your package to have a .desktop file, so packages like "hello", "coreutils", etc. will not work.
56+
57+Some other examples to try:
58+
59+```sh
60+./nix2appimage.sh firefox
61+./nix2appimage.sh vlc
62+./nix2appimage.sh allegro
63+```
64+
65+These may take a while because of the large closure size.
66+
4767## Comparison with AppImage, FlatPak, Snappy
4868
4969| Name | Distro-agnostic | Runtime required | Root required | Storage | Packaged size of vlc |
5070| ---------- | --------------- | ---------------- | ------------- | ------- | -------------------- |
5171| nix-bundle | yes | no | no | Arx tarball | 176M |
52−| AppImage | yes | no | no | ISO 9660 w/ zisofs compression | 80M |
72+| AppImage | yes | no | no | Squashfs w/ lzma compression | 80M |
5373| FlatPak | yes | yes | no | ? | ? |
5474| Snappy | yes | yes | no | squashFS | 115M |
5575