• Nobody@lemmy.worldOP
    link
    fedilink
    arrow-up
    6
    ·
    1 month ago

    Not sure how I feel about this “distroless” pattern. It’s interesting to be able to get components directly from upstreams from like Gnome, but it makes certain tasks more difficult.

    The lack of any distro packages to fall back on when flatpak, distrobox, appimages, and brew fails is simply annoying. I’ve experienced this multiple times.

    • When I would flash OSes on my Pixel, I couldn’t use flatpak/distrobox/brew. I would either have to (1) overlay a browser and ADB tools, (2) overlay ADB and maybe use an Appimage browser, or (3) boot into a traditional distro like Debian that has an unrestricted browser. Distroless has no recourse for me here.
    • Using sshfs: installing sshfs from brew or distrobox would not work without host configuration changes made by overlaying sshfs. Distroless has no distro package to fall back on
    • Using tailscale: tailscale from brew didn’t work. Had to fall back on distro package. Distroless would fail me here, but in this case, I believe Jorge preinstalls it. So simply adopt all of Jorge’s tastes and applications and you’ll be fine…
    • No upstream Steam support since there’s no rpmfusion or official valve package to use, you’d have to use something like the unoffical Steam flatpak

    While I love Fedora Atomic and atomic distros in general, I constantly feel like they do not think things through. They made the system harder to break, but with severely limited (if you use them the way you’re encouraged to, like no layering). They then address these gaps one by one with more and more solutions that are imperfect and that do not fit all needs.

    • Flatpak is good for GUI apps, but not CLI.
    • Brew is good for CLI stuff, but does funky PATH things that could break host OS at times (and as mentioned, did not work for sshfs or tailscale for me). KDE Linux initially promoted Brew, but then later recommended not using it at all due to its PATH shenanigans
    • Distrobox is good if you need distro packages, but the containerization has limitations with desktop integration and more complex tasks, like I mentioned with flashing OSes on my Pixel.

    At least with Fedora Atomic (and containerfiles with bootc stuff), I can get a robust system, seamless OS upgrades, and install any packages that do not work well as flatpaks/distrobox/appimages.

    • TaintTaul@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      1 month ago

      no layering

      I foresee a future in which (so-called) sysexts will be used heavily to address the resulting gaping hole. Unfortunately, it’s not perfect either…

      Though, I have to say that I find it quite hilarious to see how many alternative package managers are required to replace traditional package managers.

      • Nobody@lemmy.worldOP
        link
        fedilink
        arrow-up
        2
        ·
        1 month ago

        That’s my gripe with Atomic distros. I feel like they don’t take the time to think things through and throw together. Instead, they throw together a new thing to address the shortcomings of the previous five things.

        Love them or hate them, it feels like the only player sticking to their guns is Canonical with snap. It’s the only package manager that really does it all: GUI, CLI, IDEs, server, daemons, even the kernel and GRUB. Honestly, when the permission prompting is stable, I might be tempted to give it another chance.

        • j0rge@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          1 month ago

          I feel like they don’t take the time to think things through and throw together. Instead, they throw together a new thing to address the shortcomings of the previous five things.

          This is a weird statement it’s designed this way on purpose. You seem to be looking for “one package manager to rule them all” in a world that’s purposely splitting things up.

        • TaintTaul@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          1 month ago

          I wonder if they’ll one day just alias a bunch of stuff, kinda like what Ubuntu has done with forcing Snap down people’s throats. So, like:

          • sudo dnf install bottles actually doing flatpak install bottles
          • OR, e.g., sudo dnf install tldr actually doing brew install tldr
          • etc…

          I don’t think it’s necessarily bad as long as it’s very transparent on what it actually does (and why). And…, offers choice where applicable*.

          Or…, like, introduce a new package manager that basically functions as a front-end. Would that ((and/)or the earlier alias-thing) be worse than sticking to the development of a single package manager until it does all (à la Snap)?

    • jaxxed@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      1 month ago

      We should note that it is super easy to extend a bootc release, and use dnf to install additional packages. It is a docker/podman contanerfile of a few lines.

      I have a github repo that adds virtmanager and ghostty to the excellent zirconium release, rebuilds ever day - and then uupd pulls the update every day.

      The atomics are not meant to limit you, they are meant to free you to get what you want, usng simple oci tools.

      Another great thing is being able to swap distros with simple commands. I installed bluefin, then swapped to zircnium to get niri and dms.

    • brnaftreadn@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 month ago

      I’ve never tried these “distroless” systems before. Curious about these setups. Have you tried nix pkg manager in place of brew?

      • Nobody@lemmy.worldOP
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        1 month ago

        I’ve used NixOS, wasn’t that big of a fan. I certainly love the idea, but not the execution. Fedora Atomic just comes out of the box as a more complete, configured system that’s easier to understand.

        I have been meaning to use Nix on Atomic, but the problem is that since / is immutable, Nix cannot create /nix and so doesn’t work properly. But there are workarounds for that issue, I just haven’t tried them yet.

        Nix certainly fixes the PATH issues of homebrew since it has its unique linking system.

    • marlowe221@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      I have also been a Bluefin user for a while now…

      Could you say more about the PATH issues with brew? Or point me to where I can learn more about them? I was kind of enjoying brew for installing development tools, and was thinking about adopting it on my non-atomic machines too. Should I not do that?

      • Nobody@lemmy.worldOP
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 month ago

        Brew installs both applications and their dependencies. When brew is added to the PATH, it also puts all those dependencies on your PATH.

        For the most part, this does not cause issues. The OS usually uses absolute paths for binaries and dependencies. But for some programs, they will rely on PATH and may not be compatible with what brew provides.

        Ideally, I think brew should fix this by only adding what you explicitly install to your PATH. When you launch it, it should launch a wrapper script that updates PATH with the homebrew dependencies. Though that wouldn’t exactly work for those who install a shell like zsh since then that would inherit the brew libraries anyway.

        Or instead of changing PATH at all, use a fancy linking mechanism like Nix.

        Universal Blue does some path tinkering to fix this, not sure how though. KDE Linux also has their own workaround, where they instead prioritize system dependencies over brews so that it’s brew that would break instead of the OS.

        Little more info from KDE:

        • marlowe221@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 month ago

          Thanks for the info, I really appreciate it!

          So far, I will say that I haven’t run into any issues but it’s interesting to learn about some of the pitfalls/limitations too.

          It’s all about trade offs, I guess!

        • marlowe221@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 month ago

          So, it looks like Bluefin used to do some PATH gymnastics to keep things working pretty smoothly.

          But now, they just make sure that brew is last in the PATH. This prioritizes the CLI commands baked into the image.