I am running Bluefin immutable distro and I would like to test Niri. I found on the net that the cleanest way is to use systemd-sysext and I have managed to install Niri using the community extensions.

Now I would like to install Dank Material Shell, and it has a couple of pre-requisites and I am clueless how I can add them again with systemd-sysext.

I tried to look for additional information, but found very little on the matter. Do any of you have experience with this?

  • j0rge@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    4 days ago

    Bluefin maintainer here, you’ve described how Bluefin works except it’s ~/.local/bin.

    I am pretty sure we have not been developing package managers lol.

    • Nobody@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      4 days ago

      So if i were to “sudo dnf install neovim” on Bluefin, that would install Neovim to ~/.local/bin?

      I didn’t mean to say that Universal Blue specifically was making new package managers, but that in general new package managers have been created specifically to solve problems introduced by going immutable/atomic/image-based/whatever.

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

        No they would brew install neovim. System-level package management goes away entirely, that’s the point.

        What new package managers? homebrew has been around for years. What problems are you describing? If you mean read only root that has been around since the 1980s. The problem as you describe it has been removed, you move on from package based entropy to image based systems.

        This isn’t a trend, modern linux is this way, it’s just the desktop that has been behind until now.

        • Nobody@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 hour ago

          I’m saying that we should be able to use package managers like DNF similarly to homebrew. Rather than managing system packages, it would only be used for packages the user installs. Whether it installs them into /usr/local, /home/dnf, ~/.local/bin doesn’t matter. All that matters is that it’s not managing system packages or mixing system-installed/user-installed packages.

          Homebrew isn’t perfect. Awhile ago I tried to go all homebrew for my packages, but sshfs ended up not working (maybe a SELinux issue?). So I had to fallback to overlaying the package. Simiarly, I tried to install tailscale from brew, couldn’t get it to work.

          It’s just that in “immutable” (I know how much you hate the term lol), there’s package manager fatigue.

          • There’s flatpak, which is only meant for GUI apps but for certain GUI apps (like IDEs), it’s not good.
          • There’s distrobox, which works for both GUI and CLI, but it adds some friction and sometimes the containerization breaks certain functionality.
          • Brew largely avoids the issues of distrobox and works for GUI and CLI, but the GUI app selection is limited and as I mentioned, sshfs and tailscale didn’t work for me there.
          • And so to work around the issues of those 3, we get yet another way to install packages (systemd system extensions
          • (and of course that’s not even speaking of snap, appimage, cpak, unpackaged apps, etc)

          My thesis is essentially that we’re creating too many package package managers with too many compromises. Traditional package management is far from perfect, but at least those package managers, you can do essentially anything. Brew could be that, if it had more GUI apps and maybe better SELinux integration (I say that not knowing for 100% sure that SELinux was the cause of my sshfs issuse). I would like for people to take a step back and find simpler solutions, make a single package manager that can handle any kind of package.

          Edit: correction, tested again and sshfs is actually working, not sure what was causing the original issue. though I still have sshfs overlayed, maybe that provides some necessary dependency or SELinux tweak?

          Edit 2: after removing the sshfs overlay, the sshfs brew package also stops working, so it seems like some host configuration is needed for the brew version to work.