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

I cannot comment on Guix versus Nix. I do agree the Nix language is unusual.

For instance, this statement:

  buildInputs = with pkgs;[
    python34
    python34Packages.docopt
  ];
In any other language, the first semi-colon in that position would be the end of the statement. But in Nix, it is not.

The writer of the Nix expression does have to pay a significant cost, in my opinion. If done correctly, the users of the Nix expression can benefit enormously. Using a Nix project can be simple. These commands:

  nix flake show
  nix build ...
  nix run ...
  nix flake check
cover a lot of ground, and don't necessitate understanding the Nix language. It is the best way I know to synchronize a team of developers and provide them with identical working environments, on their own operating systems.

A very complex application written in multiple languages with multiple services can be set up with a Nix expression. The application developer then needs only the commands above to build, run, and test the application. Furthermore, Nix can provide the compiler and IDE support (such as an LSP server) to the developer.



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

Search: