I recently took up Bazzite from mint and I love it! After using it for a few days I found out it was an immutable distro, after looking into what that is I thought it was a great idea. I love the idea of getting a fresh image for every update, I think for businesses/ less tech savvy people it adds another layer of protection from self harm because you can’t mess with the root without extra steps.

For anyone who isn’t familiar with immutable distros I attached a picture of mutable vs immutable, I don’t want to describe it because I am still learning.

My question is: what does the community think of it?

Do the downsides outweigh the benefits or vice versa?

Could this help Linux reach more mainstream audiences?

Any other input would be appreciated!

  • @KrispeeIguana@lemmy.ml
    link
    fedilink
    474 months ago

    It’s definitely great for the mainstream. Think of Linus Sebastian who has somehow broken every OS except for SteamOS.

    It’s not great for me who uses Arch Linux btw with the expectation that if the system doesn’t break on its own, then I will break it myself.

    • @D_Air1@lemmy.ml
      link
      fedilink
      94 months ago

      Honestly, I would say it isn’t great for anyone who has to do something low level even once. Now that there are open source nvidia kernel drivers that has solved a pretty big issue for most people who would be interested in immutable distros, but there are still many other drivers and issues that your regular user may face.

      One example off the top of my head is that flatpaks specifically can’t ship systemd services if I recall correctly. A lot of wayland apps for thigns like input have to use daemons because of wayland’s security model. Lact for AMD and now Nvidia GPU control, ydotool, or even gui versions of such tools for remapping input.

      Snaps require custom kernel modules that aren’t used outside of ubuntu, so I hesitate to trust them regardless of any of the other issues people have with them.

      This basically leaves appimages which aren’t available for everything and don’t always seem to work at least not as reliably as flatpak. I even tried to package the rstudio forensic software as an appimage myself, so I could have an easy way to use that proprietary piece of software, but I just couldn’t get it to work. I couldn’t get it to work with distrobox either using the official methods they provide to install it on linux. I did get it working in a chroot for some reason, but it had graphical issues. In the end, I made a PKGBUILD for arch and got it working that way.

      The point of all this is that a lot of times people say immutable is great for average, non tech savvy people, but I believe that literally everybody ends up needing to do low level stuff at least once or twice every so often. Which simply isn’t a great experience since you end up having to do layering which throws these theoretical average users right back into the normal complexity of a mutable system, but with even more uncertainty in my opinion.

      Now then with all of these caveats. I do still agree that immutable distros are great for the aforementioned group of people and I know this statement contradicts a lot of what I have described above. The reason why I think they are great for the less tech savvy people however isn’t because of any actual technical merit of the systems design though. Immutable distros are great for people like Linus Sebastion because it limits what they can do. You simply have to accept what is there the same way that you have to on proprietary systems like Mac and Windows. Those systems force you to do things a certain way unlike Linux and that is what people like Linus need because they have no business mucking around with the system to begin with.

      Lastly, all of this only works because devices like the Steam Deck are being run on specific hardware thus guaranteeing there compatibility. This is what we ultimately need. There would be much less need for low level operations to get drivers or change settings to make wifi or audio work right on a billion different devices if these people were buying linux compatible hardware in the first place.

      • @chunkystyles@sopuli.xyz
        link
        fedilink
        English
        44 months ago

        You can install packages in immutable distros. It’s just not as easy and recommended as a last resort.

        With Universal Blue (Bazzite, Bluefin, Aurora) you can install packages with “layering”. It’s basically modifying the image by adding packages on top of what is shipped by the distro, and those packages get added each time the image is updated.

        The better, more involved solution is to create your own image from the base image. That gives you a lot more control. You can even remove packages from the base image.

      • @patatahooligan@lemmy.world
        link
        fedilink
        34 months ago

        These are valid concerns but to me they sound more like lack of tooling rather than inherent disadvantages of immutable distros. Linux distros have not historically been designed from the ground up for immutability and it makes sense that there are issues that aren’t handled optimally. Surely we can come up with clean and simple solutions to basic problems like setting up daemons and drivers if we work on it!

      • @FooBarrington@lemmy.world
        link
        fedilink
        24 months ago

        Weird, I don’t have any issues developing custom systemd services or similar on my Kinoite installation. Packages that need to run on the host system can be layered, everything else is running in distrobox.

      • @KrispeeIguana@lemmy.ml
        link
        fedilink
        24 months ago

        He can be an asshole, but I believe finding bugs is part of his job.

        Would you rather have him find them and complain to a community who might know what they could be, or someone else who will just complain and buy a MacBook instead?

  • Lettuce eat lettuce
    link
    fedilink
    444 months ago

    Immutable distros are great for applications where you want uniformity for users and protections against users who are a little too curious for their own good.

    SteamOS is a perfect use case. You don’t want users easily running scripts on their Steam Decks to install god knows what and potentially wreck their systems, then come to Valve looking for a fix.

    Immutable distros solve that issue. Patches and updates for the OS roll out onto effectively identical systems, and if something does break, the update will fail instead of the system. So users will still have a fully functional Steam Deck.

    If you’re not very technical, or you aren’t a power user and packaged apps like Flatpaks are available for all your software, then go for it. I prefer to tinker under the hood with my computers, but I also understand and except the risk that creates.

    Immutable distros are a valuable part of a larger, vibrant Linux ecosystem IMO.

    • @chunkystyles@sopuli.xyz
      link
      fedilink
      English
      164 months ago

      Immutable are the ultimate tinkerer’s distros. It’s just a different way of tinkering. True tinkering in immutable means creating your own image from the base image and that allows you to add or remove packages, change configs, services, etc.

      Example: you create your own image. You decide you want to try something, but you’re being cautious. So you create a new image based on your first with your changes. You try it out and you don’t like it or it doesn’t work for some reason, you can just revert back to you other image.

      Another thing worth mentioning, with these distros, you can switch between images at will. I’m new to Linux as my daily driver desktop OS, and I’ve rebased three times. It’s really cool to be able to do that.

      • @priapus@sh.itjust.works
        link
        fedilink
        English
        124 months ago

        Don’t know why this would be downvoted. Atomic distro’s are a tinkerers paradise, as all of it can be done fearlessly. I can make stupid changes to configurations that I don’t understand on NixOS, then when things break, simply revert the git commit and rebuild. (Or reboot to the last build if I broke it bad enough).

        • @chunkystyles@sopuli.xyz
          link
          fedilink
          English
          24 months ago

          Who knows. People are passionate about Linux. And downvoting takes no effort. And people downvote stuff randomly.

          • @gubblebumbum@lemm.ee
            link
            fedilink
            English
            14 months ago

            if something makes linux more secure, safer or easier to use then it’ll be hated because people in the linux community are allergic to all those things. Secure boot? they hate it, wayland? they hate it, immutability? they hate it, flatpaks/sandboxed app? they hate it, gnome? they hate it. Even rust is hated by many.

  • @kibiz0r@midwest.social
    link
    fedilink
    English
    24
    edit-2
    4 months ago

    NixOS is kinda the best of both worlds, because it does everything in a way that is compatible with an immutable fs, but it doesn’t force you into abiding by immutability yourself.

    You can always opt into immutability by using Impermanence, but I’ve never seen any reason to.

    Edit: That said, the syntax has a steep learning curve and there are tons of annoying edge cases that spawn out of the measures it takes to properly isolate things. It can be a lot to micromanage, so if you’d rather just use your system more than tinker with it, it may not be a good fit.

  • Günther Unlustig 🍄
    link
    fedilink
    21
    edit-2
    4 months ago
    • You can still apply updates live, e.g. on Bazzite (Fedora Atomic) with the --apply-live tag (or however it’s spelled).
    • The root partition isn’t read only per se, but you have to change the upstream image itself instead of the one booted right now. You can use the uBlue-Builder for example to make your own custom Bazzite spin just for you if you want.
    • Both aren’t inherently secure or insecure. It’s harder to brick your system, yeah, for sure, but you can still fuck up some partitions or get malware. It’s just better because everything is transparently identifiable (ostree works like git), saved (fallback images), containerised and reproducible.
    • And you can still install system software, e.g. by layering it via rpm-ostree. Or use rootful containers in Distrobox and keep using apt or Pacman in there.
    • @Kroxx@lemm.eeOP
      link
      fedilink
      34 months ago

      Distrobox is something I want to start playing with, I like the idea of the containers

  • @Grangle1@lemm.ee
    link
    fedilink
    164 months ago

    I personally vastly prefer mutable distros for my own system, but I understand the appeal for those who like them. As long as mutable distros remain an option I don’t mind immutable distros.

  • @noodles@sh.itjust.works
    link
    fedilink
    13
    edit-2
    4 months ago

    Secure != stable Immutable distros aren’t always more secure but rather more stable and hard to break Also btw nixos can apply updates without rebooting

  • Hemingways_Shotgun
    link
    fedilink
    English
    94 months ago

    I don’t mind flatpaks in a pinch, but having to use them for literally every app on my computer is an unreasonable amount of bloat.

    • @IrritableOcelot@beehaw.org
      link
      fedilink
      34 months ago

      The barrier for me is that I use a lot of apps which require native messaging for inter-program communication (keepass browser, citation managers talking to Libreoffice, etc.), and the portal hasn’t been implemented yet. Its been stuck in PR comment hell for years. Looks like its getting close, but flatpak-only is a hard no go for me until then.

      Even after that, I would worry about doing some Dev work on atomic distros, and I worry about running into other hard barriers in the future.

      • Hemingways_Shotgun
        link
        fedilink
        English
        8
        edit-2
        4 months ago

        Not when every app decides to use a different point version of the same damn platform.

        "Hello Mr. Application. I see you’d like to use the Freedesktop-SDK 23.08.27

        “Oh…well hello other application. What’s this? You want to use Freedesktop-SDK 24.08.10? Well…I guess so…”

        Edited to add: Yes, I know that flatpaks will upgrade to use updated platforms. But it doesn’t automatically remove the old one, forcing you to have to run flatpak remove --unused every week just to keep your drive clean. That’s hardly user friendly for the average person.

        • @SpatchyIsOnline@lemmy.world
          link
          fedilink
          24 months ago

          The average person has a 1tb+ drive and doesn’t care about a few hundred megabytes of bloat in a partition they will never look at. If someone is switching from Windows, every app having its dependencies self contained is mostly normal anyway (aside from the occasional system provided dll). The only people likely to care about removing old flatpak platforms are the kind of people who don’t mind running the command to remove them.

        • @fruitycoder@sh.itjust.works
          link
          fedilink
          24 months ago

          I had a systemd unit that ran it weekly after the update one ran. I feel like the default behavior though should be automatic purge old unused runtimes though too. I don’t see why that wouldn’t the case to me.

          I’ve even gone so far as wanting to force run time changes underneath the packs because of Caves and such, but thats my niche and puts security over function.

          Definitely not a free lunch sys admin wise, but it is still a marked improvement over native apps 98% of the time for me.

    • @apt_install_coffee@lemmy.ml
      link
      fedilink
      6
      edit-2
      4 months ago

      I’d argue it’s closer to a mutable distro than an immutable one.

      Nixos tends to lean on the term reproducible instead of immutable, because you can have settings (e.g files in /etc & ~/.config) changed outside of nix’s purview, it just won’t be reproducible and may be overwritten by nix.

      You can build an ‘immutable’ environment on nix, but rather than storing changes as transactions like rpm-ostree, it’ll modify path in /nix/store and symlink it. Sure, you can store the internal representation of those changes in a git repo, but that is not the same thing as the changes themselves; if the nixpkgs implementation of a config option changes, the translation on your machine does too.

    • YonderEpochs
      link
      fedilink
      34 months ago

      Feel like elaborating? I’ve been running it for a couple weeks and very happy so far. One nice little feature was how I can just scroll on top of the little sun icon in the taskbar and my monitors dim and brighten. But that’s prolly a Plasma thing more than anything else.

      • qaz
        link
        fedilink
        English
        44 months ago

        That’s indeed a Plasma thing

        • @kurcatovium@lemm.ee
          link
          fedilink
          English
          24 months ago

          I had to turn it off (which is easy in plasma) because I have two different monitors and they have different brightness, so it was either first one insanely bright to other one being normal or first being normal to second barely dim.

      • Kangy
        link
        fedilink
        English
        34 months ago

        I use plasma and had no idea this was a thing. Thank you

        • YonderEpochs
          link
          fedilink
          14 months ago

          My new measure for intuitiveness of an interface - do half-drunk, clumsy fumblings with a mouse occasionally reveal a slick new feature I wasn’t aware of?

  • Glitterkoe
    link
    fedilink
    84 months ago

    I love building my own uBlue image. Tinkering is done in toolbox containers, definite changes are baked into the image. Completely custom (to me) and when you get it right it will just work anywhere. If I would brick my PC/storage I can just boot up another and restore my (back-upped) home dir with very little effort.

      • @kixik@lemmy.ml
        link
        fedilink
        1
        edit-2
        4 months ago

        Well it’s a bit confusing. On Guix’ wiki General features you can read:

        Guix keeps track of these references automatically so that installed packages can be garbage collected when no other package depends on them - at the cost of greater storage requirements, all upgrades in Guix are guaranteed to be both atomic and can be rolled back.

        The roll-back feature of Guix is inherited from the design of Nix and is rarely found in other operating systems, since it requires an unorthodox approach to how the system should function (see MicroOS).

        And then on its wiki Guix System (operating system) Roll-back you can read:

        This is accomplished by a combination of Guix’s functional package manager, which treats each package and system configuration as an immutable and reproducible entity,[58] and the generation system which maintains a history of system configurations as “generations.”

        So the system configurations on a Guix system are actually immutable, as opposed to regular gnu+linux distributions, which can change the system configuration on the fly. What else is immutable on Guix, I can’t tell, but at least you can not change its system configs. What is atomic is the upgrades.

        I’m not sure, but as Guix borrowed these properties from Nix, I’d think this applies to Nix as well.

        In other words, at least the Guix system has immutable components. And further, the system config which is immutable, is also declarative. Combining those two things might be intimidating, since it’s not like on the fly one can go and change the system config, which might be required when debugging some misbehavior, and it’s what most distros document, then one needs to learn about guile, and a bit about functional programming I guess or at least their basics… Deploying systems might take advantage of such declarative configurations though…

        • @kixik@lemmy.ml
          link
          fedilink
          1
          edit-2
          3 months ago

          BTW, just in case, not only the system configs are inmutable on Guix, the root/system directory is also read-only making it an inmutable distribution. So the argument that the Guix system is not inmutable is not correct. There are many places clearly stating that, but the itsfoss 12 inmutable linux distributions is one of them, and by its definition of inmutable:

          An immutable distro ensures that the operating system’s core remains unchanged. The root file system for an immutable distro remains read-only, making it possible to stay the same across multiple instances.

          So Guix is actually an unmutable distribution. But moreover, it’s much more than that.

  • @penquin@lemm.ee
    link
    fedilink
    74 months ago

    I think it’s good if you have a ton of storage and want to set it and forget it. For me, immutable depresses me. I came to Linux for the tinkering and the ability to do what I please to my system, not to be restricted. That’s just me, though. For handhelds/strictly gaming machine (a Steam machine for example)? I think immutable is the perfect fit for it.

    • @FooBarrington@lemmy.world
      link
      fedilink
      44 months ago

      Do you have any examples of the kind of “tinkering” you couldn’t do with an immutable distro? I haven’t run into any restrictions after more than a year.

      • @penquin@lemm.ee
        link
        fedilink
        14 months ago

        You can’t even install packages using sudo. You can, but they’ll be overridden on next update.

        • @FooBarrington@lemmy.world
          link
          fedilink
          14 months ago

          … why would you want to install packages with sudo? The proper way is to install them (as a user, not root) using rpm-ostree, which will layer the packages on top of the image, automatically installing them for every future system as well.

          You haven’t actually looked into immutable distributions, have you?

          • @penquin@lemm.ee
            link
            fedilink
            1
            edit-2
            4 months ago

            I admit that I didn’t know about how rpm-ostree is capable of what you mentioned, but I still don’t like immutables for the other reasons I’ve mentioned. I did look into them and I can’t use them. I like my regular distro

            • @FooBarrington@lemmy.world
              link
              fedilink
              1
              edit-2
              4 months ago

              I keep hearing this, but people never elaborate on those “other reasons”. Did I miss where you mentioned them?

              You mentioned storage, but AFAIK atomic Fedora doesn’t use more space (unless you keep multiple versions for rolling back).

              • @penquin@lemm.ee
                link
                fedilink
                1
                edit-2
                4 months ago

                I don’t want to deal with images. I don’t want to have to be cleaning the system from those images to reclaim my storage. I dislike flatpaks, snaps and appimage on which immutable distros rely. The lack of customization as you can’t modify system files or install traditional packages outside the immutable framework, which limits personal tweaks. Apps availability, not all apps on the planet exist in flatpaks. The learning curve. Having to change the way I interact with my computer completely, I’m too fucking lazy for that and way too cozy where I am. They’re just a burden that I don’t want to deal with and I hope that that’s ok with you. Lmao

                • @FooBarrington@lemmy.world
                  link
                  fedilink
                  14 months ago

                  Of course it’s ok! You do whatever you want. Though I’d like to clear up a couple of misconceptions:

                  I don’t want to deal with images. I don’t want to have to be cleaning the system from those images to reclaim my storage.

                  You don’t have to, happens automatically.

                  I dislike flatpaks, snaps and appimage on which immutable distros rely.

                  Fair, though you don’t have to use them at all - you could run everything in a distrobox.

                  The lack of customization as you can’t modify system files or install traditional packages outside the immutable framework, which limits personal tweaks.

                  This really depends on what system files you mean. Anything in /etc/? Fully writable. Everything is configurable either in your home directory or in /etc/, so I haven’t run into any issues with not being able to modify something - and if you do run into that, you always have distrobox.

                  Apps availability, not all apps on the planet exist in flatpaks.

                  Don’t need to, you have distrobox for that.

                  The learning curve.

                  That’s fair. It’s been very small for me, and the issues have helped me become a better Linux developer, but it does bring its own problems in some cases.

                  Having to change the way I interact with my computer completely, I’m too fucking lazy for that and way too cozy where I am.

                  That’s the thing, I hear this a lot, and I just don’t know what the big changes are. I installed Kinoite, set up a distrobox, and have been smooth sailing since - all my previous installations have had far more issues, and I just haven’t really changed much (besides switching from Ubuntu to Fedora, but I’m happy about that, fuck Canonical).

  • @oaklandnative@lemmy.world
    link
    fedilink
    6
    edit-2
    4 months ago

    I’m using Bluefin and overall it’s great. However, there are some unique issues due to immutability and flatpak.

    1. It’s more difficult to utilize a NAS. For example, on something like Mint, I can open Proton Drive on Firefox, and I can use FF to upload files from my NAS to PD.

    On Bluefin, I can access my NAS and all files using the Files app, but not using FF, and I cannot accomplish the above task in the same way. Firefox cannot fully access my NAS, and I have not figured out how to make it work. I’ve played around with Flatseal, but no dice. Instead, I need to use Files to download the files from my NAS to a local folder, and then I can use Firefox to upload to PD from that local folder. I’m guessing there is a better way, but I haven’t figured it out yet.

    EDIT: This thread motivated me to try and fix this issue. Installing Firefox using rpm-ostree worked. I expected it would, though I am still hoping to figure this out using the Flatpak version at some point. I also tried using Distrobox/Box Buddy to create a Fedora 40 box and install Firefox there. That version of Firefox couldn’t even see my NAS at all (unlike the Flatpak which could see my NAS but couldn’t upload files from the NAS to Proton). This was my first time ever using Distrobox. I thought it was super cool to see it in action and get a working Firefox, even though I couldn’t use it to access my NAS as hoped.

    1. I would desperately like to use a screenshot tool with built-in annotations, but I haven’t found a flatpak that works. As I understand, it might have something to do with flatpak combined with Wayland and/or my Nvidia GPU.

    So while most things “just work,” there are some problems. Planning to stick with it and keep learning. I do love the concept and I’m overall very happy with everything.

    • @Kroxx@lemm.eeOP
      link
      fedilink
      34 months ago

      For #1 could you use distrobox to run it with another OS? I’m pretty new to all this so I could be way out in left field lol.

      • @oaklandnative@lemmy.world
        link
        fedilink
        24 months ago

        I haven’t tried any distobox stuff yet but I’m very curious. I will at some point.

        Whoever downvoted this is lame. I appreciate your question.

      • @oaklandnative@lemmy.world
        link
        fedilink
        24 months ago

        I added this edit above. Pasting here in case you are curious. Cheers.

        EDIT: This thread motivated me to try and fix this issue. Installing Firefox using rpm-ostree worked. I expected it would, though I am still hoping to figure this out using the Flatpak version at some point. I also tried using Distrobox/Box Buddy to create a Fedora 40 box and install Firefox there. That version of Firefox couldn’t even see my NAS at all (unlike the Flatpak which could see my NAS but couldn’t upload files from the NAS to Proton). This was my first time ever using Distrobox. I thought it was super cool to see it in action and get a working Firefox, even though I couldn’t use it to access my NAS as hoped.

    • @asap@lemmy.world
      link
      fedilink
      English
      24 months ago

      I use Proton Drive on Librewolf on Bluefin without issues, so that seems a little odd. It might be an issue with what access you’ve given the fkatpak. Flatseal is the right place to look.

      • @oaklandnative@lemmy.world
        link
        fedilink
        14 months ago

        Are you using librewolf to upload files from your NAS to Proton Drive?

        I readily admit I am still not super proficient with flatseal. I spent a lot of time trying to fix this by adjusting the file permissions, but I’m now wondering if it was some other local network setting I missed.

        I also don’t use fstab to mount my NAS. I just sign in using Files which creates a smb link. On Firefox/proton drive website I can see the files but I cannot upload them directly to Proton Drive from my NAS using Firefox (or Zen) on bluefin.

        • @asap@lemmy.world
          link
          fedilink
          English
          14 months ago

          In the Filesystem section for that app in Flatseal, you need to add the path to your NAS drive (the same SMB path that it’s mounted in the Files app). That will give your FF flatpak access to that location.

          • @oaklandnative@lemmy.world
            link
            fedilink
            14 months ago

            Thanks. I tried that using:

            smb://[NAS NAME].local/[FOLDER NAME]/

            I copied that path straight out of the Files app. Unfortunately it does not work. There is a yellow exclamation point flag next to it that says “This is not a valid option.”

            I ended up installing the rpm-ostree version of Firefox, which accesses my Nas just fine for proton drive uploads. I do hope to eventually figure out how to do this with flatpak/flatseal, but this works for now at least. I appreciate the help!