I absolutely love the concept of NixOS, but I haven't tried it out. Is it well-supported enough to use day-to-day as a developer? Do you often have to build things from source?
It's worth playing with to see if it could fit into your work; for instance, the Haskell ecosystem is very well supported, while Ruby seems to have issues. I am now using it for work on some of my projects. Generally you won't have to compile from source; that said I did recompile glibc when that last bug hit. (Security updates for core packages are not a great story now.) It's not perfect, but it's very hackable.
> Is it well-supported enough to use day-to-day as a developer?
Speaking as someone who knows the developer: no.
> Do you often have to build things from source?
There's ~6500 packages, so it's likely you'll be installing some stuff from source. It's really hard to predict without knowing specifics though. http://hydra.nixos.org/eval/1237359
If you track 'unstable' you generally don't need to build from source as that branch (or channel as Nix calls it) is updated only after everything has been successfully built on Hydra. There are sets of packages excluded from the build but I think those are mostly interpreted languages (emacs packages, etc).
It's generally well-supported enough so long as you don't need the latest and greatest packages within about a month of their release. They're having issues with their continuous integration system (the box it's running on isn't powerful enough and the project doesn't have money to get a new one), and there's occasionally breaking errors in important packages meaning a new version of the package repository doesn't get rolled out for a while, even if you're not using those packages.
Note that building from source is exactly the same process as building from binary - i.e. "nix-env -i firefox" will try to install from "cache" (the output of the continuous integration system's build process) and if it can't find something, build from source. Most important things are in the cache, some things aren't (mostly obscure packages and things with no-redistribution licenses), but in general it works out well.
I use it day-to-day as do some others in my company, and we also use it for all our cloud deployments. You have to relearn a number of things, like setting configs and so on, but on the other hand for nix pkgs it is nearly always a completely hands-off process regardless of whether you need to build from source or not (Nix handles that as part of the build, retrieving binaries from a remote cache is an optimization). I recommend giving it a shot!