nixpkgs-contributor-dashboard/README.md -rw-r--r-- 1.9 KiB
91d73d31 — Arnout Engelen Link to basinix 7 months ago

#Nix contributor dashboard

The goal of this project is to collect and present information that is relevant for Nix (and NixOS/nixpkgs) contributors.

Specifically, I hope it will make it easier for 'casual' contributors to keep track of packages that interest them and help out in maintenance tasks when they have some time to spare.

I'm not actively working on this project right now. If this is interesting to you https://github.com/jonringer/basinix might also be worth checking out.

#General approach

This project will consist of a couple of processes that fetch information from different sources (github issues, github PR's, build failures) and stick it into a database - focusing on currently-actionable items (so we can drop closed issues/prs etc)

This database can then be queried and given a frontend.

This database is intended to contain only 'derived' information, so it can always be thrown away and repopulated.


Create a '.env' with 2 environment variables:

  • GITHUB_TOKEN (to get better GitHub API limits)
  • DATABASE_URL=nixpkgs_dashboard_data.sql

Add PR's to the db:

cargo run --bin fetch_pulls

Add build failures to the db:

cargo run --bin fetch_failures

Show items:

cargo run --bin show

Clean up closed PR's:

cargo run --bin clean_pulls

Clean up fixed failures:

# not implemented yet

Clear the database:

diesel migration redo


You can create a config.toml to list which packages you are interested in:

interests = [

#Random notes


Let's use a sqlite db for now.

#Fetching from github

https://github.com/github-rs/github-rs can perform github API requests, but currently you'd need to do your own pagination (https://github.com/github-rs/github-rs/issues/18) Perhaps https://github.com/github-rs/github-rs/tree/master/github-gql-rs would be more convenient.