I've recently started experimenting with NixOS on my secondary (testbed) laptop at home. (My main home laptop has Windows, while at work we use Ubuntu.) Based on that and posts on this thread, I'd say <i>if</i> you're willing to consider Arch, I'd seriously suggest it might be worth adding NixOS to your list too. In my experience, at some cost, it gives you one particular <i>super</i>-power, that I've never seen anywhere yet. Specifically, breaking down cons vs pros:<p>- ~CON: It's not as polished experience as Ubuntu on "first install", i.e. "end user first" or "Windows-like". But based on other comments here, I assume <i>if</i> you're willing to try Arch, you agree for some tweaking. Please note I've never used Arch, so I can't more precisely compare the level of tweak-ness required; what I can say for sure that it's certainly easier than what was required in '90s (at least because we have teh internets now; and esp. the ArchWiki + askubuntu...) But again, I started my post with "if you're willing to consider Arch", so in such case I assume this point is a non-really-CON, as you're already agreeing to take this cost.<p>- CON: you have to learn a new language (Nix). To sweeten the deal, IIUC it's one of the few <i>truly</i> purely functional languages around. No IO monads or whatsit. As a result, you may (um; <i>will have to...</i>) learn some interesting functional tricks you never imagined may exist. Note also, that some advanced usage ideas are spread over a few blogs (see esp. the "Nix pills" series), and also in inline comments in the Nix standard library source code.<p>- SUPER-PRO: I found out that NixOS is a <i>hacker's dream OS</i>. Nix's core idea is that removing a package from your OS <i>nukes it clean</i>, leaving <i>absolutely no trace it ever existed</i>. As a result, you practically don't fear <i>any changes in even most sophisticated internals of the OS</i>. Want to change a kernel compilation flag? Meh, let's just try this one, <i>bam</i>, compile, reboot! Oh, it hanged during boot? Pfff, reboot again, select previous version in GRUB, and we're back! [Um; I mean, as long as you haven't burnt your hardware ;) you know, Linux is powerful :)] Also, part of this is in the fact, that all of your OS config is described in a single file, so you can control everything from single central position, and VCS it trivially.<p>I've already sent a couple PRs based on this ease of hacking and tweaking, namely to neovim and systemd-bootchart. I'm also trying to write my own series of blogposts documenting this (while it's still fresh in memory); but, eh, you know, a bit too many side projects... not to mention even some of this weird <i>"real life"</i> thing people are talking about so often...