Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

People need to stop thinking of NixOS as another Unix-alike, because it isn't, in very much the same way that MacOS used to be a Unix-alike, but isn't any more, either.

NixOS is rebuilding important pieces of the foundation. Why? To address a basket of problems we have been complaining about with Unix for a very long time. Is it worth the hassle? Well, have you ever lived through a kitchen remodel in your house? That's a hassle, too, but you end up with a better kitchen.

IMHO NixOS is pointing the way forward, but is probably not the last word in next-generation operating systems. The existence of NixOS and Guix (and similar) are exciting, because they are part of the ferment creating the thing on which we will eventually converge.



It's worth checking out at least the introductory parts of the theses written about Nix and NixOS.

Eelco Dolstra's Ph.D. thesis describing Nix, "The Purely Functional Software Deployment Model": https://nixos.org/~eelco/pubs/phd-thesis.pdf

Armijn Hemel's master's thesis describing NixOS: https://nixos.org/docs/SCR-2005-091.pdf

Or this more recent journal article about Nix/NixOS which is a good introduction: https://nixos.org/~eelco/pubs/nixos-jfp-final.pdf ("NixOS: A Purely Functional Linux Distribution").


"The same way that MacOS used to be a Unix-alike, but isn't any more, either."

The Open Group would disagree.


Assuming you mean the SUS, I'd argue there's a big difference between "meets the standard" and "feels like an actual unix".

Personally, I'd call OS X unix-like but not unix-alike, which perhaps sounds like hair splitting but having admined multiple unices there's definitely a difference, even if I can't figure out how exactly to articulate it beyond "it doesn't feel the same".


Why isn't macOS a Unix-like anymore?


macOS is BSD Unix under the hood with the Mach kernel [1]. I'm tired of hearing this nonsensical talking point that macOS has strayed too far to be considered Unix. What does that even mean? Perhaps someone should inform The Open Group who controls the official Unix specification that they are wrong. Even though it shells like a unix, users like a unix, signals like a unix, files like a unix, networks like a unix, streams like a unix, and threads like a unix, because of reasons never enumerated, macOS is not Unix. /endrant

[1] https://developer.apple.com/library/mac/documentation/MacOSX...


A kernel is not an OS.

I'm thinking perhaps some measure of porting effort is the appropriate metric. There is a reason Mac users can't simply point to a bsdports repo.


Uh, yes it is. It is a very core part of an OS. Without it, the OS does not function.


Kernel is necessary, not sufficient. Nobody ships just a kernel and calls it an OS.


Right, linux never just ships as a kernel for others to consume.


Because, with the popularity of Linux, people have forgotten how varied unix-like OSes once were. I'm sure the grandparent poster will mention things like how it stores configuration differently, etc, but that's only not-unix-like to someone who hadn't used a handful of different commercial Unices back in the 1990s.


For me, they key pieces are: 1) frameworks. when traditional search paths don't find executables and dyn libs the way you expect, it isn't unix-alike. 1a) when the execution environment has changed enough that the build needs to be modified beyond a few simple config variables, it isn't Unix-alike. 2) unconventional init system. although BSD is moving to something similar to launchd, so I think that idea is evolving toward mainstream. 3) unconventional cron, see launchd/BSD.

So dll dependencies are crazy-making, and Nix is attacking that. traditional init is getting creaky, launchd and systemd are attacking that.

With respect to systemd, I love how it has motivated people to try to come up with something better than both traditional init and systemd.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: