this post was submitted on 13 Dec 2023
11 points (100.0% liked)
NotAwfulTech
365 readers
1 users here now
a community for posting cool tech news you don’t want to sneer at
non-awfulness of tech is not required or else we wouldn’t have any posts
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I use nix to manage all my personal infrastructure. I enjoy it and it has many benefits.
But, I still have trouble recommending it openly or advocating its usage in any of my workplaces. There are so many gotchas that run against the grain, in practice. There are so many different patterns for using nix (like a big sore point is that nix flakes aren't the default way to manage dependencies, instead it's an experimental feature alternative to the default, which is fragmented tooling (pinned channels? fetchUrl? overlays? NIX_PATH? oh lord), (or even just the fact that minor version changes in nix completely deprecates certain core build utilities. See how nix docker images are still in major flux) that in practice a newbie who wants to go beyond playing with the simple compile a C project with make to... a nodejs development environment (shudder), is gonna have some struggles with unobvious decisions they make early on.
I totally understand that they have greatly improved documentation, examples, tutorials, and community. These are all high quality. But the offense remains the fact that you really should read the whole manual before you get started, because the --defaults-- of solving the small problems with nix, and the deep baggage of historical packages and tooling, means that you can dig yourself into a corner that one day will require rethinking how you organized your work. That to me isn't super great.
But yes, I do love nix and am happy to see them continue to work through these issues.
oh yeah, I love Nix but I’ve called it fucking incomprehensible (while recommending it) on here before. you can definitely still see its research roots in spite of all the improvements they’ve made, and flakes not being enabled by default is a travesty