Quite a lot of packages were broken (I fixed 3), but then I found the default nix script (which you are supposed to run every login) broke mercurial, by installing it's own certificate store, and I had to stop using it.
I just had a look again and found that ffmpeg is one minor version behind behind stable, its binary is annoyingly called "ffmpeg3", and it was compiled somewhere with LLVM 6 / clang 600, versus LLVM 8 / clang 800 on my macOS 10.12 system. I tried to compile it manually (after a shallow clone of their massive, 250,000+ commit git repo), but failed.
For me Homebrew does the right thing here — they basically turn my Mac into a rolling release Linux desktop like Arch Linux, which is great for the userland type packages I use: openssh, zsh, tmux, postgresql, ffmpeg, git, vim, rsync, etc.
That said, there are tens of thousands of packages that build on OSX, certainly many more than enough to be a very useful platform for package management, especially when coupled with all of the advantages that nix brings. The downsides are a higher learning curve and occasional missing and/or broken packages.
I hope to use Nix for go and c programs the same way you use Boot/Lein, Maven, Bundle and Npm for their respective tasks - make a manifest local to a project directory. No more figuring out whatever that library is called in my package manager...