Live data from Hacker News

Linux desktop leaders unite behind Flathub app store. Here's why

zdnet.com

31–40 of 124 posts

Re: Linux desktop leaders unite behind Flathub app store. Here's why

#31
Flatpak is the reason why people who only used Linux because of Steam Deck can just install the app from the app store, and it works well enough.

And it's actually pretty cool that Flatpak keep improving, even in the past few years. It's not improving as fast as I'd like (I want VPN apps, Lutris controlling emulators, and Native Host Messaging to be working already) but a lot of issues are being worked on and these days they work well enough.

I still prefer to use AUR if I could access it there, and some of the things I do are only available distro-agnostically through Nix or arch distrobox, but Flatpak is absolutely great when it's available and the sandbox isn't in the way.

Re: Linux desktop leaders unite behind Flathub app store. Here's why

#32
post #8

Earlier quoted context omitted.

What do you think about Nix

Nix is the ultimate expression of this abandonment of the concept of a desktop distro. It doesn't even try to have system libraries. Nix gives up re: future shock. The entire OS is just containers. I'm sure it works fine if you only ever use popular software but as someone that's constantly compiling and adding little .c programs from the 'net to my bin/ having to manually create and specify the entire "system" libra…

> manually create and specify the entire "system" libraries set bit by bit every time I want to compile (or run!) something is no go.

I don't have first hand experience with nix, but if I would look at this statement from Guix point of view (and I assume nix will be same/very similar), this is not really true.

Nothing prevents you from having a list of libraries (in a manifest). That list might be way to wide for any specific program and it can represent what you would normally have as "system libraries".

You can then just invoke shell as guix shell --manifest=manifest.scm and you will be given working shell with all the libraries available.

You can also just package your program using trivial copy&paste code with the same list. Sure, the dependencies will be too wide, but since you are not sending the package to upstream Guix for inclusion, no one really cares.

So, is it as friction-less as "normal" distro? No (especially the "add to /bin" part).

Is it as bad as "manually create and specify the entire "system" libraries set bit by bit every time"? Also no.

Re: Linux desktop leaders unite behind Flathub app store. Here's why

#33
I owned a Librem 5 phone and used it as my daily driver for a few months. During this time I exclusively used Flatpaks for my apps that I installed. After installing about 15-20 apps, the 32 GB of internal storage were completely full and my phone stopped working. I had no clue how huge Flatpak apps are.

Even worse, I could not find out which apps to delete. All the space was taken up by excess "runtimes" I don't know or care what a runtime is but I never intentionally installed them. Why are there five different Freedesktop and Gnome runtimes installed? Which app do I delete to get rid of them?

I need to be able to easily answer the questions: "Which app(s) do I delete to free up space?" and "how much space will be freed by deleting app X?"

On flatpak those questions required dark magic beyond my understanding to answer.

Re: Linux desktop leaders unite behind Flathub app store. Here's why

#34
post #2

Because they've given up on being able to maintain a desktop distro with a set of system libraries that allow you to run programs. Future shock from the too rapidly changing underlying libs and no thought of forwards compatibility longer than 3 years means no software lasts longer than 3 years, if that. And so, like a fever is a symptom of infection, we have containers as symptom of future shock. As for which contain…

> forwards compatibility longer than 3 years

Maintaining backwards and forwards compatibility will cripple you as a lib developer. If you do it, your solution will be slower to change, and probably slower overall than a solution that breaks compatibility occasionally.

So you get less contribution and small bus factor means this library is more likely to die.

Re: Linux desktop leaders unite behind Flathub app store. Here's why

#35

I owned a Librem 5 phone and used it as my daily driver for a few months. During this time I exclusively used Flatpaks for my apps that I installed. After installing about 15-20 apps, the 32 GB of internal storage were completely full and my phone stopped working. I had no clue how huge Flatpak apps are. Even worse, I could not find out which apps to delete. All the space was taken up by excess "runtimes" I don't kno…

This is especially relevant on devices with limited storage, like the Steam Deck.

Keeping dependencies with applications does have a lot of advantages, especially for applications that need incompatible versions of the same libraries. But, having every application with its own full set of dependencies seems quite wasteful.

Re: Linux desktop leaders unite behind Flathub app store. Here's why

#37

Does Flathub help with sandboxing? For example, if I download an app, can I know that it can’t access photos, or location, or microphone, etc… without asking first?

The flatpak CLI will tell you which permissions a program wants. GUI installers usually also show this information, just worse most of the time. If you want to revoke permissions, you can use Flatseal or the KDE settings module.

Re: Linux desktop leaders unite behind Flathub app store. Here's why

#38

Flatpak is great for self contained apps, but it seems problematic when it has to reach outside the sandbox. I ran into this in VSCode and with CUDA video processing filters, but I'm sure there are more examples. And thats what distro packages are for, I guess.

Try using Flatseal [1] which is a Flatpak app that helps manage permissions for other Flatpak apps. You can see exactly what permissions are enabled in each app's sandbox and expand/override everything from env vars to filesystem locations you want to enable access to.

[1] https://github.com/tchx84/Flatseal

Re: Linux desktop leaders unite behind Flathub app store. Here's why

#39

I owned a Librem 5 phone and used it as my daily driver for a few months. During this time I exclusively used Flatpaks for my apps that I installed. After installing about 15-20 apps, the 32 GB of internal storage were completely full and my phone stopped working. I had no clue how huge Flatpak apps are. Even worse, I could not find out which apps to delete. All the space was taken up by excess "runtimes" I don't kno…

[deleted]

Re: Linux desktop leaders unite behind Flathub app store. Here's why

#40
post #5

What advantages does Flatpak offer over Nix? The only benefit(s) I see are: 1. Sandboxed applications (via containers?) - so applications you have don't technically have access to your home directories by default. That's sort of nice - but how many applications really warrant this overhead? 2. Possibly easier to write/package? That said, in Nix you pretty much just need to package once. I've not used Flatpak - can so…

What advantages has Nix over Flatpak? Seems to be just yet another esoteric solution for installing software? Why should one prefer it over other solutions? How well does Nix integrate packages into the system? Flatpak is integrating apps into the desktop environments. Probably just following standards, but is Nix doing this too? Are Nix-Installations portable? I use Flatpak to have the same installation on different…

Theoretically, you could create a Nix-Flatpak hybrid by sourcing your Bubblewrap packages/environment from the Nix store. It wouldn't be much different from how Nix handles it today, just with an additional layer of sandboxing for each environment.

The problem Nix solves is the one Flatpak tries working around - how do I guarantee software builds and runs on my system? The answer turns out to be "very strictly", and Nix has done a good job of writing sane rules where it can. It's not perfect (and definitely not user-friendly today) but it has a larger package repo to work with and better support for stuff Flatpak is missing like system services. If people do want to switch to an immutable root system, I'd hope the goal is to be as modular as NixOS is someday.

Post reply on HN