{"id":14967910,"url":"https://github.com/uncenter/nixpkgs-track","last_synced_at":"2026-03-02T04:14:00.638Z","repository":{"id":251429690,"uuid":"837389304","full_name":"uncenter/nixpkgs-track","owner":"uncenter","description":"📦 Track where Nixpkgs pull requests have reached.","archived":false,"fork":false,"pushed_at":"2025-01-15T02:57:46.000Z","size":174,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-07T12:52:34.827Z","etag":null,"topics":["cli","nix","nixpkgs","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/nixpkgs-track","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uncenter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"uncenter","liberapay":"uncenter"}},"created_at":"2024-08-02T21:26:39.000Z","updated_at":"2025-01-15T02:57:47.000Z","dependencies_parsed_at":"2024-09-27T09:01:21.619Z","dependency_job_id":"19126de3-dfc3-4373-81a6-ec1348126047","html_url":"https://github.com/uncenter/nixpkgs-track","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"6c5b9f795215274b00ce1b2f4119121cd97a3320"},"previous_names":["uncenter/nixpkgs-track"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uncenter%2Fnixpkgs-track","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uncenter%2Fnixpkgs-track/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uncenter%2Fnixpkgs-track/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uncenter%2Fnixpkgs-track/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uncenter","download_url":"https://codeload.github.com/uncenter/nixpkgs-track/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238212446,"owners_count":19434955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","nix","nixpkgs","rust"],"created_at":"2024-09-24T13:38:51.644Z","updated_at":"2026-03-02T04:14:00.631Z","avatar_url":"https://github.com/uncenter.png","language":"Rust","funding_links":["https://ko-fi.com/uncenter","https://liberapay.com/uncenter"],"categories":["Command-Line Tools"],"sub_categories":[],"readme":"# nixpkgs-track\n\nTrack where Nixpkgs pull requests have reached (is that update in `nixpkgs-unstable` yet??).\n\n```console\n$ nixpkgs-track 370713\n[370713] helix: 24.07 -\u003e 25.01\nMerged 3 days 23 hours 9 minutes and 3 seconds ago (2025-01-03T21:58:20+00:00), 1 hour 18 minutes and 54 seconds after creation.\nmaster: ✅\nstaging: ✅\nstaging-next: ✅\nnixpkgs-unstable: ✅\nnixos-unstable-small: ✅\nnixos-unstable: ✅\n```\n\n## Installation\n\n### Nix\n\n`nixpkgs-track` is available from Nixpkgs.\n\n```\nnix run nixpkgs#nixpkgs-track\n```\n\n### Cargo\n\n```sh\ncargo install nixpkgs-track\n```\n\n## Usage\n\nThe simplest way to track a pull request is like so:\n\n```\nnixpkgs-track \u003cPULL_REQUEST\u003e\n```\n\nWhere `PULL_REQUEST` is either the numerical ID or the GitHub URL of the pull request to track. For example, both `370713` and `https://github.com/NixOS/nixpkgs/pull/370713` are valid references to [github.com/NixOS/nixpkgs/pull/370713](https://togithub.com/NixOS/nixpkgs/pull/370713).\n\n\u003e [!TIP]\n\u003e Depending on usage (tracking multiple/many pull requests within a span of a few minutes), you may need to provide a GitHub API token to avoid rate-limiting on unauthenticated requests. nixpkgs-track automatically detects the `gh` command-line tool and attempts to retrieve a GitHub token using `gh auth token` when available. Otherwise, a token can be provided via the `GITHUB_TOKEN` environment variable or the `--token` option.\n\nnixpkgs-track also supports saving a list of pull requests to check in the future.\n\n### `add \u003cPULL_REQUESTS...\u003e`\n\nAdd specified pull request(s) to the list.\n\n### `remove [\u003cPULL_REQUESTS...\u003e | --all | --interactive]`\n\nRemove specified pull request(s) from the list. Remove all pull requests from the list with `--all`. Interactively remove pull requests from the list with `--interactive`.\n\n### `list`\n\nList tracked pull requests and their metadata.\n\n### `check`\n\nCheck each tracked pull request. Equivalent to running `nixpkgs-track \u003cPULL_REQUEST\u003e` for each pull request in the list.\n\n## Library\n\nThis crate also exports a simple library interface for other programs. This is available as [`nixpkgs-track_lib`](https://crates.io/crates/nixpkgs-track_lib) on crates.io.\n\nThe two primary functions are [`nixpkgs_track_lib::fetch_nixpkgs_pull_request`](https://docs.rs/nixpkgs-track_lib/0.2.0/nixpkgs_track_lib/fn.fetch_nixpkgs_pull_request.html) for fetching pull request data from the GitHub API, and [`nixpkgs_track_lib::branch_contains_commit`](https://docs.rs/nixpkgs-track_lib/0.2.0/nixpkgs_track_lib/fn.branch_contains_commit.html) for checking if a commit SHA (such as from a merged pull request: [`PullRequest.merge_commit_sha`](https://docs.rs/nixpkgs-track_lib/0.2.0/nixpkgs_track_lib/struct.PullRequest.html#structfield.merge_commit_sha)) is present in a specified branch on GitHub.\n\nThe implementation used for the command line interface can be found at [`crates/nixpkgs-track/src/main.rs`](crates/nixpkgs-track/src/main.rs), under the `check` function. See also [`src/commands/misc/nixpkgs.rs`](https://github.com/isabelroses/blahaj/blob/main/src/commands/misc/nixpkgs.rs) of [@isabelroses](https://github.com/isabelroses)'s [Blåhaj bot for Discord](https://github.com/isabelroses/blahaj).\n\n## License \u0026 Credit\n\nnixpkgs-track was originally created as a local and reliable CLI alternative to [Alyssa Ross](https://alyssa.is/)'s [Nixpkgs Pull Request Tracker\n](https://nixpk.gs/pr-tracker.html) website and based on [getchoo/nixpkgs-tracker-bot](https://github.com/getchoo/nixpkgs-tracker-bot). Currently though, nixpkgs-track is primarily derived from the recent [ocfox/nixpkgs-tracker](https://github.com/ocfox/nixpkgs-tracker) project.\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funcenter%2Fnixpkgs-track","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funcenter%2Fnixpkgs-track","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funcenter%2Fnixpkgs-track/lists"}