Aal Izz Well
Posts
@Mehrad@fosstodon.org @futurile@mastodon.social There is not much you can do with that regard. You should definitely pin the commits of your channels, that way you won't be rebuilding things every time a channel updates. Once the things are cached everything should load immediately.
If you are using Emacs I recommend you check out this fork I made of envrc.el it allows you to load per-buffer environments asynchronously. My use case is precisely not blocking the editor with guix time-machine ....
@Mehrad@fosstodon.org To be clear, setting the cores flag -c is for limiting the resources, not for granting more, each derivation is built with the cores set to all the available ones.
It's for situations where you may want to spread the load between a few derivations. For example, if you are building gcc@12 and gcc@13, you may want to do guix build -c 25 -M 2 ..., given you have enough cores available.
I'm assuming that GCC caps the builds at 24 cores (I don't recall if that's true).
@cwebber@social.coop @wingo@mastodon.social For those outside of the loop. This is how Guile backtraces look when using BLUE's enhancements.
All the credit should goes to my friend and wizard Olivier who implemented this backtraces enhancements!
@cwebber@social.coop As you can imagine upstreaming the BLUE package is cake, as the only dependency is Guile. I can arrange that if there are already interested users.
What I think you will find even more impressive, is that you don't need any of that time-machine to see how easy it is to bootstrap BLUE.
Try the following in the BLUE sources, you only need Guile:
mkdir build && cd build && ../bootstrap && ./pre-inst-env blue configure --prefix=/tmp/blue-install -- build -- install -- installcheck