Installing NixOS

2017-05-13

last updated 2019-02-16

Update

Please see my followup post with NixOS for a far better experience with it


Today I decided to install NixOS as a recommendation, a purely functional Linux distribution, since Xubuntu kept crashing. Here's my journey, and how I managed to install it from a terminal for the first time in my life. Steps aren't hard, but they may not seem obvious at first.

I enjoyed the process of installing it, and it's really cool that it has versioning and is so clean to keep track of which packages you install. But not being able to run arbitrary binaries by default is something very limitting in my opinion, though they've done a good job.

I'm now back to Xubuntu, with a fresh install.

Update

It is not true that "they don't allow running arbitrary binaries by default", as pointed out in their manual, buildFHSUserEnv:

buildFHSUserEnv provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound /nix/store, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement.

Thanks to @bb010g for pointing this out.

Notes

1

The keyboard mapping is a bit strange. On my Spanish keyboard, the keys were as follows:

KeyboardMaps toShift
'-_
´'"
`[
+]
¡=
-/
ñ;

Glaze into the abyss… Oh hi there!