Flatpak. Sandboxing taken to it's (il)logical extremes. If you like random data loss, confusing package manifests, low-performance and generally broken software, this is the way to go.
Reality check: since the Steam package is broken so often on NixOS, I ended up using the Flatpak on NixOS instead (which works like a charm).
It's a uniquely bad format, almost worth spinning up a Linux VM to try it for a laugh.
I am not sure what you are talking about. It's actually a really nice format that uses OSTree.
We're comparing it to Snap and AppImage. Flatpak doesn't have enough meat on it's bones (or goodwill in it's tank) to compete with the other cross-distro distribution options, and certainly not with native packages. I'm frankly not surprised that Steam is constantly broken on NixOS, Valve doesn't maintain it (and won't due to how insanely different it's concept of package management is).
I am not particularly happy with Flatpak - I still think it mixes up two things (packaging, sandbox), and is not particularly good at the former. Nix actually solves the former issue, and does so splendidly. I would much rather see better sandboxes for linux.
The Valve Steam Deck, which runs a fork of Arch Linux, is, I hope, going to be the final decider in the sandbox format war. It comes preconfigured to run Flatpaks, and while you can install stuff via Arch's Pacman, anything installed that way is erased whenever there's a software update, while Flatpaks persist.
So it's in the user's interest to use Flatpaks, and on mine, the Flatpak of RetroArch, as an example, works perfectly with zero extra configuration.
Flathub is only okay with NixOS because a lot of flatpaks escape their sandbox and call out to outside programs. Sometimes you need to compile a NixOS version since the paths are not the same as a generic Linux distro. I've asked the developers to take a look at it, and one of them closed the issue, and the other is going to try to make it work with steam run
Basically, nixpkgs is still the best way to run something on NixOS
Worth noting that Flatpak's sandboxing is using the same container functionality of the Linux kernel as all the various other container tools. If containers are secure enough than so is Flatpak, assuming you've tweaked the applications sandbox settings to your liking.
Someone even made an unofficial flatpak for Steam, too. It's on Flathub and it works great for my needs. Makes perfect sense with the way Valve packages Steam already, since they try really hard to provide the same environment on every distro. The only problem I have with it is you can't easily add additional library folders due to the sandboxing. (Need Valve themselves to add portals to the application code so Steam can pop up a native file chooser which grants access to whatever file the user chooses, and there's no directory tree portal anyway … yet). But that's solvable. Much better, long term, than Valve stubbornly clinging to whatever distro continues to build for an obsolete architecture at their own expense.
> Flatpak. Sandboxing taken to it's (il)logical extremes. If you like random data loss, confusing package manifests, low-performance and generally broken software, this is the way to go.
Talk about FUD and taking to logical extremes. Your constant trolling on Linux threads is not appreciated.
Flatpak is pretty great if you want to containerize things you install or are using an immutable system. The Steam Deck supports Flatpak and it's how most people install things outside of Steam.
Agree, I feel like there must be a better way to achieve what Flatpak does. I love it because it's the only major app platform on Linux that offers some form of sandboxing, but the download sizes get ridiculously large.
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.
This page is really old, but I disagree with "the users are misled to believe the apps run sandboxed".
I think most people use flatpak (and/or snap, appimage, etc.) as a way of installing applications in a way that does not contaminate the host OS, and a way of removing them again without leaving any traces behind.
For example, it's an extremely convenient way of installing Steam without having to worry about its obscure, 32-bit, dependencies.
That they are sandboxed, or not, is very much secondary, for most users, I believe.
I used to have issues with Steam flatpak, but it's been 2-3 years now without any issues.
Discord also works, it doesn't support some features, but that has nothing to do with flatpak and everything to do with Discord on Linux in general.
I've got a dozen or so other flatpak apps that work flawlessly.
One major complaint though is it can keep old unused versions of runtimes around and you manually have to remove them, Nvidia and Mesa runtimes for some reason consistently have this issue. Even running `flatpak uninstall --unused` does not remove them.
Flatpak is basically Docker for linux, there are layers and everything. What you're saying should be possible if you make a AppImage/Flatpak out of the Steam Runtime+Proton(if needed)+Game, it should run anywhere with the right drivers.
Reality check: since the Steam package is broken so often on NixOS, I ended up using the Flatpak on NixOS instead (which works like a charm).
It's a uniquely bad format, almost worth spinning up a Linux VM to try it for a laugh.
I am not sure what you are talking about. It's actually a really nice format that uses OSTree.
reply