Nix Update

Sun Feb 22, 2015

I've recently installed nix and moved a few of my packages to it. By which I mean "I ran apt-get remove foo followed by nix-env -i foo a few times". There may be a smarter way, but I didn't bother with it. Installing the package manager is pretty painless.

mkdir -m 0755 /nix && chown inaimathi /nix ## As root. Also, substitute your own username for 'inaimathi'
curl https://nixos.org/nix/install | sh

Preliminary thoughts on nix are good. At this point, I've got firefox, ghc(and a bunch of Haskell libraries), dmenu, ocaml, smlnj, rustc, go, guile and gfortran installed through it. I figure since it's so easy, I may as well. So far, it has not been necessary to use what I see as "the main feature" to roll back my environment, because nothing has broken yet. I have had occasion to install/uninstall/reinstall a particular package. It looks like, barring a garbage collection, you only need to download things the first time. On subsequent re-installs, nix just re-establishes various symlinks around your environment.

The negatives are basically small usability issues that pop up all over the place, some of which I'm putting down to lack of familiarity with the tool.

So, over all, I'm not sure how I feel about it yet. I do very much like having certain pieces of my software toolchain update more often than the Debian repos do by default, but I haven't quite gotten to see the development benefits. My goal for the next little while is doing a thorough reading/following of these two language-specific tutorials. Hopefully, that'll give me deeper insight about where nix helps.


Creative Commons License

all articles at langnostic are licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License

Reprint, rehost and distribute freely (even for profit), but attribute the work and allow your readers the same freedoms. Here's a license widget you can use.

The menu background image is Jewel Wash, taken from Dan Zen's flickr stream and released under a CC-BY license