@mrh@mander.xyz
@mrh@mander.xyz avatar

mrh

@mrh@mander.xyz

This profile is from a federated server and may be incomplete. Browse more on the original instance.

How do you containerize stuff you install from source in a way that you can completely remove later?

I’m doing a bunch of AI stuff that needs compiling to try various unrelated apps. I’m making a mess of config files and extras. I’ve been using distrobox and conda. How could I do this better? Chroot? Different user logins for extra home directories? Groups? Most of the packages need access to CUDA and localhost. I would...

mrh,
@mrh@mander.xyz avatar

You can mount any directory you want as the “home” directory of a given container with distrobox, it just defaults to using your home directory.

What non-FOSS software are you using that you wish you could replace?

For me its honestly a ton of my work software (digital forensics), shit is too niche to be replaced by good FOSS options. Cellebrite, Magnet Axiom, etc. Autopsy is great and free and has a linux version but it simply cannot get the same level of data without a pretty nutty level of custom code....

mrh, (edited )
@mrh@mander.xyz avatar

edit: I do feel norawibb’s point, the slippery mutability of Void is something I am a lot less comfortable with than I used to be. Apparently Guix has spoiled me.

mrh,
@mrh@mander.xyz avatar

Yeah rollbacks are probably the best part of immutable OS’s, but of almost equal importance is reproducible system configuration, which imo only Nix and Guix do well. Neither snapshots nor Silverblue really manage that yet.

mrh, (edited )
@mrh@mander.xyz avatar

There are two different immutable OS models hot on the table in the linux space I see: The Nix[^1] way and the Silverblue[^2] way.

Both have immutable filesystems which deviate from the FHS, provide atomic updates, and support the creation of more-or-less isolated environments at the user level. But the way the two models implement these features is very different.

The Nix way takes inspiration from the world of functional programming, while the Silverblue way takes inspiration from the containerized, cloud native technologies which are used so widely in the industry.

I believe the idea that these two approaches share is the future of linux on both the server and the desktop, and it is only a matter of time before some (if not all) of these advantages become mainstream. However, I am uncertain of which approach is superior.

I have personal experience with Guix and enjoyed it greatly and even recommend others try it or Nix out for themselves, but there are some complexity issues. It is not clear to me whether these issues are growing pains, or symptoms of a fundamentally overcomplicated system to solve a seemingly simpler problem.

The Silverblue way I have no experience with, but seems like a more grounded approach to tackling the specific problems laid out. The big area where Silverblue seems to lack in comparison to Nix/Guix is declarative, reproducible system configuration. With Nix/Guix you can just throw your system config file up in a repo, and anybody else can pull it down and install that system bit-for-bit, including future you! With home manager this extends to a large extent to user configuration as well. Of course with Silverblue you can create images, but that is less straightforward and powerful (at least for now).

What are ya’ll’s thoughts on immutable OS’s?

[^1]: The only other example I am aware of is Guix, which imo is the superior implementation, but it is newer and less popular. [^2]: Others include openSUSE’s MircoOS/Aeon and Vanilla OS.

mrh, (edited )
@mrh@mander.xyz avatar

I agree “cloud native” is not great, I won’t be using that term.

Why are cli tools generally not available as flatpaks? There’s nothing about how flatpak works afaik which distinguishes gui and cli. I get that the original motivation for flatpak was guis, but considering how long it’s been touted as a “universal” package manager for linux, I don’t understand how there could be so few clis.

I’ve heard people say the name for packages from flathub is awkward (which it is), and aliasing everything you install would be annoying (which it would), but that sounds like such a simple problem to solve.

I’ve also heard people say that flatpak clis would be useless because clis tend to be systadmin tools, and thus need to be not sandboxed. But this strikes me as a non sequitur. Gui tools can be used for sysadmin, and there are tons of cli tools which have nothing to do with sysadmin, they’re just userspace programs.

What does your workflow look like with toolbox/distrobox?

mrh, (edited )
@mrh@mander.xyz avatar

I don’t know too much about Vanilla OS, is it not possible to install your own DE or WM?

I’m less interested in Vanilla OS since it’s based on Ubuntu and I’d rather not support / rely upon anything Canonical if I can help it.

Silverblue (+ spins) seems like the best option since it is the most mature, most popular, and is a community run distro. Of course Redhat pours a lot of resources into the Fedora project since it’s upstream RHEL, and so does SUSE for MicroOS. But honestly if Redhat/SUSE were to disappear tomorrow, I think Fedora and OpenSUSE would be fine, whereas I can’t say the same for Canonical+Ubuntu (and thus their descendants).

edit: After looking more into Vanilla OS, it looks very nice! Funnily apx addresses excatly the issues with distrobox pointed out in this thread by @mogoh. They also plan on moving from being Ubuntu based to Debian Sid based, which would be even better than Fedora as Debian is a true, 100% community backed and time tested distro (though still of course much corporate support).

