Image for post flakehub-updates
Oct 6, 2023 by Graham Christensen

FlakeHub updates: lightning-fast mirroring and webhook integrations

We’re a little over a month into the life of FlakeHub and it’s been quite the journey so far. Well over 150 flakes have been published by almost 100 GitHub orgs and we’ve been hard at work bringing more and more features to the platform, including a CLI tool called fh and flake schemas. In this post, I’d like to talk about some recent updates as well as some fun stuff on the way.

Faster mirroring #

We’ve gotten tons of wonderful feedback from enthusiastic FlakeHub users on Discord and other venues, including a handful of really compelling feature requests. Some FlakeHub users have requested more timely updates to widely used flakes like Nixpkgs and we’re happy to say that we now update all flakes within 60 seconds of an upstream release.

Mirrored flakes are available on FlakeHub but haven’t yet been published by the original authors. Mirroring enabled us at Determinate Systems to provide widely used flakes to users upon launch. Initially, we published Nixpkgs twice a day, which meant that people relying on it could see up to a 12-hour lag between update and delivery. But user feedback has convinced us that this isn’t nearly frequent enough, so we’ve implemented a long-running process that listens for pushes to Nixpkgs and immediately publishes them to FlakeHub.

While we do want upstream projects to publish directly to FlakeHub, we hope that this will tide over FlakeHub users (and us at DetSys!) in the meantime.

Beta webhooks and integrations #

FlakeHub users can now subscribe to webhooks for any published flake. Users have been asking for pub/sub notifications for updates to projects like Nixpkgs, and FlakeHub is now poised to deliver. Some use cases for this include triggering flake.lock updates or an internal rebase for a fork.

This feature is currently in limited beta, so contact support@flakehub.com if you’d like to be an early tester.

Keep an eye out, we have more on its way!


Share
Avatar for Graham Christensen

Graham is a Nix and Rust developer, with a passion and focus on reliability in the lower levels of the stack. He founded Determinate Systems, Inc to support Nix adoption at your workplace.