We’ve all been there – The broken upgrade. The disasterous update. The eternal loading screen. And of course, the dreaded “it works on my machine.”
Well, say it no more. This month, our friend Arian van Putten brings word of an alternative, Nix (https://nixos.org/nix/) . This amazing package manager just might change everything you think you know about building software.
With food, drinks and space offered by our awesome new friends at Brightln (http://www.brightin.nl/werken-bij/), this is one meetup you’ll want to build your schedule around!
19:00 – Doors open with food & drinks
19:30 – Welcome
19:35 – Talk: Nix – A developer oriented package manager
20:25 – Raffle & News
20:30 – Social!
Main Talk: Nix – A developer oriented package manager
Ever had your laptop running out of battery during and apt dist-upgrade, and got yourself rebooting in a broken system? Always struggling with making sure everybody runs exactly the same version of Python when performing builds? Ever had a moment where a test broke on your machine, but you can not reproduce it in production or on one of your team member’s laptops? These days are officially gone with Nix! Nix is a project build utility that is:
– Reliable: installing or upgrading one package will never cause breakage somewhere else. All projects are isolated
– Reproducible: All software built with nix must explicitly pin all the dependencies, thus if I give my Nixfile to my collegues, they will be able build my software as well. Every time. Even in a hundred years.
– Great for developers: Nix makes it easy to set up and share build environments for your projects that are reliable. you will still be able to use your favorite build tools under the hood, like pip.
– Portable: Though Nix was developed for the NixOS operating system, it is in no way tied to it. You can run Nix on any Linux distribution and even MacOS.
In this talk, I will explain how exactly Nix works and what makes it special compared to other tools and how you can use it to make sharing projects with colleagues a breeze. I will cover a few cases of where traditional ways of setting up development environments failed for me and how Nix helped me solve these issues. Using our new-gained knowledge I will then show how we can develop, package, and deploy a Domcode Raffler in your favorite programming language using the Nix package manager.
Speaker: Arian van Putten (@ProgrammerDude)
Arian likes programming languages and in particular functional programming. Currently doing his master thesis in programming technonology, trying to improve conflict resolution on version control like git and before that DevOps at Channable. However, nothing about programming technology today, we’re talking devops and package managers instead!