Live data from Hacker News

NixOS: Declarative Builds and Deployments

nixos.org

81–83 of 83 posts

Re: NixOS: Declarative Builds and Deployments

#81

Earlier quoted context omitted.

> I first looked at nix-shell which you can use to create ephemeral environments just like Docker, with the difference that they are 100% reproducible and you don't need containerd or like. Sounds like podman. What is the big differentiator from it?

nix shell is just another shell instance, with new things brought in via $PATH etc. Not a container, still part of your "current computer environment".

So more like virtualenv?

Re: NixOS: Declarative Builds and Deployments

#82

Earlier quoted context omitted.

nix shell is just another shell instance, with new things brought in via $PATH etc. Not a container, still part of your "current computer environment".

So more like virtualenv?

Sort of, but instead of being focused around a local directory, everything is stored in /nix/store/-, declaratively created and reproducible, and there's a whole Linux distro built using that.

Re: NixOS: Declarative Builds and Deployments

#83
post #22

I think the idea is good but execution is poor to reach mass adoption because: 1. It tries to replace ALL package managers due its extreme philosophy. I had a lot of issues when it tries to replace Cargo for example 2. It uses a functional language, which will lose 95% of users 3. It never had a great user experience especially if you’re new and trying to learn or if you’re not using linux or if you bring your own to…

What exactly would this "cleaner base" look like? A main goal of Nix is a completely reproducible deployment, and many tools are not built for declarative usage, so Nix must add a layer on top in order to make them declarative. If you only go part way, then the entire point of Nix is nullified. Might as well use Ansible. That being said, it's really not that difficult to use tools in their original form on Nix is you…

My experience with Nix is that my own tools didn't work, even with the help of Nix experts. Then, after months of debugging we figured out that I had to quit vscode completely, and then start it from the console using the nix command with the -i option to clean up any environment variable (without that option it wouldn't work). There were some nix plugins for vscode, which would have been awesome if they had worked, but they didn't.
Post reply on HN