NixOS Meetup Report

Historical Note: Written in July 2016 about a multi-day NixOS hackathon in Berlin. This was part of building the thriving NixOS community that later led to regular NixCons.
All together we were 17 people, which was the biggest number so far for any of NixOS Berlin gatherings. I'm not sure what was the reason, but my speculations are that an evening of gathering is nice from time to time (presentations, demos, ...), but a lot more Nixers want to hack together and an evening is just to short. A day or two of hacking feels like you can actually get something done. We will definitely repeat it.
Also at this point I would like to thank Mozilla for letting us use their office and to keep us hydrated for all those hard working days.
Beginner workshop
We started the meetup with a Nix/NixOS walk through for anybody that is just starting with Nix/NixOS. We got 5 newcomers to Nix/NixOS.
We also had some interesting talks afterwards how we can improve this initial Nix on-boarding. There is just soo much we can improve. I know I personally learned a lot how to improve explaining Nix to a newcomer and I can't wait until next time I have a chance to do it.
For those who of you who did not have time to join us for this Nix/NixOS introduction workshop, you can rest assured we will repeat it very soon.
Presentations / Demos
Each day we reserved ~1 hour to relax from coding and listen to people that want to present/demonstrate something they built with Nix or some interesting tooling around Nix. We did not have any camera around to record it, and also presentations were more discussions then really presentations.
- Tobias Pflug from HolidayCheck showed their CI stack build around Nix, Jenkins and NodeJS. Quite impressive showcase how one can gradually improve CI with Nix.
- Emery Hemingway show his work on bringing Nix closer to Genode project.
- Maksim Bronsky from Flying Circus Internet Operations showed us current state of vulnix and what is the aim of the project.
- Rok Garbas (me) explained fixed-point combinator function, how it is used in Nix and where could somebody want to use it.
Reports
Many people worked on many different projects, here are individual short reports. I hope all of this give you inspiration for you work and hopefully you will join us next time.
Emery,
To summarize, I added color output to nix-repl, and worked on a new Nixpkgs stdenv for Genode. https://github.com/ehmry
Christian Kauhaus,
Known as @ckauhaus on IRC & Twitter.
Blogging on https://blog.flyingcircus.io from time to time.
Topics:
- Got first hands-on experience with nixops, installing lots of random stuff into an ever-changing set of virtual machines on my laptop. Struggled with a corrupted nix store on my host system. Unfortunatly, nix does not give clear error messages in this case so I lost a lot of time here.
- Hacked heavily on vulnix. An initial release should be ready soon.
lassulus
- I learned how FHSUserEnv are working. Used them to install some closed source apps on my workstation. - I updated my build buildbot configuration to use the correct version of nixpkgs for my tests
- I extended some services in my nixos configuration.
Code can be found in my nixos-configuration repository:
http://cgit.lassul.us/stockholm/
Maksim Bronsky
@dvhfm
- I introduced vulnix to the community. Had some great reactions and discussions of where the development should be headed
- I coded on one of the caching mechanisms of vulnix (xml parsing) to improve the overall runtime.
Matthias Heinzel Matthias Heinzel
Great meetup, I really enjoyed it. Looking forward to the next one. :)
I mainly set up my NixOS system, got my wifi working (yay!) and learnt a bit about the Nix language. Thanks for all your help!
I also plan to help sjordan with the graphical user interface for Nix.
mheinzel on github and IRC.
sjordan
Enjoyed the meetup. Helped people to get started on nixos/nix.
I had great discussions about different aspects of nix, especially nix as a package manager which really helped me develop concepts for a GUI for nix.
nixgui: http://hub.darcs.net/seppeljordan/nixgui
Maarten Hoogendoorn
twtiter: @moretea_nl github: moretea
- Helped to install NixOS on a macbook
- Worked with Fabian on experimenting with adding documentation comments to nix, to allow attr set arguments to be documented in his list-package-options branch. Some initial code: https://github.com/moretea/nix/commit/9be41e4110983604367ee796a03aab4114a7bdbf (see tests/lang/eval-okay-functionargs-docs.exp and tests/lang/eval-okay-functionargs-docs.nix in the repo for what this actually does).
- Hacked a way to document library functions in a structured way, this could be extended (see last commit) to support runtime type checking of functions in nix itself. See https://www.youtube.com/watch?v=ahVu3tjrriM
Mathias Schreck
github: @lo1tuma twiltter: @lo1tuma
The meetup was a really great event, as a nix newbie a learned a lot.
- Learned about the difference between import and callPackage
- I learned a lot about nixops and finally managed to deploy our custom jenkins package (which is based on this expression https://github.com/zalora/microgram/blob/59dfe04d2ac67945f6d2dee5f7233b0cdba9318d/pkgs/jenkins/default.nix) to virtualbox and EC2. Now we have all our jenkins config 100% as code which is much better than configuring stuff via the jenkins web UI.
- I learned about buildFHSUserEnv. One of our jenkins plugins uses a hardcoded path to /bin/echo which I could make available through buildFHSUserEnv. I also created an upstream issue and I try provide a patch for jenkins soon.
Rok Garbas
github/twitter/irc: garbas
closed few wiki tickets. discovered how much I suck at writting documentation. too many interuptions to get something concretly done. but a small progress was done. anyone that want to help port remaining wiki tickets to respected manuals please select your pick:
https://github.com/NixOS/nixpkgs/milestones/Move%20the%20wiki!
got familiar with vulnix. can't wait to use it for my own work. packaged the project with help of pypi2nix. helped port code from argparse to click
fix a lot of bugs for pypi2nix. currently i'm looking for python developers to help me test if it is working for them. separate blog post on this topic is will be written.
Final thoughts
It was fun and we also got work done. Hooray for us! I can not wait for next time we meet again. Let me know if you have any ideas for next nixos meetup (ping me on Twitter).