16
submitted 5 days ago by filister@lemmy.world to c/linux@lemmy.ml

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?

all 16 comments
sorted by: hot top controversial new old
[-] priapus@piefed.social 2 points 5 days ago* (last edited 5 days ago)

I'm not super familiar with sysext, but from my understanding, you'd need to create an additional sysext to include, or find an existing one for DMS (I couldn't find one).

Your other options would be using rpmtree or a custom image. Theres already a few images out there that are based on Bluefin with Niri + DMS added.

Tbh I'm recalling struggling to find good documentation for sysext. Asking in the ublue discord will probably get you better answers.

[-] CsXGF8uzUAOh6fqV@lemmy.world 2 points 5 days ago

I have no clue but I do have a question. If you want to mess about with window managers and ricing them (I like that as well), wouldn't a non immutable distro be easier? It is "immutable" but it seems you want to mutate all kinds of stuff.

[-] filister@lemmy.world 0 points 5 days ago

That's a great question. I like the concept of more stable OS and I played a bit with NixOS in the past but ultimately decided that it is too much of a hassle to learn Nix to use it and decided to try Bluefin. I am actually overall content as I was able to install the missing packages either in Toolbox/Distrobox or using homebrew.

By the way I have actually found a way, and rebased my OS to another immutable flavor. I know that's more of a workaround.

[-] just_another_person@lemmy.world 0 points 5 days ago

Gotta say... This is not how you'd generally do any of this. Where you get this info?

[-] nobody_1677@lemmy.world 2 points 5 days ago* (last edited 5 days ago)

It's not how you "generally" do it because many immutable distro developers keep developing additional ways to do package management that are more and more complicated.

I still don't get why we can't have a BSD like approach. Make usr, bin, sbin read-only. But have /usr/local be writable and have a traditional package manager install to that location instead.

[-] j0rge@lemmy.ml 1 points 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_1677@lemmy.world 1 points 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 1 points 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_1677@lemmy.world 1 points 1 day ago* (last edited 8 hours 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.

[-] CsXGF8uzUAOh6fqV@lemmy.world 2 points 5 days ago

I think that's because the user can still fuck up their system by doing some stuff to those user files, like not managing their packages correctly. Note that for normal users anything that messes up their user experience equates to messing up "the system". But I don't really know, it's just a guess. I just run a normal distro where you can mess with everything (like god intended lol).

[-] nobody_1677@lemmy.world 3 points 5 days ago

That's not the reason. On immutable distros, you can still mess up your flatpak packages, distrobox containers, homebrew packages, etc.

Only "OS" files like those in /bin prevent accidental modification and removal since you cannot directly change them, even with root.

[-] eldavi@lemmy.ml 1 points 5 days ago

On immutable distros, you can still mess up your flatpak packages, ... homebrew packages ...

wait: there's immutable versions of macos?

[-] nobody_1677@lemmy.world 2 points 5 days ago* (last edited 5 days ago)

MacOS's has been immutable for a while now. But that's not what I was referring to. Homebrew also works on Linux, lots of CLI tools and libraries are available there. It does have some GUI apps, but not as many packaged as for MacOS.

[-] eldavi@lemmy.ml 1 points 5 days ago

i was aware that homebrew works on linux, i just assumed people would use apt/dnf/guix/whatever since it seems superior to me; but then again, i hardly ever touch homebrew besides my employer provided mac.

what applications does immutable macos have?

[-] nobody_1677@lemmy.world 3 points 5 days ago

We are discussing immutable distros, where you don't have apt/dnf/guix/whatever installed on the host system. They are replaced with other package managers. On Ubuntu Core, that is snap. On Fedora Atomic, that is rpm-ostree, flatpak, and toolbox.

MacOS is immutable, there is no non-immutable version.

this post was submitted on 07 Feb 2026
16 points (100.0% liked)

Linux

62524 readers
131 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS