Apparently there is company switching from using Gentoo to NixOS. Gentoo seems a bit of a weird fit for production, unless you can compile packages on another server and deploy them (last time I used it was 10 years ago so I don't know if that's a thing).
They could be using Portage to build static images of variously configured systems like Google does for Chrome OS[1]. Portage is a very powerful and versatile build tool.
You can build binary packages after successful compilation/installation (every time if you want) or only build binary package. Then you can share binary packages between all hosts or have one host that is building packages for all others. You can restrict portage to only install binary packages.
Doing all this can be a bit tedious, but with current computer's power it is quite fast process. You will get lean system that can be like no other - that's a curse and a blessing.
Nevertheless I speak from the position of a desktop Gentoo user from the past, that recently used Gentoo for personal R&D project. It certainly is better experience than few years ago.
You can install only run-time needed packages on your host or even to different directory (for chroot). One thing that I don't know how to get over is to not have development files inside binary packages. Like include files. Also I had to manually copy gcc libraries to such a chroot, because I didn't want to install whole gcc there.
I feel that any system that can benefit from a high level of control (e.g. any production system) can also benefit from a source based distribution model. Of course the sysadmins using it need to know how to take advantage of that control (and e.g. maybe write some C). And of course, you can get the same thing with any modern package manager but then you have to be intimately familiar with the way packaging is built from source on that distro and how to build and run your own package hosts.
Nix is quite unique (and elegant IMO), in that it: 1) forces you to learn at least a bit of a DSL to use and understand it and 2) seems to put you somewhere in between these two "extremes" of control. I don't know how easy it is to run a hydra build server (it didn't look very easy last time I checked), but I do know the nix DSL gave me a clean place to specify almost exactly how my system had differed from a base install.
For anyone else trying to download the NixOS ISO from the website, they don't offer torrent downloads and the connection keeps dropping (for me, at least), I eventually got an intact copy.
I'm also interested on this topic.
On their wiki page[0] there is a list from some hosting companies offering guides for setting this, but didn't saw anyone offering it out-of-the-box.
If someone wants to try NixOS on their VPS there is nixos in place [0], which basically "converts" a Linux to NixOS.
"nixos-in-place is known to work on Ubuntu, Debian, CentOS, Fedora, Arch, and Slackware, including x86 and x86_64 variants, with and without LVM, including systems on Digital Ocean droplets"
One of our senior engineers spoke at Nix OS Conf 2015, which we also sponsored. He touches on what we do, and a few things he's doing with it, then gives a tech talk.
19 comments
[ 2.8 ms ] story [ 37.2 ms ] thread[1]: https://www.chromium.org/chromium-os/how-tos-and-troubleshoo...
Doing all this can be a bit tedious, but with current computer's power it is quite fast process. You will get lean system that can be like no other - that's a curse and a blessing.
Nevertheless I speak from the position of a desktop Gentoo user from the past, that recently used Gentoo for personal R&D project. It certainly is better experience than few years ago.
You can install only run-time needed packages on your host or even to different directory (for chroot). One thing that I don't know how to get over is to not have development files inside binary packages. Like include files. Also I had to manually copy gcc libraries to such a chroot, because I didn't want to install whole gcc there.
Nix is quite unique (and elegant IMO), in that it: 1) forces you to learn at least a bit of a DSL to use and understand it and 2) seems to put you somewhere in between these two "extremes" of control. I don't know how easy it is to run a hydra build server (it didn't look very easy last time I checked), but I do know the nix DSL gave me a clean place to specify almost exactly how my system had differed from a base install.
magnet:?xt=urn:btih:071B7CBA20B94E5FDC4DAD397DE98D3A05276536
SHA-256 can be verified from https://nixos.org/nixos/download.html
[0] - https://nixos.org/wiki/Hosting_providers_%26_NixOS
"nixos-in-place is known to work on Ubuntu, Debian, CentOS, Fedora, Arch, and Slackware, including x86 and x86_64 variants, with and without LVM, including systems on Digital Ocean droplets"
[0] https://github.com/jeaye/nixos-in-place
https://youtu.be/7QGYOq8U9E0
Nic can be very helpful at lots of things. If you're interested in Nix or us, email me (in profile).