Live data from Hacker News

Reflections on NixOS

zenhack.net

81–90 of 102 posts

Re: Reflections on NixOS

#81

Earlier quoted context omitted.

The great things about NixOS is that you can describe the entire state of your system in configuration files, and then after running `rebuild` know that what's on your computer _exactly_ matches that configuration. Can you do that with containers? For instance, I'm on NixOS `16.09.git.20f009d (Flounder)`. Here's my configuration: https://github.com/seagreen/vivaine . I know my machine exactly matches the combination…

Is there any real advantage to that opposed to say running this on my arch machine... yaourt -Qe|grep -v "(base"|grep -v "(xorg"|grep -v "lib32"|cut -f 2 -d "/"|cut -f 1 -d " " > package_list.txt Then to reinstall... pacman -S package_list.txt And copy in my home directory. After a reboot everything should work the same way I have it setup (I keep every change I possibly can in my home directory. It's everything asid…

I don't think so, that looks like the setup I'd like to be using if I was on a more traditional distro.

One issue might be the handling of dependencies: does `yaourt -Qe` list everything you have installed or only programs you've given a specific command to install?

Re: Reflections on NixOS

#82
post #63

PLAN9 namespace is a perfect solution for this kind of package isolations. I can imagine a perfect NixOS plan9 hybrid, only if APE were good enough. Perhaps people(TM) should really pool resources together and make that happen.

It's very early in the project lifecycle, but that's along the lines of what I'm planning for my hobby OS[1]. Right now I'm planning on using Genode/seL4 for the kernel and doing a plan 9-style userspace in Rust. Genode has a Linux virtualization/compatibility subsystem that I hope to use to bootstrap Linux "flavored" namespaces.

[1]: https://www.heartcore-os.org/

Re: Reflections on NixOS

#83
post #75

Earlier quoted context omitted.

Faking destructive package management on top does exist, and we do plan on making it better, but it's lot harder to get right than you might think.

I have some UI ideas of my own and could've helped, but I don't think investing time into Nix would be smart at this point. I feel like Nix lacks a clear vision of its future, focuses on desktop systems, while package management is not a big problem there, but it is on servers, and yet apart from Linux no other server systems are officially supported. No FreeBSD, OpenBSD, NetBSD.

Overall, I don't think the situation is as dire as you say it is, but I do understand why you think these things.

> I feel like Nix lacks a clear vision of its future.

There's various high-level plans that I think have a decent consensus, but not enough people have authority to make things happen. This means that more interesting PRs often rot.

> focuses on desktop systems

Nobody actually prioritizes desktops over servers, and the core design is quite agnostic, but because Nix is over a decade old, lots of old code and documentation do make it seem this way.

> yet apart from Linux no other server systems are officially supported

Other unices work do for userland Nix, and darwin has official binaries which would be the moral equivalent of official support. Also check out https://github.com/triton/triton a fork of nixpkgs which aims to have a NixOS work with FreeBSD kernel, and https://github.com/cleverca22/not-os to better make immutable OS images.

Re: Reflections on NixOS

#84
post #77

Earlier quoted context omitted.

> It takes effort to realize that the promised gain is bigger than the pain coming from doing what we're used to doesn't work. This could almost be the subtitle for "Functional Languages: Those Things Your Manager Won't Allow You To Use Yet" I think that a day will come when everyone will realize, and we'll have the tools to do, "functional" all the way to the metal. I like to quote John Carmack from http://www.gamas…

> I mean, what's the big advantage of Docker and the whole "container" movement? You are guaranteed (more or less) to have a known state. Why does resetting hardware fix problems? Because it resets things to a known state. Managing state is the problem, and functional paradigms are the solution. I would argue that, with Docker, you may or may not have a known state. You certainly have a fixed state, but whether or no…

Agreed (and that is why I qualified it with "more or less"). Docker is sort of a halfway solution, but it's after the same end goal as functional paradigms- Deterministic behavior that can be understood by a programmer (thus leading to a reduction in bugs) thanks to its known state(s).

Re: Reflections on NixOS

#85
post #77

Earlier quoted context omitted.

> I mean, what's the big advantage of Docker and the whole "container" movement? You are guaranteed (more or less) to have a known state. Why does resetting hardware fix problems? Because it resets things to a known state. Managing state is the problem, and functional paradigms are the solution. I would argue that, with Docker, you may or may not have a known state. You certainly have a fixed state, but whether or no…

Agreed (and that is why I qualified it with "more or less"). Docker is sort of a halfway solution, but it's after the same end goal as functional paradigms- Deterministic behavior that can be understood by a programmer (thus leading to a reduction in bugs) thanks to its known state(s).

i use nix to build my docker images and love it for that.

http://nixos.org/nixpkgs/manual/#sec-pkgs-dockerTools

Re: Reflections on NixOS

#86
post #76

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…

"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".

Re: Reflections on NixOS

#87
post #58

Earlier quoted context omitted.

While some things are fundamental for Nix's architecture, user interfaces are not. You don't even have to force people to learn the language, you can get apt-getish experience for generating .nix files with git-like commits or whatever. There are no limits in making it user-friendly and respecting people's habits and familiarity (which is actually a core concept for interfaces, that you seem to confuse with new techn…

Faking destructive package management on top does exist, and we do plan on making it better, but it's lot harder to get right than you might think.

Write a horrible hacky script that emulates 'npm install --save', see what users do with it?

Re: Reflections on NixOS

#88

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…

Why isn't macOS a Unix-like anymore?

[deleted]

Re: Reflections on NixOS

#89

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…

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...

Post reply on HN