Open PhilTaken opened 2 months ago
mentioning #46 for visibility
the current version works as expected, the only issue is the log flickering with multiple invocations of nix writing to stdout in parallel. I was considering utilising the raw-internal-json output similarly to how nix-output-monitor does it but that might be out of scope here 🤔
activation is fully synchronous but that is usually the part that takes the least amount of time
The new approach seems good 👍
NB: I have opened this Pull Request as a draft since I intend to continue working on it by improving the logging output. Since the builds are started concurrently, the build progress information is pretty much useless and flickers a lot.
Problem
The current implementation builds every single profile synchronously, including remote builds. Since remote builds were introduced back in #175, remote builds could be pipelined to deploy new configurations in a more time-efficient manner.
Solution
Build configurations that support remote builds concurrently.
Sidenote: I have decided to continue building local builds in a synchronous manner because I have run into hardware deadlocks previously when trying to evaluate and/or build multiple systems at the same time.
I have tested this code by deploying to my personal infrastructure (https://github.com/philtaken/dotfiles) and it works as intended.