NixOS 14.12 released
lists.science.uu.nl
lists.science.uu.nl
I use Nix together with ArchLinux now to set up consistent development environments and it has been great. It's also blazingly fast because of Hydra[1], their continious build system.
However, some practical aspects of nix are quite ugly. It lacks decoupling between packages and optional runtime dependencies. You can disable optional dependencies, but this would lead to a different package hash negating the use of prebuilt binaries.
Therefore, the culture seems to have all default package builds with all optional dependencies on. This leads to situations such as installing mutt and getting python too! (mutt -> gpgme -> glib -> python)
Last time I checked, if you installed git, you'd also get subversion, etc. Quite sad, given that nix is full of so many fantastic ideas.
Can it? It seemed to require root to install when I last tried.
The key feature is 'declarative system configuration'. Sort of Puppet/Chef/Ansible/CFengine build-in. Heavily oriented on DevOPs culture.
The OS allows you to test package installs without the fear of breaking the system. You can always roll back to a previous known-good state.
PS. I know there are some really fickle and obscure commands to get the list of explicitly installed packages
PPS. Maybe Gnome 3 isn't the best example, except that it would definitely be an accident if I installed it.
PPPS. The useless junk floating around probably shouldn't bother me that much, but it does.
The problem is with the recommendations, they are very numerous, and any package that the maintainer thinks should be used together with one of your automatically installed ones will make it stay.
Anyway, NixOS is based on immutable states. It keeps lots and lots of states (much worse than Debian on that), but they shouldn't be a problem for anything (I've not used it enough in practice to be sure).
Ansible and nix compliment each other nicely as tools. Nix gets you highly reliable package management using principles from functional languages.
Gnu guix is an alternative to Nix (the package manager).
Except this is pretty much what NixOS does (compared to Nix).
Packages seem to tend to be barebones, but I'm not sure if that's intentional. For example, Vim didn't ship with a default config file for quite a while, contrary to even Arch.
See also: GNU Guix, based on Nix. https://gnu.org/s/guix
2) NixOS package management is similar to the Arch system because binary installs come first, and AUR installs (source builds) come second.
3) NixOS has an easier/simpler rollback and configuration system than Arch.
4) Manjaro, a more stable Arch distro, doesn't fit me without having to build a custom Linux image. It's been a while, so this might have changed since I've last checked it out.
5) FreeBSD is enticing, but if I have to go BSD, it's OpenBSD or DragonFly. I've been thinking *BSD ever since the switch to systemd...
Which brings me to my second problem with Arch: every other update I have to manually inspect the changes on various config files and merge with my personal changes.
[1] https://wiki.archlinux.org/index.php/Enhance_system_stabilit...
When I ran arch (and I ran it for quite a while) I had the occasional breakage, but I don't recall ever having a break that I needed to boot into a live environment to fix, let alone require a re-install.
Granted, it might be quicker to re-install if you haven't fermented in linux-land for long enough to know how to figure out what's borked and what you need to do to fix it, particularly if you would need to boot a live usb or something, but I'm struggling to think of things that would actually brick a linux system these days that aren't either hardware failures, some really crazy filesystem corruption, literally rm -rf / for way too long, or being installed on a machine with no alt-boot method.
On the bright side, reinstalling isn't too bad unless you don't use separate partitions.
All that said, there is a pretty hefty active maintenance cost to running Arch. At least they're explicit about it.
Plus I really like this whole rolling release philosophy with up-to-date packages :)
I recently installed the latest Ubuntu just to see where that has gone since I last used it years ago. I had to wipe it after less than one hour.
I really should play around again with NixOS, looks like it has progressed quite a lot since I last encountered it.
Which ideas would you think are worth stealing from there?
https://wiki.archlinux.org/index.php/arch_compared_to_other_...