I love the idea of nix but the inconsistency and developer experience is terrible. I want to suggest people use it but there is too many rough edges currently.
For example, if you want to install a package the old way, you'll install it including the channel:
nix-env -iA nixpkgs.ripgrep
but then if you want to remove one, you don't reference the channel:
nix-env -e ripgrep
You have a similar issue if you want to use the new `nix` command. To install a package you'll do:
nix profile install nixpkgs#ripgrep
but running:
nix profile remove nixpkgs#ripgrep
will do
nothing. It won't say "I didn't remove the package" or "package not found". It just returns silently. The only way to remove it is to point to the number from `nix profile history` or the actual path.
It is unbearably slow:
> time nix-env -qaP ripgrep
nixpkgs.ripgrep ripgrep-13.0.0
11.17s user 2.70s system 73% cpu 18.970 total
Overall I love the idea but it has a long way to go in developer experience and quality before it is ready for any mainstream adoption.
For example, if you want to install a package the old way, you'll install it including the channel:
but then if you want to remove one, you don't reference the channel: You have a similar issue if you want to use the new `nix` command. To install a package you'll do: but running: will do nothing. It won't say "I didn't remove the package" or "package not found". It just returns silently. The only way to remove it is to point to the number from `nix profile history` or the actual path.It is unbearably slow:
Overall I love the idea but it has a long way to go in developer experience and quality before it is ready for any mainstream adoption.