helix icon indicating copy to clipboard operation
helix copied to clipboard

Flatpak package

Open the-mikedavis opened this issue 2 years ago • 7 comments

Discussed in https://github.com/helix-editor/helix/discussions/1968

Originally posted by martincalveira April 5, 2022 Hi!

Is it on the roadmap to create an Appimage or Flatpak package?

Thank you.

the-mikedavis avatar Apr 11 '22 13:04 the-mikedavis

I can try to put together an AppImage. I'm new to both AppImages and Flatpaks but I'm happy to learn. Based on some quick research, AppImage seems like it may be the better choice since it's more self-contained. If anyone with more experience with these things has an opinion though, please weigh in!

mtoohey31 avatar Apr 12 '22 18:04 mtoohey31

AppImages don't require any kind of installer, and I've found that aspect of it useful when using Neovim's AppImages. "Make it executable and run" is quite easy to do. I haven't used Flatpak so not much opinions there.

sudormrfbin avatar Apr 12 '22 19:04 sudormrfbin

AppImages seem to require a .desktop entry, so maybe I can close #1073 while I'm at it, but they also seem to require a png icon. As far as I can tell, this project doesn't have an icon yet, right?

mtoohey31 avatar Apr 12 '22 19:04 mtoohey31

#283 has a brainstorm and there are a bunch of good ideas there but nothing chosen yet

the-mikedavis avatar Apr 12 '22 19:04 the-mikedavis

If you (somehow) embed the right metadata in the Appimage then you can use https://github.com/AppImage/AppImageUpdate to auto update it, pretty cool!

It is still alpha software, but I am sure it will be fully working soon and it would be amazing to get auto-updating nightly releases at the press of a button :)

David-Else avatar Apr 13 '22 16:04 David-Else

If you (somehow) embed the right metadata in the Appimage then you can use https://github.com/AppImage/AppImageUpdate to auto update it, pretty cool!

I take it you're referring to this part of the spec? It seems like supporting that is pretty simple with the linuxdeploy appimage, I'll see what I can do!

mtoohey31 avatar Apr 14 '22 01:04 mtoohey31

I'd like a Flatpak if possible. It's always really useful to have the option of an AppImage, but I like being able to update all of my apps from one place (ie. flatpak CLI, or the GNOME Software Center).

snoopdouglas avatar Apr 19 '22 10:04 snoopdouglas

I packaged Helix as a flatpak. I wrote the appstream metadata myself, because I didn't find it anywhere. Also I made the package to work both on x86_64 and aarch64 by downloading corresponding archive from github releases. I didn't test it on aarch64 because I don't have the hardware. I don't see any reason why it wouldn't work but it's probably better to check.

Here is the package itself.

If everything is fine, then the only thing left to do is submit it to flathub.

blt-r avatar Jan 02 '23 23:01 blt-r

Just fyi on https://github.com/blt-r/helix-flatpak/blob/main/com.helix_editor.Helix.yml#L4 should this be 22.12 instead of 22.08

gabydd avatar Jan 02 '23 23:01 gabydd

Just fyi on https://github.com/blt-r/helix-flatpak/blob/main/com.helix_editor.Helix.yml#L4 should this be 22.12 instead of 22.08

No, 22.08 is version of org.freedesktop.Sdk, not the version of Helix

blt-r avatar Jan 03 '23 00:01 blt-r

Oh makes sense sorry about that

gabydd avatar Jan 03 '23 00:01 gabydd

Helix is now available on Flathub. Some things about this package:

  • Your config will be in ~/.var/app/com.helix_editor.Helix/config/helix
  • To use language servers installed on host system you will have to invoke them with flatpak-spawn --host. For example:
    [[language]]
    name = "rust"
    language-server = { command = "flatpak-spawn", args = ["--host", "rust-analyzer"] }
    

blt-r avatar Jan 06 '23 18:01 blt-r

Awesome, thank you!

the-mikedavis avatar Jan 08 '23 14:01 the-mikedavis

see base help with like Dart and Rust... And some other stuff and not clear on....

Could someone please help and guide me though a complete for C/C++ (and bash scrips maybe?) I installed via flatpak and installed clangd and its in my path.. But I get red x when I do hx health check thing... I total lost on howto to setup to work

please help?

Oh yes I am on Debian 12 x64

ZennMystic avatar Sep 18 '23 19:09 ZennMystic

The flatpak is running inside of a container, which means it doesn't integrate with your host system and can't access executables installed on it. If you want helix to be integrated into your host system it's better to install it as a native package.

If you want to set up helix flatpak to work with clangd you need to install flatpak sdk extension. There are instructions on how to do that in this file. You were supposed to see that file the first time you ran helix, but maybe you opened another file so that one was in a different buffer.

blt-r avatar Sep 18 '23 21:09 blt-r

Yea ok thank you... But I totally lost... I do not know rust nor I'm in interested in.. But I still have to install cargo to use Helix? I is not understands what I have to do with flatpak to use Helix either. clangd is native but Helix was flatpak. Is place I could post for help?

ZennMystic avatar Sep 18 '23 21:09 ZennMystic

You don't need cargo to install helix. Read through that file, it explains how to add sdk extensions for different languages. To get clangd you will need llvm16 sdk extension.

Or find a way to install helix natively, so you can use clangd installed on your host system.

blt-r avatar Sep 18 '23 21:09 blt-r