nyxt icon indicating copy to clipboard operation
nyxt copied to clipboard

Distribution for Ubuntu users

Open aadcg opened this issue 1 year ago • 19 comments

Nyxt would like to see itself available on Ubuntu. Nonetheless, it's hard to commit to such a task since, besides having other priorities, none of the team members either uses an Ubuntu flavored distribution or has experience packaging in it.

My understanding is that to have new software added to Ubuntu's repositories takes a fair bit of politics too. The first step would be to have a PPA.

Dear fellow community members, are you a Nyxt and Ubuntu user with enough experience to create a Nyxt PPA?


In the meantime, we may consider providing a .deb package again. @hgluka uses a Ubuntu flavored distribution, which makes it easier for us to have someone who can easily test it and access its robustness.

On how to achieve the .deb, I'd suggest moving away from the strategy previously used and to focus on generating it via guix pack. It is proves to be good enough, it's would greatly simplify the work of maintaining the recipe that generates it.

Dear fellow community members, would you like us to distribute a .deb?


The piece of information that triggers this discussion is that I found that the download numbers of .debs (back in the end when we distributed them) was significant. Nyxt, while still being aimed at medium to advanced users, has been consistently decreasing the level of expertise needed to use it. Therefore I think it's safe to say that widening the target public will not backfire.

aadcg avatar Jun 28 '23 10:06 aadcg

I would prefer a .deb over flatpak if you find an easy way to package it up, but not a deal breaker or anything. Not a huge fan of flatpak but it's perfectly usable.

(happy to help test out .deb builds if that helps)

fedreg-bn avatar Jun 28 '23 22:06 fedreg-bn

We used to provide debs and we have a framework to build them. See https://github.com/atlas-engineer/build-script-archive.

Ambrevar avatar Jun 29 '23 10:06 Ambrevar

On how to achieve the .deb, I'd suggest moving away from the strategy previously used and to focus on generating it via guix pack. It is proves to be good enough, it's would greatly simplify the work of maintaining the recipe that generates it.

@Ambrevar, my position remains but please argument why we shouldn't stick with that instead of shifting towards generating the .deb via guix pack.

aadcg avatar Jun 29 '23 11:06 aadcg

Because it provides very little benefit, only maybe that it "registers" the package so that DPKG can know that it exists, but then:

  • it needs roots access
  • it cannot be installed wherever the user wants.
  • it's super heavy since it includes all recursive dependencies and does not reuse the Debian packages.

It's a big step backwards compared to our previous .deb generation (which worked really well).

Ambrevar avatar Jul 03 '23 09:07 Ambrevar

I thought our previous .deb generation did not work due to packaging issues with the latest version of WebKitGTK+?

jmercouris avatar Jul 03 '23 09:07 jmercouris

No, it always worked, it's just that the .deb only worked on Ubuntu 20.** something, and not on older / newer Ubuntu. Basically the .deb works on the Ubuntu that's used by the CI.

This is a limitation of non-functional OSes, nothing we can do about it. One option of course is to generate multiple .debs, which is easy since the CI has multiple Ubuntu versions available.

Ambrevar avatar Jul 03 '23 09:07 Ambrevar

Right, I forgot, they had deprecated a SSL library that we needed. This will not be the last time they break our package. In this case, the Guix package for generation has more benefits than our previous approach. What if we provided a snap (which is basically a flatpak) for Ubuntu, this could work easier perhaps?

jmercouris avatar Jul 03 '23 09:07 jmercouris

Maybe, but then that's a lot of packaging work on our behalf.

Providing a PPA, then hoping it gets merged upstream might be a more constructive approach.

Ambrevar avatar Jul 03 '23 09:07 Ambrevar

We got too carried away discussing the technicalities of generating the .deb and lost our focus. Let me bring it back.

I've created this issue (and opened a thread on Reddit and Discourse) as a barometer to measure the interest on us delivering the .deb (as we used to do). We had zero users asking for it. Should that change, we may come back to the topic.

For now, it is settled:

  • No .deb distribution;
  • Improve the Flatpak and promote it as the de-facto universal way to install Nyxt on GNU/Linux for less advanced users;
  • Evangelize the need for a Nyxt PPA in the community (note that we should not do it ourselves).

This issue will remain open for those who would like to package Nyxt for Ubuntu.

aadcg avatar Jul 03 '23 10:07 aadcg

Acknowledged!

jmercouris avatar Jul 03 '23 10:07 jmercouris

Looking at which Ubuntu versions provide libwebkitgtk >= 2.40.1, as of this writing, one concludes we can only target Ubuntu versions 23.04 (Lunar) and 23.10 (Mantic).

This shows that publishing a .deb (when generated by a method such as https://github.com/atlas-engineer/build-script-archive) requires attention and maintenance work that will slow us down for little in return. The Flatpak's runtime updates are less conservative (meaning that we get the latest webkitgtk versions faster) and don't introduce the degree of freedom (= trouble for us) that Ubuntu versions introduces.


PPA experts, please keep in mind that Nyxt requires libwebkitgtk >= 2.40.1. Thanks!

aadcg avatar Jul 03 '23 15:07 aadcg

Would love to see this solutioned with an AppImage instead of a Flatpak. Curious about the existing preference for Flatpak here.

tecfu avatar Jul 04 '23 06:07 tecfu

@tecfu what are the benefits of AppImage over Flatpak in your perspective?

aadcg avatar Jul 04 '23 10:07 aadcg

@aadcg Running an AppImage doesn't require any additional installs. This makes evaluating the software much more accessible: A user simply has to:

  • Download nyxt.AppImage
  • chmod +x nyxt.AppImage
  • ./nyxt.AppImage

With Flatpak, a user needs to install yet another package manager on their system. Some people have no desire to do this, and it also creates an extra step that makes trying out nyxt less likely.

tecfu avatar Jul 04 '23 17:07 tecfu

@tecfu thanks for your input. I agree with the argument and the AppImage is similar to the bundle we distribute - though the bundle has the edge with respect to being transparent and reproducible.

For the less advanced user, the AppImage is even easier to use than our bundle though. It would be a really simple way for Ubuntu users to run Nyxt. I think we should consider this suggestion.

aadcg avatar Jul 04 '23 17:07 aadcg

late to the party but yes, a deb file would be awesome

kurokirasama avatar Jul 19 '23 20:07 kurokirasama

Hello, if anyone would be willing to package Nyxt into an AppImage, I would be willing to pay. Send me an email with your price, [email protected]

jmercouris avatar Aug 29 '23 15:08 jmercouris

It's curious nobody made a .deb package for Debian/Ubuntu at this point. It's not rocket science to compile and package Nyxt. Maybe asking on relevant Debian mailing-list (if any) may help ?

bubbleguuum avatar Sep 04 '23 15:09 bubbleguuum

@bubbleguuum, here's an update based on my views as of today. We used to distribute a .deb package and stopped doing so because none of the developers used Debian-based distributions back then. I see little benefit in maintaining it when we officially maintain the Flathub distribution. A .deb is too costly for too little benefit.

Now, why isn't a .deb package interesting even when supported by the community? The ideal way to package Nyxt for Debian-based distributions is to have it added to the APT repositories. The second best way is to have it available in a PPA. After those, I'd argue that .deb, Appimage and Flatpak stand roughly on equal footing.

We're on Flathub. We'll have an Appimage soon.

In short, we're looking for someone who would be kind enough to package Nyxt as a PPA. The second step would be to have it accepted in the official APT repositories.

aadcg avatar Sep 05 '23 18:09 aadcg