NixOS & Github - Collaboration!

Starting with the announcement made by Github about nixpkgs being #7 - Another Moment of Awesome - nixpkgs top 10 - NixOS Discourse
We kicked off an effort to create a relationship between Github and NixOS. Big thanks to Martin Woodward (VP of Devrel @ Github) and Abigail Cabunoc Mayes (OS Maintainer Program & OS Foundations @ Github) who quickly responded!
TL;DR - There is now a structured channel of collaboration and comms between Github and NixOS. Github will help us as we grow across a few areas. We will have a quarterly sync where we will explore opportunities and share feedback from the NixOS community.
If anyone has thoughts, ideas, missing features or general feedback that we can bring forward in our talks with the Github team, please add them here → Github Request List - Feedback/Issues/Features · Issue #25 · NixOS/nixos-foundation

Kickoff Call Notes - November 21 2022

Attendees
Github - Martin Woodward, Abigail Cabunoc Mayes
NixOS - Théophane Hufschmitt (@thufschmitt), Ron Efroni Rotman (@ron), Eelco Dolstra (@edolstra), Armijn Hemel (@armijn)

Quick Intro to Nix with Github - Tell us about NixOS - what are your priorities? What challenges do you face today?

Why is it growing?

  • It’s easy to contribute relative to other packages repositories.
  • Comparison of all package repositories and Nix Graphs - Repology
  • Similar to Homebrew on the mac side.
  • Nix is celebrating 20 years (in 2.5 months)!!
  • Nix started slightly before containers. Then containers came in, code is more complex, this brings people back to help people “do it right from the get go”. People recognize the value.
  • Martin: perhaps people are more aware of the size of the containers they’re deploying.
  • Nix gives you a reproducible graph of build steps, if you want to change something you can

How can GitHub best support your work?

  • Common best practices & opportunities - Explored ideas from the Github side
  • Being able to structure a relationship
    • How do we stay in touch?
      • 8am PT usually works - schedule something for Jan
  • Rate limits / throttling / merge queue / access to early features and functionalities
  • Open source Friday
  • Changelog - introductions
  • Would be inviting you to submit to conferences (like Universe, Maintainer Summit)
  • How do we help other maintainers learn from the successes you’ve had? (Maintainer Summit)

Recent / Upcoming releases that may be of interest

Anything else?

  • Sponsors
    • Currently on OC - sponsor students in “summer of Nix”. ~40 students.
  • Nix - new feature, download Nix packages directly from GitHub
    • Invite Mike Mcquaid to the next call

Quick thanks to @andir as well for sharing ideas and topics.

31 Likes

Awesome!

I don’t know if it’s the right place to report, but https://github.com/NixOS/nixpkgs/pulse/monthly is broken on nixpkgs, certainly because there is too much activity :sweat_smile:

4 Likes

It’s fine here!
I’ll also look to create a spot in our github :sweat_smile: to log these things as we collect and communicate with the team there as well.

I see the rainbow unicorn there…

“Page is taking to long to load” or something…

image

3 Likes

I also get the unicorn, it certainly either timeout or use too much resources :sweat_smile:

2 Likes

An interesting avenue with great benefit to both Nix and GitHub is to add some built-in Nix support to the GitHub Action runners. Eg. if GitHub Action runners had access to some per-datacenter Nix store cache, it could speed up CI considerably for Nix users and use way less network resources for GitHub. This idea can be extended to also providing e.g. a builtin per-user writable Nix store cache.

27 Likes

My current pet peeve with GitHub is the CODEOWNERS feature. They already added some linting which is good, but for it to be truly usable in nixpkgs they’d need to drop the requirement that only people/teams with write access can become code owner.

6 Likes

Something else I’d love to see is kvm support in GitHub Actions, reported by @grahamc some time ago: Revisiting KVM support for Hosted GitHub Actions · community · Discussion #8305 · GitHub. If this was supported it would enable Nix projects to easily run NixOS tests within GitHub Actions.

11 Likes

For a large PR discussion it is non-trivial just to get all the comments on the single page, resolved, unresolved, code comments, discussion comments, without cutting in the middle — say, to search a statement you vaguely remember. Is improving the situation around this a complete non-starter?

10 Likes

Once we finally get Nix support into OCI, it would be great if GHCR could support that as one of the first registries.

1 Like

Added a thread to our NixOS github, please add all items there so we can track/discuss → Github Request List - Feedback/Issues/Features · Issue #25 · NixOS/nixos-foundation
@blaggacao @7c6f434c @Infinisil @piegames @Solene @NobbZ

2 Likes

Would a “feature” (maybe a bug) that makes reviews super annoying at times be acceptable to add to the issue?

1 Like

Added in the issue @ron linked, but I think nixpkgs could benefit from and help refine features focused on improving issue/PR triage workflow.

1 Like

Many advanced github integration tools fail for nixpkgs, and only for nixpkgs with HTTP 502 Bad Gateway and an opaque error message:

import error: Something went wrong while executing your query. Please include `A8DE:54BE:87BAE:9F6E7:62140406` when reporting this issue.

This only happens for nixpkgs, and I have seen it with multiple different tools. Off the top of my head:

There are a few others I can’t seem to find anymore.

The combination of the error message not being helpful and the fact that these problems only occur for >200,000-PR repos like nixpkgs tends to mean they end up being left unresolved :frowning:

3 Likes

Meeting with Github on Tuesday :slight_smile:
Plan to share all of the replies here and the thread we created here → Github Request List - Feedback/Issues/Features · Issue #25 · NixOS/nixos-foundation

Feel free to add anything else by then. This isn’t the last opportunity as this will be a recurring quarterly event.

9 Likes