RFD: remove build-hook setting #911

Open
opened 2025-07-10 18:14:41 +00:00 by pennae · 0 comments
Owner

build-hook and its associated nix __build-remote are extremely cursed. each remote build uses its own build-hook process, which holds on to a single local store connection and another single remote store connection (which itself usually holds on to a single ssh process). scheduling of remote builders is complicated immensely by this because it all happens through file locks, the additional localstore connection causes overhead, and the behavior differences of ssh and ssh-ng remotes are a major headache.

we should probably just remove build-hook altogether. an rpc-based system will not have any use for build hooks as they exist today, and what little can be gained from build hooks can also be got from plugins that add custom store url schemes. we haven't been able to find any use of build-hook out there either.

this is not about removing pre-build-hook or post-build-hook, just build-hook. we've already deprecated build-hook a while ago.

`build-hook` and its associated `nix __build-remote` are extremely cursed. each remote build uses its own build-hook process, which holds on to a single local store connection and another single remote store connection (which itself usually holds on to a single ssh process). scheduling of remote builders is complicated immensely by this because it all happens through file locks, the additional localstore connection causes overhead, and the behavior differences of ssh and ssh-ng remotes are a major headache. we should probably just remove `build-hook` altogether. an rpc-based system will not have any use for build hooks as they exist today, and what little can be gained from build hooks can also be got from plugins that add custom store url schemes. we haven't been able to find *any* use of `build-hook` out there either. this is *not* about removing `pre-build-hook` or `post-build-hook`, just `build-hook`. we've already deprecated `build-hook` a while ago.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lix-project/lix#911
No description provided.