For a “set it and forget it” gaming console experience? It is awesome. It feels like I already have a GabeCube under my TV (that I bought for probably half the price…). And when I have to do more complicated things than “run the update once a month”, I just ssh in from either my desktop or laptop.
But… it is an immutable/atomic distro. So if the packages you want to add are flatpaks or appimages? You are probably fine. Otherwise? You get into a mess where you are adding packages to your layers (?) and kinda feel like you are playing with fire. I did that to get iperf3 installed to test some networking upgrades and it was mostly painless but it was also a really bad experience versus sudo dnf install iperf3. And… even on machines where I spend 90% of my time ssh’ing into servers, I still tend to want to install a good amount of local packages as a developer.
So my suggestion would be to stick to Bazzite for gaming first platforms and continue to use whatever distro you like (Fedora for the win!) for “real” computers.
Also, if you aren’t as annoyed by atomic distros as I am, I would still be wary of Bazzite. They have a lot of different SKUs and I don’t care enough to try to parse what each one does. But the common use case is to basically treat a machine like a Steam Deck… which means you boot into Big Picture with essentially no login screens or a REALLY insecure pin code. And then you switch to desktop mode with a single click.
There are ways to harden that (and very much an argument of whether you need to harden a machine in your home). And Linux, generally, has very good protections by actually requiring auth for sudo. But I already feel sketchy that I am logged into Steam/GoG on a box with almost no protections. But I also live in an environment where I don’t have to worry about someone buying 10k in fortnite bucks on my TV.
You can use distrobox/distroshelf to set up a container with a regular distro and install packages in that instead of layering; if a package installs a GUI application you can export the application and it will show up in your applications menu.
And you can similarly do most/all of your dev work in a container that you spin up with a podman alias (fuck hashicorp with a rusty metal pole but damn if Vagrant wasn’t awesome). Hell, there are a lot of arguments that you should.
It inherently becomes a question of what your primary use case for a machine is and how often you spend fighting it to accomplish that. And, personally, I run Linux so I DON’T have to fight my OS. Which… is really weird when you think about it but holy crap Windows and Mac are annoying.
Immutable OSes are amazing for corporate environments and HTPC/Gaming computers are another solid use case. But if your primary focus is whether you can be a developer (as indicated by the doomemacs ask)… you are gonna be cranky.
I use Bazzite for my HTPC (AMD NUC).
For a “set it and forget it” gaming console experience? It is awesome. It feels like I already have a GabeCube under my TV (that I bought for probably half the price…). And when I have to do more complicated things than “run the update once a month”, I just ssh in from either my desktop or laptop.
But… it is an immutable/atomic distro. So if the packages you want to add are flatpaks or appimages? You are probably fine. Otherwise? You get into a mess where you are adding packages to your layers (?) and kinda feel like you are playing with fire. I did that to get iperf3 installed to test some networking upgrades and it was mostly painless but it was also a really bad experience versus
sudo dnf install iperf3. And… even on machines where I spend 90% of my time ssh’ing into servers, I still tend to want to install a good amount of local packages as a developer.So my suggestion would be to stick to Bazzite for gaming first platforms and continue to use whatever distro you like (Fedora for the win!) for “real” computers.
Also, if you aren’t as annoyed by atomic distros as I am, I would still be wary of Bazzite. They have a lot of different SKUs and I don’t care enough to try to parse what each one does. But the common use case is to basically treat a machine like a Steam Deck… which means you boot into Big Picture with essentially no login screens or a REALLY insecure pin code. And then you switch to desktop mode with a single click.
There are ways to harden that (and very much an argument of whether you need to harden a machine in your home). And Linux, generally, has very good protections by actually requiring auth for
sudo. But I already feel sketchy that I am logged into Steam/GoG on a box with almost no protections. But I also live in an environment where I don’t have to worry about someone buying 10k in fortnite bucks on my TV.You can use distrobox/distroshelf to set up a container with a regular distro and install packages in that instead of layering; if a package installs a GUI application you can export the application and it will show up in your applications menu.
And you can similarly do most/all of your dev work in a container that you spin up with a
podmanalias (fuck hashicorp with a rusty metal pole but damn if Vagrant wasn’t awesome). Hell, there are a lot of arguments that you should.It inherently becomes a question of what your primary use case for a machine is and how often you spend fighting it to accomplish that. And, personally, I run Linux so I DON’T have to fight my OS. Which… is really weird when you think about it but holy crap Windows and Mac are annoying.
Immutable OSes are amazing for corporate environments and HTPC/Gaming computers are another solid use case. But if your primary focus is whether you can be a developer (as indicated by the doomemacs ask)… you are gonna be cranky.
The solution for packages is do it in a container, that way its easy and doesnt involve layering more stuff.