Live data from Hacker News

NixOS and my descent into insanity

ersei.net

61–70 of 120 posts

Re: NixOS and my descent into insanity

#61
post #29
post #4

As a fish user interested in Nix this put me off looking into it.

Just don't use home-manager and you'll be fine. I've been using NixOS for 5 years and still haven't gotten around to trying home-manager.

I have tons of complaints about Nix lang itself, but i actually got Home Manager working fairly quickly. I use Flakes, not sure if that helps though. I also don't recreate all my configs in Nix unless they absolutely need to be very programmable for some reason.

Re: NixOS and my descent into insanity

#62
post #13

NixOS is awful except for everything else out there. The learning curve is... steep. The documentation sucks. You have to learn a new OS because a lot of your prior Linux knowledge no longer applies. But, man, it's so slick when you get it working. It's so easy to understand your system and how it's set up. There's no weird stuff changing between updates that you don't know about. You don't have to merge new configur…

> You have to learn a new OS because a lot of your prior Linux knowledge no longer applies. This is what confused me the most. Nix (CLI tools / language syntax) NixOS (A Linux distro that has CLI tools, but also some CLI tools that are only available on this distro and not others, aka "nix" doesn't really work on Debian) Flakes vs "configuration" I just wanted to like "terraform apply" a system configuration on my De…

Genuine question: If Ansible on Debian works perfectly for your use cases, why are you checking out Nix/NixOS at all?

I am also mostly an Ansible-on-Debian user, and know for a fact that NixOS has a few things that might be interesting to me in the future. But I don't want to be yet another person "coming out of the woodwork" :) But for a lot of people, Ansible-on-Debian should solve their problems pretty well!

Re: NixOS and my descent into insanity

#63
post #13

NixOS is awful except for everything else out there. The learning curve is... steep. The documentation sucks. You have to learn a new OS because a lot of your prior Linux knowledge no longer applies. But, man, it's so slick when you get it working. It's so easy to understand your system and how it's set up. There's no weird stuff changing between updates that you don't know about. You don't have to merge new configur…

Prior Linux knowledge still applies and is required, it is just managed differently. Another language won't change much. Debian reliability is outside of core packages a myth and Debian has no way to properly migrate configuration. Every major update is a wild rollercoaster ride were things might break in the middle.

> Another language won't change much.

Why do you think Guix+Guile isnt a substantial positive change?

Re: NixOS and my descent into insanity

#64
post #13

NixOS is awful except for everything else out there. The learning curve is... steep. The documentation sucks. You have to learn a new OS because a lot of your prior Linux knowledge no longer applies. But, man, it's so slick when you get it working. It's so easy to understand your system and how it's set up. There's no weird stuff changing between updates that you don't know about. You don't have to merge new configur…

> NixOS is awful except for everything else out there.

Except Qubes OS that allows using original GNU/Linux distributions virtualized with a convenient interface.

Re: NixOS and my descent into insanity

#65

Le sigh, another day, another group of people turned off on NixOS for completely legitimate learning curve, documentation, and support reasons that are nonetheless heartbreakingly fixable. It’s never the user’s fault . Home manager is a well-intentioned and technically well-executed piece of software that is nonetheless a disaster as the “how to do dots on Nix” story, especially for newcomers. We need “Home Manager L…

My favorite was going through the Nix reference manual. Section 4.2, Profiles

> If the profile doesn’t exist, it will be created automatically.

Nope! If it doesn't exist then running the commands this tells you to will bork your installation completely, and unrecoverably with the knowledge you have gained up until that point in the book, at least without starting from scratch again.

Search for issue - closed in 2018, wontfix as "It's documented correctly and quite clearly." by someone who apparently didn't read or understand that the literal reference manual tells people to break their installation.

I have never touched Nix/NixOS since, because clearly they don't want or need people without 100% of their lives to dedicate themselves to it.

Re: NixOS and my descent into insanity

#66
post #47

This is a shame to read, I've thought of learning Nix for basic devops tasks and avoid tools like Ansible. Is this critique true for Nix in general or just NixOS?

Well... note that this is a critique but the conclusion encourages using Nix anyway. The whole "Nix sucks but everything else sucks worse" idea.

Re: NixOS and my descent into insanity

#67
post #13

NixOS is awful except for everything else out there. The learning curve is... steep. The documentation sucks. You have to learn a new OS because a lot of your prior Linux knowledge no longer applies. But, man, it's so slick when you get it working. It's so easy to understand your system and how it's set up. There's no weird stuff changing between updates that you don't know about. You don't have to merge new configur…

> NixOS is awful except for everything else out there. Except Qubes OS that allows using original GNU/Linux distributions virtualized with a convenient interface.

I don’t associate convenience and QubesOS. Maybe convenient security, but thats about it.

Re: NixOS and my descent into insanity

#68

Earlier quoted context omitted.

Prior Linux knowledge still applies and is required, it is just managed differently. Another language won't change much. Debian reliability is outside of core packages a myth and Debian has no way to properly migrate configuration. Every major update is a wild rollercoaster ride were things might break in the middle.

> Another language won't change much. Why do you think Guix+Guile isnt a substantial positive change?

Why do you think it is? The problem with Nix is not the language, it is mostly the ad hoc, grown over time “standard library” for packaging programs. It is just hard to know what that magic buildXPackage function does, or sometimes even where it is. You basically have to grep through the nixpkgs repo to find these things.

The language is very small and is a great fit for its domain.

Re: NixOS and my descent into insanity

#69
post #13

NixOS is awful except for everything else out there. The learning curve is... steep. The documentation sucks. You have to learn a new OS because a lot of your prior Linux knowledge no longer applies. But, man, it's so slick when you get it working. It's so easy to understand your system and how it's set up. There's no weird stuff changing between updates that you don't know about. You don't have to merge new configur…

I'm currently trying (and failing, lol) to switch to Nickel Nix. Nix OS/Pkgs is just amazing, but i'm near being entirely done with Nix Lang. Lazy + Dynamic is just a recipe for an awful developer experience. As far as i can tell no one (thus far) has been able to explain a reasonable and concrete way to tell what any given variable is within a Nix source file. `nix repl` works decently for some cases, but many not -…

> has been able to explain a reasonable and concrete way to tell what any given variable is within a Nix source file

That’s the problem with the anemic and ad hoc libraries nixpkgs uses, not the language. There is a magic buildWhateverXPackage function that needs some magic attributes and you are done. The problem is that there is no interface to aid in how that should be used - but it is the same way in JavaScript as well.

Also, you are writing a description of something, it won’t be a traditional program with an event loop or whatnot - here lazyness does make sense.

Re: NixOS and my descent into insanity

#70

Earlier quoted context omitted.

I'm currently trying (and failing, lol) to switch to Nickel Nix. Nix OS/Pkgs is just amazing, but i'm near being entirely done with Nix Lang. Lazy + Dynamic is just a recipe for an awful developer experience. As far as i can tell no one (thus far) has been able to explain a reasonable and concrete way to tell what any given variable is within a Nix source file. `nix repl` works decently for some cases, but many not -…

I tend to agree. I was trying to follow the guide on how to install NixOS with root-on-zfs[0]. I’ve followed it before with my own tweaks just fine, but recently it was updated to include some random guy’s modules that automate a couple steps. They’re mostly shallow abstractions on first-party NixOS modules, but following it was such a pain. I’ve been putting off reverse engineering the guy’s code so I can understand…

What module do you mean? I didn’t find it in your link.
Post reply on HN