I completely disagree. Debian is not beginner-friendly. Go with Bazzite if your focus is gaming.
It is a gaming-focused distribution. It’s also an “atomic” distribution, which basically means it’s really hard to break it. It’s more like Android or IOS where the OS and base system are managed by someone else. They’re read-only so you can’t accidentally break them.
For example, instead of trying to manage your own video card drivers, they come packaged with the base system image, and they’re tested to make sure they work with all the other base components.
I’ve been using Linux since the 1990s, so I’ve run my share of distributions: Slackware, RedHat, Gentoo, Debian, Ubuntu, etc. Even for someone experienced, atomic distributions are great. But, for a newcomer they’re so much better.
How does Bazzite fare when I want to do something a bit different. Install docker, Python, PHP, sqlite, etc. I’d normally just install them, but does this work for Bazzite and other atomic/immutable distros?
So, there are multiple ways of installing things. For GUI apps the standard way is flatpaks. Some non-GUI things are installed that way, but it’s less common.
The method I like for apps that have a lot of interdependencies is to use a distrobox. If you want a development environment where multiple apps all talk to each-other, you can isolate them on their own distrobox and install them however you like there.
I currently have a distrobox running ubuntu that I use for a kubernetes project. In that distrobox I install anything I need with apt, or sometimes from source. Within that kubernetes project I use mise-en-place to manage tools just for that particular sub-project. What I like about doing things this way is that when I’m working on that project I have all the tools I need, and don’t have to worry about the tools for other projects. My base bazzite image is basically unchanged, but my k8s project is highly customized.
If you really want to, you can still install RPMs as overlays to the base system, it’s just not recommended because that slows down upgrades.
I moved to endeavouros. First time using a rolling release, and I was struggling with some webdev stuff cause node was on a recent non-lts build and a few other things.
Not a problem for building, cause I already have that containerised. But things like installing packages was refusing, and obviously couldn’t run dev workflows.
Until I realised I should just work inside a container.
I know vscode is still Microsoft (and I’m sure I could get it to work with vscodium), but the dev container workflow is fantastic.
Absolute game changer.
And I know I can easily work on a different platform, os whatever. And still have the same dev environment.
Until I realised I should just work inside a container.
Yeah, it’s a game changer. Especially if you have different projects on the go. I’m used to having to deal with an ugly path with all kind of random things in it because I need them for one project. But, with containers / distroboxes / toolbx you can keep those changes isolated.
Awesome, thanks for the explanation! I’d been put off Bazzite and other immutable distros because I had seen threads saying you basically needed flatpak for everything, but it sounds like that’s not true.
I don’t need a project at the moment but I will give this a go once I am ready for one!
Yeah, I only use flatpak for GUI apps that don’t need any special handling. To be fair, that’s a decent number of the things I use most often: Firefox, Thunderbird, Signal, Kodi, Discord, Gimp, VLC. I think it’s also how I installed some themes for KDE / Plasma.
Console stuff I’ve either done in a distrobox using the conventions of that OS (apt for the Ubuntu one, DNF for the Fedora one), or I’ve used homebrew. But, I haven’t used too much homebrew because I want my “normal” console to be as unchanged as possible.
There are a few things I’ve used distrobox-export to make available outside the distrobox.
It took me a little while to understand how you’re supposed to think about the system, but now that I think I get it, I really like it. My one frustration is that there’s an nVidia driver bug that’s affecting me, and nVidia has been unable to fix it for a few months. I think I’d be in exactly the same situation with a traditional distro. The difference is that if they ever fix it, I’ll have to wait a couple of weeks until the fix makes it to the Bazzite stable build. I suppose I could switch to Bazzite testing and get it within days of it being fixed instead of weeks. Apparently just use a “rebase” command and reboot. But, I’m hesitant to do that because other than the nVidia driver, everything’s so stable.
I find this interesting as I’m a beginner with only about 3 months of Linux use under my belt, whereas Ive used Windows since I was like 5 years old, and I found Debian to be a really good introduction to Linux. I was originally recommended Mint, like many are, and I found the experience to be a negative one as opposed to my later experience with Debian. (Note I have no experience with Bazzite or any other distros).
The additional ‘bloat’ in Mint obfuscated from me various aspects of Linux. It insulated me from learning how Linux is different from Windows, and that actually hindered me from understanding the OS. By starting with Debian I got a feel for using the CLI, setting up my drivers, package installer, and desktop environment. And, while those aspects can be complicated for new users, i think its somewhat necessary that they get a feel for them if Linux is going to be recommended as their OS.
Debian is fine as an introduction to Linux, if that’s what you want. But, as a beginner, you’re going to screw up, and Debian doesn’t do anything to protect you from that.
Atomic distributions let you use Linux but make it harder to shoot yourself in the foot. It’s much harder to break the system in a way you can’t just reboot to fix it.
It all depends on what your goal is. If your goal is to learn Linux by using it, then by all means, go for a traditional distribution. Debian is nice, but I’d go for Ubuntu. But, if your goal is to have a stable system that you can’t screw up as a beginner I’d go with an atomic distribution. If your goal is to play games, Bazzite is hard to beat.
You can still learn Linux if you use an atomic distribution. Configuring and using the desktop environment is basically the same. But, you don’t need to worry about your drivers, and you don’t install packages the traditional way. If you want to learn those things, you can run a VM or a distrobox.
Has your fiancé had to update drivers? Has he had to upgrade to a new release? Has he had to figure out how to install a version of something that isn’t in the Debian stable repositories?
If the only application your fiancé uses is Firefox, then he might go a long time before having any kind of problem. It all depends on how he uses it.
If it’s a her, you mean fiancée, fiancé is used only for men. And, it’s basically a chromebook in how she uses it. But, chromebooks are designed so that you never have to do any system administration. You never have to upgrade drivers or figure out how to get to the next release.
She probably hasn’t had to deal with that yet, but eventually the system will have to be updated. Over time, cruft piles up and makes it harder and harder to upgrade and manage. Atomic distributions are designed to be much more like chromebooks. Someone else manages the upgrades and the tricky choices, and then you just install their base image.
Autocorrect on my phone always chooses fiancé for some damn reason but I showed her how to update when I set it up for her and she’s been keeping up with it checking once a week and she’s had a couple questions I’ve had to answer but less then when she was just trying to do basic things on windows so it’s been great for me
I completely disagree. Debian is not beginner-friendly. Go with Bazzite if your focus is gaming.
It is a gaming-focused distribution. It’s also an “atomic” distribution, which basically means it’s really hard to break it. It’s more like Android or IOS where the OS and base system are managed by someone else. They’re read-only so you can’t accidentally break them.
For example, instead of trying to manage your own video card drivers, they come packaged with the base system image, and they’re tested to make sure they work with all the other base components.
I’ve been using Linux since the 1990s, so I’ve run my share of distributions: Slackware, RedHat, Gentoo, Debian, Ubuntu, etc. Even for someone experienced, atomic distributions are great. But, for a newcomer they’re so much better.
How does Bazzite fare when I want to do something a bit different. Install docker, Python, PHP, sqlite, etc. I’d normally just install them, but does this work for Bazzite and other atomic/immutable distros?
So, there are multiple ways of installing things. For GUI apps the standard way is flatpaks. Some non-GUI things are installed that way, but it’s less common.
For CLI apps, homebrew is installed by default and it’s recommended as a way to install CLI things.
The method I like for apps that have a lot of interdependencies is to use a distrobox. If you want a development environment where multiple apps all talk to each-other, you can isolate them on their own distrobox and install them however you like there.
I currently have a distrobox running ubuntu that I use for a kubernetes project. In that distrobox I install anything I need with apt, or sometimes from source. Within that kubernetes project I use mise-en-place to manage tools just for that particular sub-project. What I like about doing things this way is that when I’m working on that project I have all the tools I need, and don’t have to worry about the tools for other projects. My base bazzite image is basically unchanged, but my k8s project is highly customized.
If you really want to, you can still install RPMs as overlays to the base system, it’s just not recommended because that slows down upgrades.
More details here:
https://docs.bazzite.gg/Installing_and_Managing_Software/
I moved to endeavouros. First time using a rolling release, and I was struggling with some webdev stuff cause node was on a recent non-lts build and a few other things.
Not a problem for building, cause I already have that containerised. But things like installing packages was refusing, and obviously couldn’t run dev workflows.
Until I realised I should just work inside a container.
I know vscode is still Microsoft (and I’m sure I could get it to work with vscodium), but the dev container workflow is fantastic.
Absolute game changer.
And I know I can easily work on a different platform, os whatever. And still have the same dev environment.
Yeah, it’s a game changer. Especially if you have different projects on the go. I’m used to having to deal with an ugly path with all kind of random things in it because I need them for one project. But, with containers / distroboxes / toolbx you can keep those changes isolated.
Awesome, thanks for the explanation! I’d been put off Bazzite and other immutable distros because I had seen threads saying you basically needed flatpak for everything, but it sounds like that’s not true.
I don’t need a project at the moment but I will give this a go once I am ready for one!
Yeah, I only use flatpak for GUI apps that don’t need any special handling. To be fair, that’s a decent number of the things I use most often: Firefox, Thunderbird, Signal, Kodi, Discord, Gimp, VLC. I think it’s also how I installed some themes for KDE / Plasma.
Console stuff I’ve either done in a distrobox using the conventions of that OS (apt for the Ubuntu one, DNF for the Fedora one), or I’ve used homebrew. But, I haven’t used too much homebrew because I want my “normal” console to be as unchanged as possible.
There are a few things I’ve used distrobox-export to make available outside the distrobox.
It took me a little while to understand how you’re supposed to think about the system, but now that I think I get it, I really like it. My one frustration is that there’s an nVidia driver bug that’s affecting me, and nVidia has been unable to fix it for a few months. I think I’d be in exactly the same situation with a traditional distro. The difference is that if they ever fix it, I’ll have to wait a couple of weeks until the fix makes it to the Bazzite stable build. I suppose I could switch to Bazzite testing and get it within days of it being fixed instead of weeks. Apparently just use a “rebase” command and reboot. But, I’m hesitant to do that because other than the nVidia driver, everything’s so stable.
Lucky for me I don’t have any Nvidia so things sail a bit smoother.
Thanks for all the advice 🙂
I find this interesting as I’m a beginner with only about 3 months of Linux use under my belt, whereas Ive used Windows since I was like 5 years old, and I found Debian to be a really good introduction to Linux. I was originally recommended Mint, like many are, and I found the experience to be a negative one as opposed to my later experience with Debian. (Note I have no experience with Bazzite or any other distros).
The additional ‘bloat’ in Mint obfuscated from me various aspects of Linux. It insulated me from learning how Linux is different from Windows, and that actually hindered me from understanding the OS. By starting with Debian I got a feel for using the CLI, setting up my drivers, package installer, and desktop environment. And, while those aspects can be complicated for new users, i think its somewhat necessary that they get a feel for them if Linux is going to be recommended as their OS.
Debian is fine as an introduction to Linux, if that’s what you want. But, as a beginner, you’re going to screw up, and Debian doesn’t do anything to protect you from that.
Atomic distributions let you use Linux but make it harder to shoot yourself in the foot. It’s much harder to break the system in a way you can’t just reboot to fix it.
It all depends on what your goal is. If your goal is to learn Linux by using it, then by all means, go for a traditional distribution. Debian is nice, but I’d go for Ubuntu. But, if your goal is to have a stable system that you can’t screw up as a beginner I’d go with an atomic distribution. If your goal is to play games, Bazzite is hard to beat.
You can still learn Linux if you use an atomic distribution. Configuring and using the desktop environment is basically the same. But, you don’t need to worry about your drivers, and you don’t install packages the traditional way. If you want to learn those things, you can run a VM or a distrobox.
In what world is a Debian base not beginner friendly my fiancé that could barely use windows is using it just fine
Did she set it up herself?
For the most part
Has your fiancé had to update drivers? Has he had to upgrade to a new release? Has he had to figure out how to install a version of something that isn’t in the Debian stable repositories?
If the only application your fiancé uses is Firefox, then he might go a long time before having any kind of problem. It all depends on how he uses it.
It’s basically a Chromebook for her
If it’s a her, you mean fiancée, fiancé is used only for men. And, it’s basically a chromebook in how she uses it. But, chromebooks are designed so that you never have to do any system administration. You never have to upgrade drivers or figure out how to get to the next release.
She probably hasn’t had to deal with that yet, but eventually the system will have to be updated. Over time, cruft piles up and makes it harder and harder to upgrade and manage. Atomic distributions are designed to be much more like chromebooks. Someone else manages the upgrades and the tricky choices, and then you just install their base image.
Autocorrect on my phone always chooses fiancé for some damn reason but I showed her how to update when I set it up for her and she’s been keeping up with it checking once a week and she’s had a couple questions I’ve had to answer but less then when she was just trying to do basic things on windows so it’s been great for me