First an article about what’s NixOS trying to achieve and NixOS if you want to know what is all about.

Today I started getting my hands dirty with Nixpkgs packages, the package collection of NixOS.

I had used NixOS as my primary OS only for three days now, and I found some packages needed an upgrade because I had recent versions in my other OS.

In my case geary needed to be bumped to version 0.10.0, this was a nice first approach to Nixpkgs for me.

To install the package from the Nixpkgs It’s necessary to add the route to the repository clone, in my case.

nix-env -i geary -f ~/code/nixos/nixpkgs/default.nix

This will install geary in my system with the version in that repository, in this case 0.10.0.

I’ve been using the new version (0.6.1) of SpiderOak for a while, I needed It too and I made an upgrade. I have some problems with directories, but following the NixOS manual made the debugging easier.

To install SpiderOak I had to enable the allow unfree variable.

export NIXPKGS_ALLOW_UNFREE=1
nix-env -i spideroak -f ~/code/nixos/nixpkgs/default.nix

Finally I wanted to get the phpcs (PHP Code Standard tool) working for my emacs php-mode, It wasn’t in the package manager, so I read the php packages and some configuration similar to what I wanted to achieve, et volia!.

To try them you could use my Nixpkgs repository.

I only scratched the surface of package management in Nix today, but there will be more as soon as I need more from It. :-)

Reference: Create and debug NixOS packages.