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!

  • Integrate777@discuss.online
    link
    fedilink
    arrow-up
    18
    ·
    edit-2
    5 days ago

    I heard both flatpak and immutability are obstacles to developers. How bad is it really?

    I’ve had NixOS absolutely refuse to run some compiler toolchain I depended upon that should’ve been dead simple on other distros, I’m really hesitant to try anything that tries to be too different anymore.

    • priapus@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      edit-2
      4 days ago

      NixOS likely only refused to run it because you weren’t running it in the Nix way. That’s not a jab or anything, Nix has a huge learning curve and requires doing a lot differently. You’re supposed to use devshells whenever doing development. If you want something to just work, you use a container.

      Whatever issue you ran into most likely had nothing to do with NixOS being immutable, and was probably caused by the non standard filesystem hierarchy, which prevents random dynamically linked binaries from running.

      I’ve never heard of flatpak and immutability being obstacles to developers, in fact I generally hear the opposite. Bluefin is primarily targeted at developers, and some apps will only officially support the flatpak distribution, like Bottles, because of the simplicity and benefits it brings over standard distro packaging.

    • FooBarrington@lemmy.world
      link
      fedilink
      arrow-up
      11
      ·
      5 days ago

      It would be a problem without distrobox. Since that gives you a normal, mutable OS on top, you don’t even notice the immutability.

    • ivn@jlai.lu
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      1
      ·
      5 days ago

      I’ve had NixOS absolutely refuse to run some compiler toolchain I depended upon that should’ve been dead simple on other distros, I’m really hesitant to try anything that tries to be too different anymore.

      Yes, some toolchain expect you to run pre-compiled dynamically linked binaries. These won’t work on NixOS, you need to either find a way to install the binary from nix and force the toolchain to use it or run patchelf on it somehow.

    • Chloë (she/her)@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      1
      ·
      4 days ago

      Same issue, I still use nix on m’y laptop because it’s neat as can be, but I have to admit developing on nix can be quite a hassle if you don’t go it “the nix way”, moreover some packages don’t work as well because nix doesn’t link binaries the standard way (zed editor for example)

  • kibiz0r@midwest.social
    link
    fedilink
    English
    arrow-up
    30
    arrow-down
    1
    ·
    edit-2
    5 days 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.

      • kibiz0r@midwest.social
        link
        fedilink
        English
        arrow-up
        4
        ·
        5 days ago

        I suppose you’re right. It’s just another tool for helping you abide by immutable practices without forcing immutability as an unbreakable rule.

  • Fliegenpilzgünni@slrpnk.net
    link
    fedilink
    arrow-up
    27
    ·
    edit-2
    5 days 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
      arrow-up
      4
      ·
      5 days ago

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

      • CCMan1701A@startrek.website
        link
        fedilink
        arrow-up
        1
        ·
        4 days ago

        With Aurora, I was unable to get winehq working without installing it from a distrobox instead. I can now play SimTower on my Linux PC.

  • vga@sopuli.xyz
    link
    fedilink
    arrow-up
    8
    arrow-down
    3
    ·
    edit-2
    4 days ago

    I have investigated the idea and came to the conclusion that immutable distros are essentially a research project. They attempt to advance the state-of-art a slight bit but the cost is currently too great.

    Perhaps somebody will some day create something that’s worth switching to. But I don’t think that has happened yet, or is happening with any of the current distros. Silverblue might become that with enough polish, but I feel that to get that amount of polish, they would have to make Silverblue the 1st class citizen, i.e. the default install of Fedora.

  • oaklandnative@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    4 days 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
      arrow-up
      4
      arrow-down
      1
      ·
      5 days 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
        arrow-up
        2
        ·
        5 days 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
        arrow-up
        2
        ·
        4 days 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.

    • ivn@jlai.lu
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 days ago

      These seems to be related to flatpak, not immutability.

    • asap@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 days 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
        arrow-up
        1
        ·
        5 days 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
          arrow-up
          1
          ·
          5 days 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
            arrow-up
            1
            ·
            4 days 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!

  • Mwa@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    5 days ago

    I wonder if you can download Apparmor and Apparmor-d on mutable distros, But I faced issues of bwrap and I couldn’t find a SELinux equivalent for Apparmor-d i tried allowing Bwrap but it didnt work so i uninstalled Apparmor.

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    5 days ago

    TL;DR: My desktop PC uses EndeavourOS and the only immutable experience I have is SteamOS 3. I can’t say one approach is better than the other, but I like having the newest software and packages in my system. And that’s best provided with a rolling release. I also think that sandbox systems like Flatpak and the several alternative installation methods besides the system package manager is an added complexity for a new user in Linux.


    I don’t mind using an immutable system (BTW another term that describes this kind of system is Atomic, which comes from Fedora), as long as it is designed around it and works well. The only immutable system I use is on my Steam Deck with the pre-installed SteamOS 3. My generic desktop personal computer is using an Archlinux derivative EndeavourOS with a rolling-release, where I have much greater control over the system.

    Both systems have their strengths. I don’t think that my mutable and always up to date system is breaking more often than the other system. The best part of it is, its always up to date and I get the newest applications. I try to not use much Flatpaks or AppImages (but do for certain apps, where I have no other choice for ease of use). And an immutable system naturally basically asks me to use Flatpaks and other user space package formats that is not handled by the distribution itself.

    Even though I have some thoughts on it, I am not excluding one approach. Many say that immutable distributions are good for new users to Linux. I think this adds some complexity and problems, because they need to use sandbox systems like Flatpak. And that’s if they know that they are using Flatpak, because sometimes the app distribution gives options like AppImage and custom installer scripts as well. This is all confusing for someone who just starts with Linux. On top of it, the sandbox of Flatpak requires some additional setup and configuration for some apps, to access certain hardware or filesystems in example.

    All in all, I tend to like the traditional “mutable” distribution system as a rolling release model the most. But I’m an not excluding any other and would use a good “immutable” one; I just didn’t try any other than the one in my Steam Deck.

  • lnxtx (xe/xem/xyr)@feddit.nl
    link
    fedilink
    English
    arrow-up
    137
    arrow-down
    1
    ·
    5 days ago

    Immutable, doesn’t mean extreme secure. It’s a false sense of security.
    It could be more secure.
    But during a runtime, it is possible to overwrite operational memory, mask some syscalls, etc.

    That’s my 3 cents.

    • Chewy@discuss.tchncs.de
      link
      fedilink
      arrow-up
      21
      arrow-down
      1
      ·
      5 days ago

      Fully agreed. On almost any atomic distro, /home/user is writeable like usual, so any attacker is able to persist itself by editing ~/.bashrc and putting a binary somewhere.

    • Rusty@lemmy.ca
      link
      fedilink
      English
      arrow-up
      13
      ·
      5 days ago

      I didn’t know that inflation can affect idiomatic expressions.

    • vrighter@discuss.tchncs.de
      link
      fedilink
      arrow-up
      4
      ·
      5 days ago

      it doesn’t allow changes to stuff that needs root access to change. If you have root access you can do anything, including switching images. It is not more secure. It’s not less either

    • xylogx@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 days ago

      Secure can also mean more resilient. The infosec C-I-A triangle has three legs. Confidentiality, Integrity and Availability. Immutable distros are more resilient and thus offer better availability in the face of attacks or accidents.

  • KrispeeIguana@lemmy.ml
    link
    fedilink
    arrow-up
    69
    arrow-down
    1
    ·
    5 days 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
      arrow-up
      10
      ·
      5 days 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
        arrow-up
        5
        ·
        5 days 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
        arrow-up
        5
        ·
        5 days 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
        arrow-up
        2
        ·
        5 days 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
        arrow-up
        2
        ·
        1 day 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@lemmy.ml
    link
    fedilink
    arrow-up
    57
    arrow-down
    1
    ·
    5 days 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.

    • Norah (pup/it/she)@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      13
      ·
      edit-2
      5 days ago

      So Bazzite basically is an immutable 3rd-party SteamOS. It was originally designed for handhelds (though has desktop images now) and includes the Steam Deck’s gamemode package. That means it has the same interface, but working on a Legion Go or an Ally X. If anyone here has* any of those three you should seriously check it out!

      The other thing as well is that more often than not, the update will succeed and you won’t figure out until the next boot that something is wrong. However, Bazzite has a rollback tool so you can just change back to the previous image, reboot again and get to gaming.

      That’s the best reason for immutable for gaming IMO. I don’t want to be fucking around with the OS when I’m in the mood to game. Being able to quickly rollback and jump into things in ~10 minutes or less is how it should be.

    • chunkystyles@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      23
      arrow-down
      3
      ·
      5 days 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
        arrow-up
        14
        ·
        4 days 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
          arrow-up
          2
          ·
          4 days ago

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

          • gubblebumbum@lemm.ee
            link
            fedilink
            English
            arrow-up
            3
            arrow-down
            1
            ·
            4 days 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.

  • shekau@lemmy.today
    link
    fedilink
    arrow-up
    24
    arrow-down
    1
    ·
    5 days ago

    Immutable ≠ atomic

    Bazzite is atomic (not immutable), same with Silverblue and other Fedora variants (they’re all atomic, even on their main page it says atomic). It’s kinda misleading ngl

    • Fliegenpilzgünni@slrpnk.net
      link
      fedilink
      arrow-up
      10
      arrow-down
      1
      ·
      edit-2
      5 days ago

      Fedora Atomic IS immutable. Rpm-ostree just layers (or hides) stuff on top of the already existing image. If you layer something, e.g. Nvidia drivers, you still download the same image everyone else uses, but basically compile the driver from fresh and put it on top. And that takes time. This is the reason using rpm-ostree to layer stuff is not recommended.

      That’s why uBlue exists for example. It gives you a sane start setup, where all drivers are already built in into the image. And then you can either use the clean base and add your own stuff to create your own image, or use already great ones like Bluefin or Bazzite, where everything you want is already included.

      Atomic just means that every process is either completed without errors, or not at all. This way, you don’t get an half updated and broken system for example in case you loose power. Happened to me quite a few times already, but never with Fedora Atomic.

      Pretty much anything outside of /var/ (even /home/ is placed inside /var/) is read-only, and if you want to modify your install, you have to build your own image. Therefore, it is both immutable AND atomic.

      That’s why I prefer the term “image based”

    • Tgo_up@lemm.ee
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      5 days ago

      Isn’t that just their nomenclature for immutable?

      What’s the difference between an atomic distro and an immutable one?

      • priapus@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 days ago

        A distro can be both atomic and immutable, and they often go hand in hand.

        Immutable simply means the core of a distro is read-only, meaning it cannot be modified by usual means. There are still ways to modify these files, but it works differently than in other distros.

        Atomic distros are ones that update atomically. Atomic is used to describe an operation that cannot be cancelled in the middle of it, they either complete, or nothing changes. This means you can’t break things by cancelling an update midway through. Atomic distros also often come with the ability to rollback to the previous build of the system.

        • Tgo_up@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 days ago

          Doesn’t all immutable distros have updates that can’t be cancelled and that will either complete or not change anything?

          I only just started learning about immutable distros so I may be completely wrong but it’s how I understand them to work when reading about it.

    • priapus@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 days ago

      Immutable ≠ atomic, but they generally come as a package deal. Bazzite, Silverblue, and all those other distro’s that call themselves atomic are also immutable. An atomic distro is just one with atomic updates, and an immutable distro is any distro with a read-only core.

      These distro’s have started mainly calling themselves atomic because they agree that immutable is a poor description that generally confuses users.

  • noodles@sh.itjust.works
    link
    fedilink
    arrow-up
    22
    arrow-down
    1
    ·
    edit-2
    5 days 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

      • Chewy@discuss.tchncs.de
        link
        fedilink
        arrow-up
        12
        arrow-down
        2
        ·
        edit-2
        5 days ago

        NixOS is immutable and atomic, but it isn’t image-based.

        Immutable simply refers to how the running system configuration can’t be changed by simply putting a file somewhere (e.g. copy a binary to /bin, which is a bad idea).

        For example, Fedora Atomic and derivatives are image based, although they are more flexible than the A/B types like SteamOS.

        OpenSUSE MicroOS uses btrfs snapshots to apply updates atomically, and is more flexible than most image based immutable distros.

        Edit: But I don’t think those terms have a single definition, so how would you differentiate these terms?

        • ivn@jlai.lu
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          2
          ·
          5 days ago

          I’m on NixOS right now and just dropped a Chewy in my /bin, only had to sudo touch /bin/chewy.

          • Chewy@discuss.tchncs.de
            link
            fedilink
            arrow-up
            3
            ·
            5 days ago

            Good point. I’ll have to stop using immutable and stay with atomic (and declarative).

            Interestingly /bin and /usr/bin are not in PATH by default, so /bin/chewy can only be executed by its path directly and won’t affect the systems reliability.

          • priapus@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            ·
            5 days ago

            That doesn’t make it not immutable. /bin is not a critical directory in NixOS, only the contents of /nix are, which are immutable. /bin isn’t even part of your path by default.

            • ivn@jlai.lu
              link
              fedilink
              English
              arrow-up
              2
              ·
              5 days ago

              Well that was an approximation to keep it simple and disprove the given example. There are other directories in the root filesystem that are in the path by default, or used in some other critical way (like /etc). Even if they are links to directories in the nix store you can replace the link.

              • priapus@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                5 days ago

                I understand, but it didn’t really disprove anything. Immutable distro’s protect core components from being modified. /bin is hardly relevant on NixOS, so of course it wouldn’t be made immutable.

                /etc is also generally not considered a core component, and every immutable distro I’ve used left it writable. By default, every binary installed through NixOS is put in /run/current-system/sw/bin, which is immutable. Many other important files are also linked to /run/current-system, which is why the whole directory is immutable. It essentially takes the place of what the root directories would be on an FHS distro.

                I don’t know any other path used in critical ways that is not immutable. The primary paths that immutablility is relevant for in FHS distros are /usr, /lib, /lib64, and /bin. None of these paths are really used on NixOS, besides some files symlinked there for edge cases, like /bin/sh.

                If you were to remove all the symlinks you are able to, the system would still work for the most part. You would lose custom configurations in /etc, but that is true for most immutable distros. Most apps have a default configuration to fallback to.

                The misunderstanding comes from the fact that immutable is a poor description for any OS, which is why many now use atomic instead. Even in immutable distros, many files can still be modified, and things can still be broken if you try hard enough. Still, NixOS definitely falls under the general description of and immutable distro, as the core of the OS is immutable.

          • zwerdlds@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            5 days ago

            At the surface, you can pin the commit you pull packages from, but if you want to go deeper, you can essentially define your own channel and dependent binaries, allowing you to store every aspect of how a generation is built.

            • ivn@jlai.lu
              link
              fedilink
              English
              arrow-up
              1
              ·
              5 days ago

              Yes, or use flakes which gives you a lockfile pinning everything. But this is related to reproducibility, not immutability.

                • ivn@jlai.lu
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  5 days ago

                  Isn’t immutability related to the root filesystem being read-only? I can write on my root filesystem, even if it’s mostly links to the store I can replace those links.

      • jamesbunagna@discuss.online
        link
        fedilink
        arrow-up
        2
        ·
        5 days ago

        In your opinion, when can we refer to a distro as being immutable? How do you regard the likes of Fedora Atomic, openSUSE Aeon or Vanilla OS? Are any of these immutable in your opinion?

        • ivn@jlai.lu
          link
          fedilink
          English
          arrow-up
          3
          ·
          5 days ago

          To be honest I don’t know these very well. I only use NixOS. My understanding is that in an immutable distribution the root filesystem is read-only. Granted in NixOS the nix store is immutable and most things in the root filesystem are just links to the nix store, but the root filesystem itself is not read-only.