I honestly had no idea that you could run Nix on OSX; Neat! I may try to use this to help make my linux and OSX environments much more similar.
I ran in to issues with software not building quite a bit. I am not sure of the current state though.
It can be hit or miss most of the time But if more people use it and help it should improve. I’m somewhat in mid stream replacing homebrew with nix on osx. Still can’t get rid of homebrew just yet but getting there slowly.
I used NixOS for a few months earlier this year. Overall, I would characterize my experience as mixed. This was not the fault of the tools, but of the documentation.
One of the things I didn’t know how to do properly was setup multiple independent development environments. This tutorial puts that front and center, and it was the key feature that turned my last couple of weeks using NixOS from a negative experience to a very positive one. Unfortunately, I still had to switch because of compatability issues with work-mates.
Once my internship ends and I have a bit more time, I’m planning on moving back to a multi-OS setup (maybe using a VM-oriented OS to run multiple simultaneously (that’s the dream!)), and Nix will be one of the ones I install. I’m also considering using Nix on my own projects because the dependency management is excellent.
If I had to pick one dependency management tool to use for the rest of my life, it’d be Nix. It marries many of the things I like about npm (easy package install, reproducability) and the AUR (easy to define local-only packages, easy to make packages available to other users) with significant stability from being able to rollback to previous generations. I think that if any package manager has the potential to become a common standard (which, for the record, I think is unlikely), it is Nix.
The smoother experience is due to Nix using binaries when installing software.
FWIW nowadays Homebrew has an automated pipeline building binary “Bottles” and the 80% case of brew install is installing from a binary.
If you see the output “pouring bottle” when running brew install that’s what’s happening.
All that being said - Nix still looks worth investigating! :)
I really like Nix, but I found the advantage with homebrew is that the packages are configured to integrate well with OS X. For example, I had problems with SSH keys when using the Nix version of git.
Maybe I’ll give it another go to see if it’s improved.