ref: bd4d138597768987abb3dda5987537c8bed8806a nixpkgs-contributor-dashboard/README.md -rw-r--r-- 1.7 KiB
bd4d1385 — Arnout Engelen Include html link 1 year, 1 month 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.

#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 and 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.