Hacker News new | past | comments | ask | show | jobs | submit login

Where is the evidence for this? Where is the evidence that you can and should mix config management all of the way down the OS stack? How many containerization concepts do we need? Docker, lxc, VMs, and now NixOS? If it were a legitimate abstraction layer, then wouldn't it have caused fewer problems in implementation? And wouldn't it have seemed more intuitive to Unix experts? Yes... Reinventing the wheel again. I'm open to nicer restructuring of the Linux fileystem, but this is really re-inventing the wheel trying to polish over ugly parts that are ugly for a reason. Keep useful abstractions separate!



One problem that NixOS solves is to be able to use different tools on the same host in different versions easily(1) and in a reproducible way(2). Docker containers can be used to solve 1), but they are in some sense overkill and quite a few uses cases. If you are a developer who only wants do use different compilers then Docker containers are not really ideal, because they also enforce process isolation. Also there is the popular believe that Docker containers also solve 2) that is not really completely true. Yes you can run a Docker image in a reproducible way on different machines, but cannot necessarily reproduce the Docker image, at least not with the standard Docker tools. You can use Nix to create Docker images in a reproducible way.


> How many containerization concepts do we need?

Nix and NixOS aren't containers (or VMs, etc.).

> If it were a legitimate abstraction layer, then wouldn't it have caused fewer problems in implementation? And wouldn't it have seemed more intuitive to Unix experts? Yes... Reinventing the wheel again.

The basic concept of Nix is (a) use the `--prefix` argument of ./configure scripts to keep things apart, and (b) use the `PATH` end var to choose what we want to run.

In comparison, containers are much more recent, require more invasive changes (i.e. support from the kernel), etc.

Personally, I like using containers to run binaries. Putting a whole Linux/Busybox installation inside one seems to defeat the point though...


> Docker, lxc, VMs, and now NixOS?

NixOS came out in 2003. For context, that's when Xen came out.

LXC came out in 2008; KVM (Linux's built-in VM support) came out in 2007; Docker came out in 2014.


most people who have claim to be unix experts and cannot grasp nix are usually just don't like functional languages

those who do, say that it's a great idea, but implementation is a bit hacky and not well documented




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: