cashmere

cashmere

My friends ditched the snowflake for the shepherd. I went with the devil instead

WTF???

Let me explain…

What happened?

My friends and I wanted to try out something new. Josh switched from NixOS to Guix, Linuxmaxxing swirled out to the Shepherd and I knew my time had come too.

I decided to try out FreeBSD. I'm going to run NixOS as my main operating system for now so I don't break my running system, while still experiencing the magic of FreeBSD thanks to the power of QEMU and a type 1 hypervisor.

I can't recommend virtualization enough. Why and how should be somewhat clear to anyone who is even reading this post. (Probably 2 people)

How did it come to this?

After nearly 3 years of daily driving NixOS, the spark is gone. I don't just need some distance, I want to feel that curiosity I had at the beginning again.

There was virtually no device or server where I didn't slap Nix/NixOS on. Some went super fast, others cost me weeks.

Let's keep it short, most of what I wanted to test and implement, I managed to do.

Call me crazy and obsessed, but yes, the following points also made me question my stance towards the current Nix ecosystem.

flake.parts

Once again, to preface: flake.parts is in itself a very strong project that takes Nix to an endgame. I just wonder if I need this endgame. For example, I "maintain" my own packages. There I use flake.parts and I think it's really a project where I see and benefit from the abstractions. However, I think it all became too much when the following video by vimjoyer was released.

Vimjoyer, dendritic pattern and abstraction slop

I started with a simple configuration.nix, then at some point upgraded to a standard flake.nix, with which I was more than satisfied, but the dendritic pattern had really reached a peak of abstraction where I myself no longer had any overview of what was in my main flake.nix where I not only manage like 5 devices at the same time, but suddenly also had custom packages and services that were self-contained somewhere, yet still brought a dependency with them.

I was so overwhelmed that I switched straight to npins to somehow get an overview again.

Surprise, we were all overwhelmed

I thought I was the only one feeling this way, but luckily I wasn't. And to close the circle, I think some like-minded people from #technicalrenaissance are looking around further. (as in the case of guix).

Unpopular Nix Opinions

And to find some closure, here are some unpopular NixOS opinions, just to piss people off: (these opinions would have pissed me off too until a few months ago, lmao.)

Let's face the devil

From the day I realized how powerful ZFS is, I came to the conclusion to try out FreeBSD.

Here are my takes on why I currently enjoy FreeBSD

It feels more familiar than I expected

If you are somewhat familiar with the CLI, FreeBSD will feel just like home.

Still different from Linux

FreeBSD is still unique in its own ways. There are many exciting concepts baked into the native OS such as Jails, ZFS, Ports etc.

I guess you have to try it out yourself to get it.

Insanely good docs

If you've heard anything about BSD, it's their insanely good documentation. I can attest to that.

Ports

FreeBSD's own approach to Nix overrides or Gentoo USE flags.

Another perspective on how you could manage your systems

Coming from NixOS, it's different how FreeBSD manages its systems. It feels unfamiliar (in a very positive way), as I used to think that NixOS and especially declarative configurations are the de facto end goal.

Should you try…

Just try it out, as I did. Don't ask anybody…

Tags: #nix #bsd