mrh,
@mrh@mander.xyz avatar

I don’t think it’s a coincidence that cloud tech, container tech, Go, and Plan 9 tend to overlap conceptually and demographically.

mrh, (edited )
@mrh@mander.xyz avatar

Thanks for the response! Flathub is a fantastic project so glad to hear about your contributions. Your videos have been helpful for me as introductions to Silvelblue ideas and statuses.

I don’t have much to say about the term “cloud native” personally, it doesn’t seem too important. I think myself and others react against it because cloud tech is mostly used by businesses and “server people” to deliver products (sometimes at the cost of user freedom), and so has either a non or negative connotation in the FOSS linux desktop space. But names are names, and accuracy matters most. I don’t think etiher “cloud native” or “immutable” are really all that helpful as technical terms though, maybe something else should be used (image based, atomic, container centric, ?).

I’m not sure I understand “distros already have htop.” Distros already have everything packaged for flatpak, yet they were packaged for flatpak. The real question is why do flatpaks exist at all if you can just run programs in containers, OR why do containers exist at all if you can just run programs as flatpaks (assuming everything we wanted were available as a flatpak). That is: what are the technical / UX reasons to choose flatpak over containers and vice versa?

Podmansh looks very cool! That’s definitely the direction I’d like to see these sorts of projects moving in. The #1 issue I have at the moment with this OS model is customization/tinkering/hackability. I want to have the niceties of atomic updates and reproducible builds, and containers on their own are great. But not if it takes away my ability to make my system fit my needs. I have no interest in using a macbook.

The future of these technologies looks bright, and they are clearly functional today, but I’m not sure any of them meet my needs yet as someone who likes to have a great deal of control and understanding of my system.

mrh,
@mrh@mander.xyz avatar

Nice! I was wondering what that short downtime was. Still loving it here, keep up the great work 👍

mrh,
@mrh@mander.xyz avatar

Very nice and quite similar to my Void + River + Everforest setup

mrh,
@mrh@mander.xyz avatar

I find hacking maps to be sets with map[T]bool or map[T]struct{} to be awkward for the most rudimentary use case, membership checking, and downright onerous for anything more “complicated.”

I feel as though the datastructure “an unordered collection of things without duplicates, with constant time lookup” is so simple and useful, I don’t see any reason to keep it out of the language.

mrh, (edited )
@mrh@mander.xyz avatar

Nice to see a measured (though somewhat pro go) article about a big language’s strengths and weaknesses from someone whose been real world using it for long enough to experience the evolution of the language.

I’ve always liked go, and also think it made fundamentally good decisions and has evolved in a way that respects the original philosophy (e.g. adding generics, but only after massive consideration).

Reddit had an enormous hate totem for go, more than virtually any other language imo, and I always thought that was strange. Curious what people here think.

mrh, (edited )
@mrh@mander.xyz avatar

This is patently false. Most alternatives to GNU software are permissively licensed (MIT, BSD, Apache, etc.). Just look at musl, clang, bzip2, and the various “new” userland replacements like ripgrep, neovim, bat, exa, dust, etc. The one notable exception is busybox which is GPL 2.

I don’t know why this trend exists, but I am constantly disappointed that talented young open source devs choose to sacrifice software freedom just because it will make their software easier to integrate in proprietary contexts. This strikes me as pure vanity or greed on the devs part so that their software is more popular and maybe even monetizable.

I hope that trend halts, but time will tell.

mrh,
@mrh@mander.xyz avatar

Yep! I used it as a daily driver for ~a year, switched off to try something new, and have recently switched back indefinitely.

Only distro I’ve ever switched back to after leaving, and that’s because it’s where I plan to stay. It really lives in such a sweet spot of up to date, stable, and simple/hackable.

With a nice handbook, friendly community, runit, xbps-src, and multi lib/arch support, Void is truly great.

mrh, (edited )
@mrh@mander.xyz avatar

guix pull && guix upgrade is still a bit slow, but I never thought excessively slow (definitely slower than xbps, pacman, and probably apt too).

I guess I never thought much about it because of rollbacks, so it’s safe enough to just cron.

mrh, (edited )
@mrh@mander.xyz avatar

Wow super excited about slices package! Very nice quality of life addition.

mrh,
@mrh@mander.xyz avatar

Obsidian is not free software?! How could anybody even browsing this community consider obsidian?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • rosin
  • thenastyranch
  • GTA5RPClips
  • tester
  • InstantRegret
  • DreamBathrooms
  • ngwrru68w68
  • magazineikmin
  • everett
  • Youngstown
  • mdbf
  • slotface
  • kavyap
  • JUstTest
  • cisconetworking
  • khanakhh
  • normalnudes
  • osvaldo12
  • cubers
  • tacticalgear
  • Durango
  • ethstaker
  • modclub
  • anitta
  • provamag3
  • Leos
  • lostlight
  • All magazines