4 ms·
This mostly sounds pretty scary. Over flatpaks and snaps, I choose Nix. I really don't want to shove everything I do into per application containers. Actually
by georgyo 5y ago
This mostly sounds pretty scary.
Over flatpaks and snaps, I choose Nix. I really don't want to shove everything I do into per application containers.
Actually, every single bullet point they mentioned is solved in NixOS.
Distinct packages? Check
Immutable OS with trivial and guaranteed roll back? Check
Different applications using different libraries? Check
Pipewire? Check
Different libgl support? Check
The best part is that all of these is possible with the same exact tool. It isn't a hodgepodge of different tools to accomplish different tasks.
- 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".
- BrightGlow 5y agoNix is not mutually exclusive with Flatpaks though. You can easily enable flatpaks on a NixOS install. You don't need to choose between them.
- dystopiabreaker 5y agoNo normal users are ever going to edit a configuration file, complete with its own specific syntax, in order to install apps.
- effie 5y agoNo normal users are going to use Linux or MacOS. They are going to use Windows.
- hollerith 5y ago"The same exact tool" as you refer to it has a very high learning curve and includes for just one example its own functional programming language. If you search the web for a solution to a Linux problem, translating the instructions (and an example of what I mean by an "instruction" would be, "add to this config file these lines of text") into instructions that work on NixOS is impossible unless you know a lot about Nixos. I ran NixOS as my daily driver for 2.5 months earlier this year, and I got nowhere close to learning enough about it so that I had a decent chance of being able to translate a solution published on the web that works on most other Linux distros into something that works on NixOS. (I know enough to know that it is unlikely that I would need to learn the aforementioned Nix-specific functional programming language to do the translation, but there are many other pieces of Nixos I would need to master.) One thing NixOS has going for it though is currently having many more users than Silverblue has if comments on HN are any indication (and they probably are) which is probably an effect of its having been around a lot longer. Wikipedia claims that NixOS's initial release was in 2003.
- smoldesu 5y ago> "The same exact tool" as you refer to it has a very high learning curve and includes for just one example its own functional programming language. So does Emacs and Vim, good luck arguing against those.
- lostmsu 5y agoLost already https://insights.stackoverflow.com/survey/2021#section-most-popular-technologies-integrated-development-environment https://insights.stackoverflow.com/survey/2021#section-most-...
- georgewsinger 5y agoSimulaVR (www.simulavr.com) is leaning towards using NixOS as the basis of its VR distro. Though it's always been a huge pain to get everything set up (especially things involving graphics), once it's set up it works forever for everyone in the ecosystem.