How do I contribute bandwidth or computational power to the community?

I have a couple of servers at home mostly idling. Is there a way to share a fraction of their resources in a way that benefits the NixOS organization or users?

Obvious answers that do not seem viable to me:

  • Running a binary cache - requires people to explicitly configure and trust it
  • Seeding BitTorrent - NixOS does not provide torrents for images.

Is there anything that I’m missing, besides running Folding@home? :wink:

3 Likes

This is not absolutely true with flakes, which can set substituters and trusted keys, and assuming a trusted user evals it, can pick them up at the users behest.

You might be able to use some of your build power to help review PRs that are blocked on someone who has the resources to build some heavy change. I’ve offered caching in my own s3 store for certain heavy PRs so experts could more easily review them. It would be great if we had a more automated process to do that though, something like automated shared building.

Perhaps something like trustix (src) will enable that sooner rather than later :crossed_fingers:

1 Like

And is annoying for every not trusted users that uses the flake! Please stop proposing nixConfig until it is fixed!

2 Likes

Absolutely! This is really not practical, but it gives the information about the cache in one place at least :sweat_smile:

Should we consider it broken though? Wouldn’t being able to approve a new trusted-key when you are not a trusted user be considered broken?

1 Like

The situation you describe is broken as well, indeed.

What I consider broken is this:

Nix: Hey user, do you want to use this substitutor?
User: yes
Nix: Hey user, do you trust this key?
User: yes
Nix: Hey, I don’t trust you! I will ignore anything you just said.

If I were telling it to not use those, nix would accept that, but not remember my choice and bother me again the next time.

nixConfig is broken until someone implements a fix that involves the following:

  1. Allow users to disable certain overrides via config, not just a preselection as it is today
  2. Make users able to persist their choice somewhere
  3. Do not ask a user about settings they are not allowed to change anyway

Relevant ticket: I'm an untrusted user and nix asks me to set `extra-trusted-public-keys` from a flakes `nixConfig` and then ignores me · Issue #6752 · NixOS/nix · GitHub

3 Likes

@NobbZ I can’t follow your example.

Now I can. But the way you describe the case might be misleading.

On my installation, it is persisted.

What is really broken, though, is that the opt-in is just stored globally (with no actual reference to the current flake).

So that seems a bit strange to me, at the very least from an UX point of view.

This was changed then probably. Or it is persisted in ~/.cache/nix which I wipe regularly.

Hi @justinas, thanks so much for offering the compute you have available!

I maintain nixpkgs-upkeep, a CI system which keeps packages like TensorFlow, PyTorch, JAX, and many others building smoothly. I’m constantly running into issues with GitHub’s 6 hour time limit on CI jobs. Running a “self-hosted runner” could be game changing for the project and for the @NixOS/cuda-maintainers team as well!

You can shoot me a DM if this is something you think your compute could help out with!

3 Likes
Hosted by Flying Circus.