Meta-repository — the Nix User Repository (qompassai fork of nix-community/NUR): an index (`repos.json`) of community package repositories

NUR
OVERVIEW
NUR is a community-driven meta repository for Nix packages: it provides access to user repositories containing Nix expressions and lets you install packages via attributes such as `nur.repos.<name>.<package>`, with packages built from source and not reviewed by Nixpkgs members. This repo is Qompass AI's fork of `nix-community/NUR`; its `repos.json` indexes 581 repositories, including Qompass AI's own entry `qompassai` → `https://github.com/qompassai/nur-packages`.
HOW IT WORKS
- 1Add NUR as a flake input (`nur.url = "github:nix-community/NUR"`, following your nixpkgs), or import it via `packageOverrides` with `builtins.fetchTarball` in `~/.config/nixpkgs/config.nix` / NixOS `configuration.nix`.
- 2Use the flake's `overlays.default` or `legacyPackages`, or the NixOS/Home Manager modules (`nur.modules.nixos.default`, `nur.modules.homeManager.default`).
- 3Install or reference packages from the namespace, e.g. `nix-shell -p nur.repos.mic92.hello-nur` or `environment.systemPackages = [ nur.repos.mic92.hello-nur ]`.
- 4Find packages via the NUR package search at nur.nix-community.org or the nur-combined repository.
- 5To contribute a repository: create a repo with a top-level `default.nix` returning a set of derivations, add it to `repos.json`, run `./bin/nur format-manifest`, commit only `repos.json` (not `repos.json.lock`), and open a pull request.
CONCEPTS
CONFIGURATION
| Option | Default | What it does |
|---|---|---|
repos.<name>.url | required (no default) | Git repository URL for the member package repository; each URL must point to a git repository |
repos.<name>.file | `default.nix` at repo root (evaluator uses `attr.file or ""`) | Use a different file as the root expression, relative to the repository root |
repos.<name>.github-contact | — | Maintainer contact recorded for the entry (present on most entries) |
repos.<name>.branch | — | Branch to track, when set (Qompass entry sets `main`) |
repos.<name>.submodules | — | Whether the member repo is fetched with submodules (Qompass entry sets true) |
repos.qompassai entry | url `https://github.com/qompassai/nur-packages`, branch `main`, submodules true, github-contact `phaedrusflow` | Qompass AI's own registered repository in this index |
default.nix argument `repoOverrides` | { } | Override or add repositories locally, merged over the manifest (`repos // repoOverrides`) |
default.nix arguments `nurpkgs` / `pkgs` | import <nixpkgs> { } | Package sets NUR itself / member repos are called with |
repos.json.lock | generated | Locked revisions per repository, updated by `bin/nur update` and a daily GitHub Action; contributors must not commit it with a new entry |
CONTROLS
| Action | Control |
|---|---|
| Install a package in a shell | nix-shell -p nur.repos.mic92.hello-nur |
| Install a package with nix-env | nix-env -f '<nixpkgs>' -iA nur.repos.mic92.hello-nur |
| Add a package on NixOS | `environment.systemPackages = with pkgs; [ nur.repos.mic92.hello-nur ];` (with the overlay/packageOverrides in place) |
| Build a member repo's package locally | nix-build --arg pkgs 'import <nixpkgs> {}' -A hello-nur` / `nix-shell --arg pkgs 'import <nixpkgs> {}' -A hello-nur |
| Sort/format the manifest before committing | ./bin/nur format-manifest |
| Update and test the lock file | `bin/nur update` (updates `repos.json.lock` and runs the evaluation check) |
| Trigger a faster lock update after pushing your repo | curl -XPOST https://nur-update.nix-community.org/update?repo=<name> |
| Local evaluation check for a member repo | nix-env -f . -qa \* --meta --allowed-uris https://static.rust-lang.org --option restrict-eval true --option allow-import-from-derivation true --drv-path --show-trace -I nixpkgs=$(nix-instantiate --find-file nixpkgs) -I ./ --json |
NOT COVERED
- This is a fork: the README, `default.nix`, `flake.nix`, and `bin/nur` are the upstream nix-community/NUR code (maintainer of record in the README is Pandapip1); no Qompass-specific code changes were identified — Qompass's participation is its `repos.json` entry pointing at the separate `qompassai/nur-packages` repo, whose contents are outside this pack's scope. - The README's examples use the upstream `github:nix-community/NUR` URL, not the qompassai fork URL; which remote a user should consume is not stated in the fork. - `ci/` and `lib/` internals (evaluation, repo fetching) were not read beyond `default.nix`/`flake.nix`.
REFERENCES
- NUR — the Nix User Repository (upstream)The upstream project this repository forks: its README defines the repos.json manifest, the attribute namespace, and the contribution flow.
- Nix Reference ManualThe Nix language and evaluator semantics the index relies on — attribute sets, overrides, and derivation builds from source.