| 2 Apr 2025 |
Grimmauld (any/all) | * (i also honstly didn't expect to be able to overload the darwin machine just feeding single build jobs by hand...) | 20:57:02 |
Grimmauld (any/all) | * (i also honstly didn't expect to be able to overload the aarch64-linux machine just feeding single build jobs by hand...) | 20:57:10 |
emily | the default is jobs = cores = nproc | 20:57:20 |
emily | so as soon as two builds with >80 parallelizable C compiles happen it blows up | 20:57:40 |
emily | (and it'll try to do 80 builds if it can, so very easy to go over) | 20:57:51 |
Gaétan Lepage | The current SotA for this kind of use is ver sub-optimal | 20:57:59 |
emily | https://github.com/NixOS/nix/pull/11143 would make this a lot less painful | 20:58:05 |
emily | since it would stop more build jobs spawning with some common build systems when the load is already too high | 20:58:23 |
emily | but there's been like 3 PRs adding this to Nix and crickets so far | 20:58:32 |
emily | (it used to be in stdenv but it got removed because it slowed throughput for Hydra) | 20:58:40 |
Grimmauld (any/all) | wouldncouldn't we just put that in lix and have the community builders run lix if nix team doesn't hurry up? | 21:01:05 |
emily | that's not a battle I'm interested in having :P but I have considered posting the patch on the Lix side to get some design feedback | 21:01:53 |
emily | FWIW, it is not a panacea. e.g., Rust builds don't support it, so those will still chew up endless amounts of CPU. it would help for Make and Ninja and there's probably other build systems that could make use of it too. | 21:02:29 |
emily | but it would make large builds on workstations or shared machines meaningfully less painful | 21:02:46 |
Ihar Hrachyshka | nix-daemon could also perhaps be smarter (e.g. throttle new jobs spawns when load is too high) | 21:03:24 |
emily | yeah, that would be nice | 21:03:42 |
emily | but not keen to put more effort into that PR than I already have :) | 21:04:01 |
emily | load limits are a bad solution in general, we actually want a proper jobserver protocol | 21:04:10 |
Gaétan Lepage | A recent episode of the Full Time Nix podcast was about remote building. The guest started a company and his product seems to have a lot of very appealing features in this regard.
Unfortunately, it is closed source. | 21:04:10 |
emily | which IIRC Rust implements the new Make version of or at least considered implementing | 21:04:21 |
emily | but that's a bunch of work and this is one flag | 21:04:32 |
Gaétan Lepage | Speaking about the builders, I created this room: https://matrix.to/#/#nix-community-builders:matrix.org
Indeed, I don't think that the Nix-community room should be use for mere user-coordination. It spams a lot and most people probably don't care. | 21:15:39 |
Austin Horstman | i have tried so many different ways of limiting nix-daemon and builds and its just too painful and not effective... | 22:50:16 |
Austin Horstman | I also would like to take advantage of all my remote builders in a different way than it works.. I want my local machine highest priority and only fallback to remote builders when needed based on usage / number of jobs etc | 22:51:04 |
Austin Horstman | Right now I basically have to blacklist my build machines of the same platform/architecture so that I dont need to spin up a ssh connection for trivial stuff constantly | 22:51:57 |
Grimmauld (any/all) | i'd also love my remote builders to optionally continue building while my main machine is disconnected from wifi. It is frustrating having a hours long build be cancled just because wifi cuts out | 22:52:38 |
Austin Horstman | i tried getting clever and adding my host as a remote builder for itself since you can ssh into yourself, but the build would just hang indefinitely lol | 22:57:04 |
Austin Horstman | * i tried getting clever and adding my host as a high priority remote builder for itself since you can ssh into yourself, but the build would just hang indefinitely lol | 22:57:14 |
Austin Horstman | that would be nice... | 23:03:38 |
Ihar Hrachyshka | btw is there a config example on how to set community builders with nix-daemon nix module to use ssh key from a user .ssh/ directory? I tried but looked like nix-daemon fails to ssh because of the key not read properly. | 23:05:17 |