💾 Archived View for breadpunk.club › ~strifwafel › no-more-nixos.gmi captured on 2023-04-26 at 13:31:50. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-11-30)

-=-=-=-=-=-=-

Why I stopped using nixos

NixOS is a linux distribution that uses a special package manager

which does something called "declarative package management."

Basically, you define packages in a declarative programming language,

and the package manager (called nix) is able to do some unusual things

with packages, like defining environments and rolling back your operating

system's configuration. That's a pretty bad overview, admittedly.

I'd been using NixOS for a little over two years, and after getting

frustrated with it, decided to switch to another operating system.

I've been distro-hopping for a while now, but plan to go back to Debian

(the first linux distro I used, and the one I was using before NixOS,

starting maybe four or five years ago).

If you're interested, here's why I stopped using NixOS:

Technical reasons

Originally I installed nixos for two main reasons. For one, I'm into

functional programming, and nixos draws inspiration from fp ideas like

immutability, so it seemed like a cool operating system to try. Second,

I had broken debian by installing the wrong version of python or something,

and I wanted to switch to a system where package versions wouldn't be such

an issue.

I think nixos definitely solved package versioning problems for me, and

it was certainly an interesting concept for a functional programming

enthusiast. There were other problems, though. It's difficult to install

packages on nixos if they aren't in the main repository, because you have

to write the package definitions yourself (obviously) and that can be a

big pain. Sure, smaller programs were pretty easy to package, but what

if I wanted to package a web browser, a programming language, or a

multimedia framework? I tried to package all of those things, with varying

success, and it was pretty arduous.

Another issue I discovered was that a great deal of program configuration

must be done in nix's special language. This process was kind of half-baked

(sometimes configurations just wouldn't work) and often there was no documentation

for it (for example, I had no clue how to create themes for cmus). Sure, I

could "rtfm", but at that point I was already growing weary of nixos and

didn't feel invested enough in it to spend time reading even more documentation.

Ultimately, I think that I didn't really need nixos. It was too complex, too niche,

for my use case.

Branding issues

This is a pretty strange gripe, but I also dislike nixos's branding.

It has that sort of smarmy vibe reminiscent of something made by a startup

company. As of when this post was written, the homepage (https://nixos.org)

looks like an advertisement rather than an informational page for a real

operating system (e.g. https://debian.org). Something I really like about

free software is that it's usually not overly concerned about its appearance,

which sets it apart from the nauseating world of corporate tech. Hence,

nixos's embrace of the corporate aesthetic is rather disappointing.

Another nasty aspect of the nixos homepage is that it has that generic

javascript-framework-cum-material-design look to it. So many corporate

websites (slack, google, discord, &c.) look like that. I guess you could

call it a "design meme" or something.

Conclusion

In conclusion, I've stopped using nixos for certain reasons. And--surprise!

I wrote this blog post without planning it beforehand, so I'm sure you

thought it was rambling and shallow, and maybe you even regret reading it

altogether. See you next time!