For once I feel a little out of touch after I took a bit of a break from following the news to focus on studying, and suddenly everyone is talking about immutable distributions. What are they exactly? What are the benefits and the disadvantages of immutable systems?

  • jerb
    link
    fedilink
    English
    110 months ago

    It does take some adjusting- the pitfalls you’d encounter with Distrobox on Universal Blue are the same as Distrobox on any other distro, so first I’d say to try moving your workflow to Flatpak and Distrobox on your current system or a VM and see how it works out. Generally Flatpak is preferred to a rootless Distrobox which is preferred to a rootful one, but sometimes there’s not a Flatpak for something (especially command line tools) and you need access to hardware or system level stuff that only a rootful one can do properly.

    • @[email protected]
      link
      fedilink
      2
      edit-2
      10 months ago

      Flatpaks are already my preferred way of installing random crap, but I did run into a few walls with that. VSCodium for example is unusable because it throws random errors about running out of space or not finding files that are definitely there even after giving it all the permissions via flatseal.

      Proton has a similar thing where windows apps don’t detect the amount of free space properly and see 4GB instead, so I guess it’s inherent to containers.

      I’ll definitely try distrobox on my arch machine, is there anything I need to consider beforehand to not shoot myself in the foot?

      • jerb
        link
        fedilink
        English
        410 months ago

        Not particularly, the workflow on your Arch system will be the same as any other distro, that’s the nice thing about Distrobox.

        I would highly recommend looking into the distrobox-assemble command, though: it lets you declaratively build distroboxes with the packages and config you need on them. I have a personal box which operates as my primary terminal that’s automatically destroyed and recreated on every boot. This way, the packages I always use in a terminal are available, and I can add something I need temporarily with no issue without worrying about forgetting about that package being there down the line and causing some weird update failure or general bloat.