• imikoy [she/her, comrade/them]
    ·
    edit-2
    3 months ago

    Nix will gladly download anything it needs from binary caches, if available. It is also configured to know about official binary cache by default. You can add more binary caches.

    If something is not available locally or in the caches, Nix will fall back to building the package. This usually happens if you are overriding something for a package, say you include an extra compilation flag (emacs >:( ), because then the derivation's hash is different, and the binary cache knows no such thing. Or if what you are building is so old that it was removed from the caches to make space for the fresh stuff.

    So, yes, pre-built backages are provided and are the default. However, the fallback exists too.