I was thinking about going immutable for a long time and now I’m choosing a distro to hop to.
My question is: what are good immutable distros other than Fedora Silverblue spins, UBlue family and NixOS?
Maybe someone uses/used any? What is/was your experience with it?

    • Telorand@reddthat.com
      link
      fedilink
      arrow-up
      21
      ·
      6 months ago

      It’s a distro that makes all but a few system directories immutable. This means you can’t just install whatever you want in the same way you would install in a traditional Linux system.

      This comes with some benefits:

      • Malicious and buggy software can’t permanently fuck up your installation. Even root can’t edit those directories.
      • Each system update replaces only the system layer, but you can rollback to the previous one if something breaks.
      • You can rebase to other images (like going from Fedora Kinoite to UBlue Aurora) with a simple command, and you don’t need to reinstall anything or worry about backing up your /home directory.
      • Most software is installed via flatpaks or appimages, keeping a layer of separation between your system and your applications.
      • Distroboxes/Podman containers can handle a lot of additional software while keeping it safely containerized.
      • The system is generally reproducible, so the core of what you have is the core of what everybody else has.

      Some drawbacks:

      • You can’t install whatever you want however you want. There are some hard limitations on where files are allowed to go, and installing certain software that interacts with the kernel can be tricky (I’m currently trying to figure out the best way to install my VPN provider’s client).
      • There’s a definite learning curve to working with containers. It’s not always as simple as “create container, install thing.”
      • There’s a definite learning curve to retraining yourself to think in layers/containers.

      Some examples of modern immutable distros are:

      • Fedora Silverblue
      • Fedora Kinoite
      • Universal Blue Aurora
      • Universal Blue Bluefin
      • Universal Blue Bazzite
      • NixOS
      • BlendOS
    • SeekPie@lemm.ee
      link
      fedilink
      arrow-up
      5
      ·
      6 months ago

      As I understand it, it’s read-only, so the updates you get are basically replacing your current ones but keeping your apps (like flatpaks) installed.

        • pukeko@lemm.ee
          link
          fedilink
          English
          arrow-up
          7
          ·
          6 months ago

          I think about it like this:

          Layer 2b: ->> User applications (flatpak, nixpkgs, etc.)
          
          Layer 2a: ->> User data (mutable, persistent no matter what your system layer is)
          
          Layer 1: -> System (immutable/read-only/updated "atomically" meaning all at once) 
          
          Layer 0: Hardware
          

          Or, alternately, it’s what macos has been doing with absolutely no fanfare for several versions now. That’s not a knock, btw. It’s an illustration that it can be completely transparent in use, though it may require some habit changes on linux.