3 ms·
Nix is nice. However, some practical aspects are (still?) quite ugly. It lacks decoupling between packages and optional runtime dependencies. You can disable op
by nextos 12y ago
Nix is nice. However, some practical aspects are (still?) quite ugly. It lacks decoupling between packages and optional runtime dependencies. You can disable optional dependencies, but this would lead to a different package hash negating the use of prebuilt binaries.
Therefore, the culture seems to have all default package builds with all optional dependencies on. This leads to situations such as installing mutt and getting python too! (mutt -> gpgme -> glib -> python)
Last time I checked, if you installed git, you'd also get subversion, etc. Quite sad, given that nix is full of so many fantastic ideas. Hope it matures soon.
- ArchD 12y agoI think you could define your own mutt package that doesn't have the optional stuff, although it may be a lot of work.
- barkmadley 12y agoI don't know much about the nix language, but it looks to me like the gpgme support is optional: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/mailreaders/mutt/default.nix https://github.com/NixOS/nixpkgs/blob/master/pkgs/applicatio...
- nextos 12y agoThe thing is easy to fix. The problem is that (i) most packages are far from minimal (ii) you loose pre-built binaries.
- barkmadley 12y agoTrue enough. I wonder how much of the problem comes from trying to be compatible with software packages designed for other systems.
- psibi 12y agoFor git they have a minimal version too: dev::hlinux { /home/sibi }-> nix-env -i --dry-run git-minimal-2.1.4 (dry run; not doing anything) installing ‘git-minimal-2.1.4’ these paths will be fetched (11.69 MiB download, 69.16 MiB unpacked): /nix/store/4qh8anh4phwx3gmrn2k49zh5xbkn49ir-git-2.1.4 /nix/store/4x0w8x70j27jxmy9wsn7sijrjjzj3dgj-pcre-8.36 /nix/store/g9qkr44yllgy5cb03vmfdksmh3pbmp1s-gnugrep-2.20 /nix/store/gwcvzrwyvgkgwlrgfyj4gqvsqn5syv1c-expat-2.1.0 /nix/store/rhghn8brqrz4j5ndkhwnm4afqjvk7zi8-python-2.7.9