3 ms·
100% this. The language is designed for its use case which is packaging and configuration (nothing more or less). It has a learning curve due to being lazy and
by snowytrees 5y ago
100% this. The language is designed for its use case which is packaging and configuration (nothing more or less). It has a learning curve due to being lazy and functional but works great once you get the hang of it. But the documentation of all its functions is so annoying. You have builtins and the nixpkgs functions[1]. There is learning the language, and then learning how to use it. Then there is the entire ecosystem of custom packaging functions that have their own pros/cons [2]. The issue isn’t with the language but the difficulty with trying to make existing tooling work the Nix way. That part is where I agree with the curse of nix. But the effort is worth it because once the packaging is complete it just works (forever).
1: Best resource I’ve found is this: https://teu5us.github.io/nix-lib.html https://teu5us.github.io/nix-lib.html
2: The status of lang2nix: https://discourse.nixos.org/t/status-of-lang2nix-approaches/ https://discourse.nixos.org/t/status-of-lang2nix-approaches/...
- zeec123 5y agoHowever, until this works, nixpkgs should provide a wrapper around FHSUserEnv which allows developers to develop without the curse.
- kristjansson 5y agoConvenient (version-addressed!) FHSUserEnv is exactly what I want out of Nix. Land me in an environment that has a list of deps (at specific versions, not hashes!), let me go mess with it.
- jcranberry 5y agoThese look pretty promising. Maybe I'll give nixOS another shot because I really was a big fan.