NixCon 2024

Artur Stachecki

Artur, with a background in computer science and engineering, focuses on correctness, reliability, and reusability in software systems. Leading large-scale migrations, he excels in creating advanced build systems and ensuring hermetic, reproducible builds. A proponent of software reusability, Artur has engineered innovative solutions using variability modeling and mass customization to enhance software performance and reliability.


Sessions

10-26
11:20
25min
Nix and Bazel - match made in heaven or hell?
Aleksander Gondek, Artur Stachecki

The premise of combining Nix and Bazel is really appealing and powerful - one gets the full reproducibility stemming from Nix (alongside all definitions from its rich ecosystem) and the fast incremental builds that are the hallmark of Bazel. Truly a bliss. Practicalities however beg to differ - the road towards such a combination is full of unexpected surprises, ill-implemented features and design decisions that break everything.

This talk is a journey of discovery of things that go wonderfully wrong if Nix and Bazel are being used together. The third ingredient to the Nix and Bazel cocktail are footguns. A lot of them.

We want to share them, so others do not have to get burned on them.

Arena
10-26
15:20
25min
FUSEd with nix: deploying nix apps to k8s in images weighting as little as 500 KBs
Aleksander Gondek, Artur Stachecki

Deploying nix-built applications to a Kubernetes cluster can be an exercise in frustration - even though nix has built-in support for creation of container images, the outcome is usually a quite sizable tar archive. Propagation, caching and updating of such images takes time, bandwidth and storage space. One is essentially packaging little slices of a nix store, every time an application needs to be delivered. There has to be a better way!

We want to present a FUSE-based way of attaching a shared /nix/store to container images and thus allowing them to only contain metainformation required to run the application. Even complex k8s deployments are reduced to very thin updates of data!

Arena