NixOS 16.09 released
nixos.org
nixos.org
[0] https://github.com/NixOS/nixpkgs/issues/18995
Yeah. The devs believed it was okay to make gcc -O2 by default and impossible to override from the command line you gave to gcc.
If you encountered this issue I hope google could quickly bring you to that issue on github. Good luck and don't waste hours to figure out why.
I still love NixOS! A little hiccup here and there but it's still a great idea that I am happy to support.
Unf I'm seeing a unicorn (GitHub fail whale) currently, so I cannot see the issue.
Thanks to the core devs who made this possible.
Oh nice. Very impressive.
With all this in place in a project, building is as easy as nix-build. Development is as easy as nix-shell. For convenience we have scripts that wrap the workflow for activating a ghci or ghcid shell and some other functions. Deploying to AWS is easy, even though I've never done it myself.
One problem we have is build times with nix. In order to ameliorate this, we have a build server set up with the out of the box nix infrastructure. A developer only needs to build when they make their own changes; within a few minutes of a push the build server will compile the new project derivations and they'll be available to everyone else as binaries. It all Just Works.
As for specifics, the currently implemented Haskell infrastructure in Nix is pretty good. For my personal development I have a few auxiliary scripts a friend of mine cooked up to do very streamlined development. I'm still getting used to it so I can't say much on that front, but it's a very thin wrapper over the stuff in nix. The nix language is really gnarly, but if you can grok it then you can program your build environments in a purely functional way, and that's amazing! I would recommend to every developer that they set up their environment the way they want it. Nix is very flexible and robust. It will handle everything for you, you just need to tell it what you want.
https://github.com/NixOS/nixos-homepage/commit/70bcfbb64a0e3...
For those wondering the procedure is basically nixos-channel add /path/to/16.09
nixos-rebuild switch --upgrade
You can even downgrade if you want. I've switched to unstable and back to 16.03 (and now to 16.09) without a reinstall and everything still works perfectly.
Perhaps it is hard to discover how to, but I was about to post here and say one of the best things about nix is how easy it is to hack and add packages. It does require a bit of learning about how it works, but once you do the whole system is quite understandable. It's also very easy to test out things locally, overriding and extending the nix package collection. It is fairly straightforward to set up, build and install your own local projects as nix packages. Even I -- a mere web developer, who mostly uses OS X -- got a package definition merged into the main repository, it was that simple.
One series of blog posts that is good in this regard is the Nix pill series: http://lethalman.blogspot.com/2014/07/nix-pill-1-why-you-sho...
I think the project as a whole would welcome suggestions on where to improve docs as well, and would _definitely_ appreciate some new docs being written. It is hard to do this once you're too familiar :(.