top | item 45946889

(no title)

Shebanator | 3 months ago

Wrong. If you know nix then you know "leverages the unique way that Flox environments are rendered without performing a nix evaluation" is a very significant statement.

discuss

order

nixosbestos|3 months ago

> leverages the unique way that Flox environments are rendered without performing a nix evaluation"

I'm curious! and ignorant! help!

Is that via (centrally?) cached eval? or what? there's only so much room for magic in this arena.

jeremy_flox|3 months ago

Yeah, it's essentially cached eval, the key being where/how that eval is stored.

When you create a Flox environment, we evaluate the Nix expressions once and store the concrete result (ie exact store paths) in FloxHub. The k8s node just fetches that pre-rendered manifest and bind-mounts the packages with no evaluation step at pod startup.

It's like the difference between giving the node a recipe to interpret vs. giving it a shopping list of exact items. Faster, safer, and the node doesn't need to know how to cook (evaluate Nix). I don't know, there's a metaphor here somewhere, I'll find it.

Only so much room for magic, for sure, but tons of room for efficiency and optimization.