I love Flatpaks, the programs are nicely separated so they don’t interfere with each other. They also don’t have flaws like Snap’s low performance or Nix’s complexity.
But being limited to only graphical apps seems like a real drawback. If one wants to use Flatpaks as their primary package manager there have to be some awkward workarounds for cli programs.
E.g., the prime Flatpak experiene is supposed to be on immutable distros like Silverblue. But to install regular cli programs you are expected to spin up a distrobox (or toolbox) and install those programs there.
Having one arch distrobox where I get my cli programs from will not work, as the package entropy over time will get me the very dependency issues that Flatpak wants to solve.
So what is the solution here? Have multiple distroboxes and install packages in those in alternation and hope the boxes don’t break? Use Nix alongside Flatpak? Use Snaps?
I wrote a nice little CLI tool that lets you browse the flatpak store in the terminal and has an option to link all your flatpaks to their short names. Its really just a wrapper bash script that runs flatpak, but I like it because it goes from com.Blender.Blender to just “blender” and it works on the command line.
You mean I can stop filling up my .local/bin with bash scripts that just run the flatpak?
Cool, where can we find it?