6 ms·
Ah, I remember 7 years ago trying to decide whether I'd switch to GoboLinux or Nix. I choose the latter and don't regret for a moment, but I'll continue respect
by Ericson2314 6y ago
Ah, I remember 7 years ago trying to decide whether I'd switch to GoboLinux or Nix. I choose the latter and don't regret for a moment, but I'll continue respect GoboLinux and have the found memory.
I think the big difference is:
- Nix: the filesytem is rarely the right datastructure (I agree) other things are needed.
- Nix: Store and Nix too is more freeform, package / distro norms provided by higher layers (Nixpkgs, NixOS)
- diomedes 6y agoI've been using NixOS for 2 years now, my general impression is that even if Nix isn't the popular solution, it'll probably inspire the right way of doing things for the next years. It might not look like much, but representing the whole system's dependencies as a Graph database, then using a purely functional language to define such database has happily prevented me from shooting myself in the foot many times over the past year.
- freedomben 6y agoHave you tried any of the containerized distros? I haven't tried Nix but want to. Just wondering if you can compare/contrast NixOS with something like Fedora Silverblue or Fedora CoreOS.
- arsfeld 6y agoI used both and even though their purpose is very similar (have an "immutable" system tree that you create and switch into it), the day to day is very different. Silverblue is still pretty much imperative, you install/remove RPM packages and that's it, you use Flatpak for everything else. NixOS you have to describe your entire system in a programming language. NixOS gives you so much more freedom to do what you want, but you have to work for it, learn a language, learn it's constructs, etc. I enjoy both though, feels like the right direction to go, you just need to choose how you want to interact with your OS.
- Ericson2314 6y agoI haven't tried, but I get the sense that those are more about cleaning up the run time than the build process. At least the flatpak/snap world also is kind of anti-integrative in that everything is vendoring everything else. I personally think containerization is just too much a PITA to use for software that doesn't live in a bubble, e.g. desktop software. The capabilities revolution (Capsicum or CloudABI) would be more secure and easier to program with, so we just need to force our way there, and then everything will take care of itself.
- diomedes 6y agoNope, but it's not the same thing. NixOS can easily provide me with free rollbacks and is mostly reproducible (https://r13y.com/ https://r13y.com/). The funny part about NixOS is that once someone reports a weird behavior, almost everyone will have it and can verify/fix.
- Blikkentrekker 6y agoNixOS is the distribution much how Haskell and Scheme are the programming languages in that in their lust for theoretical perfection and elegance, they do not see widespread adoption, but often have a lasting influence on other projects that take the useful parts from their elegant ideas and work them into something more practical.
- hollerith 6y agoGood point. Today most popular languages (or at least those with garbage collection) use lexical scoping of variables, which they copied from Scheme.
- Ericson2314 6y agoI've never bought this, I use Haskell and Nix all the time for GUIs and other nerd-phobic tasks. And it's definitely the most practical way I know of doing things. Most people just want to cargo-cult what others do, and most things initially get popular because some way of deploying software requires it / makes it the path of least resistance. None of that is about practicality, just short-sightedness and ecosystem effects.
- monoideism 6y agoI'd like to try NixOS, but from what I've seen, there are still a lot of issues trying to run it as a daily driver on a laptop. Has that been your experience? With Ubuntu, Debian, and even Arch, it's pretty much install and go. Also, it requires significant disk space, which I usually don't have on my laptops.
- X6S1x6Okd1st 6y agoTbh I'd recommend trying nix on top of another distro or on top of OSX first. If you just want the ability to install arbitrary versions of packages along side each other/have painless roll backs/bake config files into your install you can do that there. Once you get comfy with nix on top of another distro then think about whether you want that approach with the entire stack.
- chpatrick 6y agoI've had pretty much no problem on my ThinkPad. It always depends on how custom your setup is.
- miloignis 6y agoI've been using it as the daily driver on my laptop for a few years, and it's been great! Using it in general is a steepish learning curve, but I think it's very worth it. Having rollbacks for every upgrade just makes me sleep better, and it's saved my bacon more than once. Being able to customize the packages running on my system in a safe and reproducible way is great as well. It's also helped me do research, it's easy for me to build different versions of a package with different patches and compare their performance, etc.
- kevincox 6y agoSame. Rollbacks are awesome. Not only rollback in the boot menu, but also just keeping your OS configs in Git. It is so nice that I can mess with my configs without concern, then when I am done I can diff them too see what I changed, continue messing to clean them up a bit, then commit (or reset if the experiment didn't work out). When I used Arch I would edit a handful of configs trying to set up something new or tweak a setting and I could not get back. I would need to take notes or just try my best (I have force-reinstalled packages countless times). I'm also waiting for the parts of my new desktop to come in and I'm excited that all it takes is cloning my config repo and applying to get to exactly the same setup. With Arch I would have reinstalled to clear the cruft that has accumulated, however with NixOS I can just audit my configs to see an entire list of cruft and easily undo it by removing lines.
- amelius 6y agoI'd love to use Nix, but I'm using a lot of embedded devices which are tied to specific Linux releases (e.g. NVidia Jetson <-> Ubuntu). Trying to get e.g. a GPU to work on these systems with Nix is probably going to be a bad idea.
- fiddlerwoaroof 6y agoNix also has a hosted mode where it piggie-backs off the underlying system: I’ve been using it day to day on macOS and various Debian installations, and it’s working pretty well. Nix/lorri/direnv, in particular basically obsoletes nvm, rbenv, etc.