4 ms·
> all of these is possible with the same exact tool This sounds nice, but it's the opposite of the Unix philosophy, which will always rub me the wrong way. I t
by sprayk 5y ago
> all of these is possible with the same exact tool
This sounds nice, but it's the opposite of the Unix philosophy, which will always rub me the wrong way. I thought of systemd this way at first, but then I saw how it was composed of a bunch of different, optional services that can be swapped out for other things fairly easily while still allowing systemd proper to manage and interact with them.
- evil-olive 5y agoI get what you're saying, but I don't think it violates the Unix philosophy in that way, at least not any more than any other package manager like apt or dnf does. Nix as a package manager is made up of multiple tools that interact, such as nix-env, nix-store, nix-shell, etc. NixOS additionally has nixos-rebuild and other commands that are layered on top of those core Nix commands.
- georgyo 5y agoNix is actually a very simple tool, that in fact only does one thing and does it well. That one thing is building packages in sandboxes and adding them to the nix store. You can see that manual for Nix is actually fairly short: https://nixos.org/manual/nix/stable/ https://nixos.org/manual/nix/stable/ The properties of Nix allow for everything else. This enables NixOS and nixpkgs to exist, and they have much longer manuals: https://nixos.org/manual/nixos/stable/ https://nixos.org/manual/nixos/stable/ https://nixos.org/manual/nixpkgs/stable/ https://nixos.org/manual/nixpkgs/stable/ So nix does one thing and does it very well. Tangent. The "unix philosophy" isn't very true on Linux, and hasn't been since GNU. The problem with "do one thing and do it well" is that very often you need to do more than one thing. You then need to learn a completely different thing to do another basic operation. Having one tool do literally everything is also unreasonable. But there are natural boundaries for things to exist. It is not unreasonable for the uniq to have a count tool, or for sort to have uniq. I've been doing this for 20 years now, so I've very comfortable with Linux/Unix tooling. But I see new comers come on. It's often easier for them to script something completely from scratch in python then figure out how to stitch coreutils together.
- native_samples 5y agoIs this a UNIX tool in the same vein as emacs? I'm not sure a package manager that includes a half baked FP programming language can be described as a tool that "only does one thing and does it well".