Building every operating system starts from something. I’m not as hardcore as the stage0 project folks going from assembly to Guix, but a shorter path from a ~320 KB TinyCC binary to Nix to a proof-of-concept Linux distribution also proved to be a story worth telling.
We’ll begin our journey by executing a -nostdlib C program with TinyCC, compile our way out towards a libc and a shell, work through older compilers to modern compilers and build Nix. Then we’ll walk the same path again once over, but this time, we’ll use Nix. Finally, in a different flake, we’ll reimplement some of the founding nixpkgs patterns, work our way from toolchain to Linux and arrive at a bootable .iso. Corners will be cut, hacks will run amock, Nix will be both praised and complained about, reproducibility will be earned hard, and some patches will get upstreamed.
2023-09-09, recording, alternative video with just the slides, slides, peertube, youtube, talk page conference website
We have a nice thing called ‘Day of Learning’ here in Red Hat where we learn new stuff on our own and/or present neat things to our colleagues. I’ve taken NixOS as one of the two topics to popularize among the fellow builders of what might be a solid contender for the un-NixOS-iest distro.
These are cozy internal events that are not shared outside at all, yet I tried to make that one as shareable as possible.
Unfortunately there was bound to be some indiscriminate, yet heavy distro-building-practices bashing to happen, so I’ve made a hard decision to record neither the second part of the presentation nor the ensuing drawn-out debates, so that we could speak our minds freely. I’ll just say I’m happy that I’ve ignited their mixed interest and that the alien new NixOS ways have been treated with the about the same respect as our established practices.
2021-12-17, recording, discourse thread
Full title: Running Nix on Android: when the low-hanging fruit is also the ripest one.
There are billions of Android devices out there, and millions of them have found their home in pockets of Linux enthusiasts. And it turns out that for those who want to use familiar software on the go, we already have nixpkgs, compiled and ready to use.
I will briefly touch on the way the other distributions approach this, outline the technical “challenges” of running Nix on Android (spoiler: there aren’t many) and present my ongoing efforts on the subject.
2019-10-26, recording, slides, youtube
Some of us love Python so much that they make it their login shell.
One must be quite a hardcore fan to sacrifice the ergonomics of the UNIX
shell, though.
Fortunately, no hard choices are needed with xonsh, which, depending on
how you look at it, is either Python that accepts shell syntax or a
shell that allows you to lapse into Python at any given time.
But beware: the barrier to entry is so low and the convenience is so
addictive, that you’ll find yourself hooked on scripting everything in
xonsh in no time.
2019-05-30, recording, slides, youtube, meeting page