rapenne-s / bento

A KISS deployment tool to keep your NixOS fleet (servers & workstations) up to date.
MIT License
232 stars 10 forks source link

Why built the config locally? #5

Closed gador closed 1 year ago

gador commented 1 year ago

Is there a reason why the config is build locally on the deployment server?

The only reason I can think of is to check for build errors. But if I see it correctly, the nixos-rebuild happens locally on the client, right? So if something would be wrong with the config, the client would return an error code?

My use case is: I have a deployment server for several machines with a mixture of aarch64-linux and x86_64-linux and rebuild for every machine takes quite a while. It would speed up the process immensely if the config doesn't need to be build by the deployment server every time.

rapenne-s commented 1 year ago

The idea was to build everything locally and to use the machine as a substituter for other if desired, and also to ensure the configuration was working.

If you replace build by dry-build in https://github.com/rapenne-s/bento/blob/main/bento#L532 it should just check the configuration is valid, without building anything.

If it's not enough, or not working, use dry-build instead of $2 in https://github.com/rapenne-s/bento/blob/main/bento#L421