• 33 Posts
  • 9 Comments
Joined 1 year ago
cake
Cake day: June 16th, 2023

help-circle























  • 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. ↩︎


  • Lemmy has certainly already won me over reddit. Going back to centralized social media is something I will actively avoid if at all possible.

    However I believe nostr is a theoretically better protocol than activitypub. Having your account/identity tied so strongly to a particular instance is undesirable. As soon as there is a reddit-like (or even forum-like) client for nostr which is relatively active/polished, I will switch. Nip 172 can’t come soon enough.

    In addition to being less popular / newer than activitypub, nostr is also full of bitcoin[1] bros and twitter refugees (not my crowd). But frankly I think complaints about that are like the complaints that lemmy is a place for tankies a couple years ago when people’s only exposure was to a (much smaller than today) lemmy.ml.


    1. monero support would be nice though… ↩︎


  • I have never used nix or nixos. I liked their shared idea (functional, atomic, reproducible systems), and so when I looked at their differences they seemed to all be pros for guix:

    1. Clearer, more robust, more centralized documentation
    2. GNU Project
    3. Guile Scheme (Lisp) as opposed to Nix DSL
    4. Unparalleled emacs integration

    The only bittersweet aspect of guix compared to nix was the foss only stuff, as I do need some proprietary drivers, but nonguix is so easy it hasn’t been a practical issue. And of course I am big advocate of free software so I like that guix is pushing that forward.

    There’s also a theoretical issue that guix has less packages, but the standard channel + nonguix has had everyhing I use.



  • I quite enjoy it!

    Being able to rollback any change I make to the system, either package changes or system configuration, makes it completely unbreakable and provides great peace of mind. It means I can fully enjoy its rolling-release nature without worrying.

    Having my entire system configuration declared in a single, robust programming language (Guile) across a small number of files makes it very easy to understand and just stick into source control to reproduce.

    Being able to hack on it in a lisp (scheme) is the cherry on top, along with the great emacs integration. I would highly recommend it to any lisp/emacs/gnu enthusiasts.