Live data from Hacker News

NixOS 25.11 released

nixos.org

31–40 of 67 posts

Re: NixOS 25.11 released

#31
post #2

I’m about 18mos into managing my macOS hardware with Nix. And I’m conflicted. It’s clearly a powerful system, and I’m still very noob at it. It’s not clear to me that it’s the right solution for macOS. I’ve not felt comfortable enough with it to roll it to Linux hosts yet. Or use its docker image maker. Consistently through the 25.05 period nix-darwin and nixpkgs would fall out of sync. I learned not to `nix flake up…

This past month, I have spent a decent amount of hours (7+) trying to setup nix on my mac with nix-darwin, and failed. Most tutorial out there encourage you to download someone else's configuration to get going. I don't want to do that. I want to understand at its core how this thing works. I've read the official nix language documentation, watched YouTube tutorials, read 3rd party tutorials, and still couldn't get g…

> The nix language is also really unpalatable to me.

It may not really help the case, but I firmly believe that it is not the language, but the ecosystem, and is more of a fundamental issue. But maybe putting the blame elsewhere could help accept the situation.

So anyways, the language is pretty much a lazily evaluated JSON. But even if it were something else (insert your favourite language), the problem ultimately is that packaging software is complex especially in a non-standard way, with endless edge cases, requires whole libraries and conventions and this is simply not a well-trodden path. Most programs simply hard-code "traditional" Linux file system conventions and those have to be patched in some way.

So the hard thing is not "is this really a function application here", when writing new Nix code the hard thing is simply knowing that for python there already exist this abstraction in nixpkgs, but to use it you need this folder structure and this build tool, etc. Especially when there are multiple abstractions for the same thing because it's an absolutely huge repository with countless packages.

But the benefits absolutely make up for it big time - there is simply no going back from Nix imo. I would honestly feel constantly "dirty" with any other traditional package manager, it's like file "versioning" before version control.

(PS: just grep for use cases of a function you are looking for. Also, find a "blueprint" package and start from there, e.g. another program written in python with a few native deps)

Re: NixOS 25.11 released

#32
> Added nixos-init, a Rust-based bashless initialization system for systemd initrd

Rust is such a heavy dependency though, is it not? Is it worth it? Additionally, what does it add as a new project / software (disregard Rust here)? What was wrong with the previous one and/or what does this fix or add that justifies adding a heavy dependency? Seems like most of these projects are written in Rust though.

Re: NixOS 25.11 released

#33

Does anyone have a good resource for a quickstart/high-level overview of just the terminology required to understand Nix? Flakes/overlays/nixpkgs/etc. I start wading in to try and understand it, and instead run into arguments and disagreements. Unfortunately, without a base level understanding of the entire ecosystem, I stay lost.

This article and video might be good for you, but they are more about a conceptual overview of what the fundamental parts of Nix are and how they interact.

https://shopify.engineering/shipit-presents-how-shopify-uses...

https://www.youtube.com/watch?v=6iVXaqUfHi4

Flakes are a dependency-pinning and hermetic evaluation feature baked into the Nix tool itself.

Overlays are an idiom that uses lazy evaluation to build up larger attribute sets in a modular and composable way (e.g., package collections for a particular programming language).

Re: NixOS 25.11 released

#34

Does anyone have a good resource for a quickstart/high-level overview of just the terminology required to understand Nix? Flakes/overlays/nixpkgs/etc. I start wading in to try and understand it, and instead run into arguments and disagreements. Unfortunately, without a base level understanding of the entire ecosystem, I stay lost.

yeah, the "entry-level" documentation is definitely one of the weak points of the Nix ecosystem. I'd compare it to trying to learn how to do oil changes on your car and only finding "car guy" web forums full of posts about transmission rebuilds and 3D printing your own carburetors.

my recommendation (as I said elsewhere in this thread, I'm a 10+ year NixOS user) would be to install NixOS on a VM or spare laptop and tinker with configuring it. you can follow the breadcrumbs, for example enabling sshd [0] has a "declared in" link to [1] where you can read the Nix source code of what that NixOS option actually does on your system.

flakes, modules, and overlays are all relatively "advanced" parts of the ecosystem, you don't need to know them as a new user. in particular, you will find many blog posts telling you to use flakes right from the beginning. that's an option, but not at all required.

0: https://search.nixos.org/options?channel=25.11&show=services...

1: https://github.com/NixOS/nixpkgs/blob/nixos-25.11/nixos/modu...

Re: NixOS 25.11 released

#35
post #2

I’m about 18mos into managing my macOS hardware with Nix. And I’m conflicted. It’s clearly a powerful system, and I’m still very noob at it. It’s not clear to me that it’s the right solution for macOS. I’ve not felt comfortable enough with it to roll it to Linux hosts yet. Or use its docker image maker. Consistently through the 25.05 period nix-darwin and nixpkgs would fall out of sync. I learned not to `nix flake up…

