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?
the package entropy over time will get me the very dependency issues that Flatpak wants to solve.
You can declare your distroboxes so that they get created regularly from scratch instead of upgrading in place: https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-assemble.md
That way the entropy never hits you. Then use the Prompt terminal https://gitlab.gnome.org/chergert/prompt to make it just part of your terminal ootb.
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.
deleted by creator
Cool, where can we find it?
You mean I can stop filling up my .local/bin with bash scripts that just run the flatpak?
I think Nix is great for installing CLI apps, it’s not that complicated, in fact, it can make many things in your life easier.
deleted by creator
The point is that you can not find most cli programs on Flathub, de facto making Flatpaks unsuitable for cli programs. Snapcraft on the other hand hosts neofetch, dust, youtube-dl etc.
deleted by creator
I’d agree with you
If I could actually find cli app in there
There is a neovim flatpak, which is not a CLI app but a TUI one, but I guess this counts.
And there is also jellyfin-server
deleted by creator
Worth mentioning that one can use bubblewrap directly over chroot to get similar behaviour as well.
It’s often simpler to use distrobox but being able to rsync chroot a between devices can be very convenient.
If we are talking Silverblue then podman is your pick for everything Flatpack “can’t”
there is no big push for cli flatpack since this already a solved cause with containers for podman/docker/kuberneteshowever no matter how you approach this you will always have dependency security issues
unless you built every flatpack/container yourself you are at the whim of the creator of it to keep every dependecy updated
this is already a known vulnerability factor in the container sphere on topbl of the threat of 0-day exploitsI’m sure you know what you’re talking about. But your comment becomes a techno babble word salad when you throw in a typo or two, skip essential words and forego practically all correct use of punctuation and capitalization. I know this makes me sound old, dumb, and maybe a little mean. I know I’m old and dumb, but I’m really trying to not be mean.
Can one tool be used for multiple use cases? Sure. Should it? Maybe not.
Try fleek. I use it on my fedora system and it integrates really well.
Would Homebrew work for this? I use it in WSL for all my CLI programs.