The more you use Nix, the more you realize how limited the language is. Yes, it is really easy to read, and you probably don’t even need prior experience in functional languages, but after seeing how there’s Python, Shell and Ruby script inside the NixOS/nixpkgs repo for automation, like for example, this update.py for Vim, I wish they had used either Haskell, Erlang or at least some variant of ML, Lisp or Scheme instead. No, I don’t hate NixOS, and I’ll still probably stick to using it on my current laptop, but for my new future machine, I’ll be making the switch to Guix after learning the language.
You do realize that updating is a non-deterministic process, right? The entire point of the nix language is to be deterministic. And the only thing these update scripts do is generate new nix code. It’s not like the nix part of nixpkgs calls these scripts during evaluation because “how limited the language is”. It’s literally just a script that does automated work for the package maintainers.
The more you use Nix, the more you realize how limited the language is. Yes, it is really easy to read, and you probably don’t even need prior experience in functional languages, but after seeing how there’s Python, Shell and Ruby script inside the
NixOS/nixpkgs
repo for automation, like for example, this update.py for Vim, I wish they had used either Haskell, Erlang or at least some variant of ML, Lisp or Scheme instead. No, I don’t hate NixOS, and I’ll still probably stick to using it on my current laptop, but for my new future machine, I’ll be making the switch to Guix after learning the language.You do realize that updating is a non-deterministic process, right? The entire point of the nix language is to be deterministic. And the only thing these update scripts do is generate new nix code. It’s not like the nix part of nixpkgs calls these scripts during evaluation because “how limited the language is”. It’s literally just a script that does automated work for the package maintainers.