I very much do not recommend nix-darwin.

I do very much recommend home-manager, which will manage your dot-files and cli packages, and is portable between macOS and Linux.

Re: NixOS 25.11 released

#36
post #31

Earlier quoted context omitted.

This past month, I have spent a decent amount of hours (7+) trying to setup nix on my mac with nix-darwin, and failed. Most tutorial out there encourage you to download someone else's configuration to get going. I don't want to do that. I want to understand at its core how this thing works. I've read the official nix language documentation, watched YouTube tutorials, read 3rd party tutorials, and still couldn't get g…

> The nix language is also really unpalatable to me. It may not really help the case, but I firmly believe that it is not the language , but the ecosystem, and is more of a fundamental issue. But maybe putting the blame elsewhere could help accept the situation. So anyways, the language is pretty much a lazily evaluated JSON. But even if it were something else (insert your favourite language), the problem ultimately…

It is the language. The module system is both semantically indispensable and a second class citizen. It's another language, implemented on top of Nix. Once you have a userland "if" reimplemented in your language you know you're in a bad place. (`mkIf`)

Maybe lazy evaluated attrsets can help make a dent, but still the lack of static types for module code is beyond painful. It's hostile.

I believe Nix is worth it in spite of this, and I'll advise anyone to learn it, it truly is the way forward, but by god do I hope it's not the last step on this journey. Please, Lord, please don't let nixlang be the final iteration XD

Re: NixOS 25.11 released

#37

> Added nixos-init, a Rust-based bashless initialization system for systemd initrd Rust is such a heavy dependency though, is it not? Is it worth it? Additionally, what does it add as a new project / software (disregard Rust here)? What was wrong with the previous one and/or what does this fix or add that justifies adding a heavy dependency? Seems like most of these projects are written in Rust though.

Previous version was in bash. With this change you can build a nixos image not containing bash or any shell whatsoever. Not having interpreted languages on the system at all is an effective hardening technique combined with verity store containing all your executables as it makes it impossible for attackers to add new executable files to the system which stops almost all attack vectors.

You can read about the project here: https://github.com/NixOS/nixpkgs/issues/428908

Re: NixOS 25.11 released

#38
I've been using Nix and NixOS for about 5 or 6 years now, extremely thankful for the project. It was my gateway to open source and Linux, and has been pivotal to my career (I work on internal developer experience and environments + CI infrastructure).

It's certainly not for everyone, but for anyone who's full time job involves managing runtime environments it is second to none.

Re: NixOS 25.11 released

#39

Does anyone have a good resource for a quickstart/high-level overview of just the terminology required to understand Nix? Flakes/overlays/nixpkgs/etc. I start wading in to try and understand it, and instead run into arguments and disagreements. Unfortunately, without a base level understanding of the entire ecosystem, I stay lost.

You don't need flakes or some fundamental understanding for a quick start. I simply add programs that I use to configuration.nix. This covers 95% of my use cases. For everything else I use containers. This may be not the nix way, but works super reliably and without much trouble.

Re: NixOS 25.11 released

#40

Earlier quoted context omitted.

This past month, I have spent a decent amount of hours (7+) trying to setup nix on my mac with nix-darwin, and failed. Most tutorial out there encourage you to download someone else's configuration to get going. I don't want to do that. I want to understand at its core how this thing works. I've read the official nix language documentation, watched YouTube tutorials, read 3rd party tutorials, and still couldn't get g…

> The nix language is also really unpalatable to me. yeah, I wish I could give you some "it gets better" good news, but... I've used NixOS as my daily driver for ~10 years, including the laptop I'm typing this on. I love NixOS-the-OS, I love nixpkgs-the-ecosystem. but I still hate Nix-the-language. it's like Perl and Haskell had a drunken hookup that produced a child. and then abandoned that child in the forest where…

Which part of the nix language looks like Perl?

I actually find the language simple and easy to learn: It's just untyped lambda calculus with dicts and lists.

(I, too, would like static types though.)

Post reply on HN