NUR submission packet¶
Prepared 2026-09-08 for nix-forge/nixpkgs-personal. Registration has not been
submitted. The direct flake remains the primary interface.
Verified checkout¶
Validation used the working tree based on package commit
5d62685c585aab9982b9b2ffbfe57b6abc3b587b, including the pending licensing and
NUR preparation changes. Reports explicitly record repository_dirty = true.
These results do not describe the unchanged public commit.
| Check | Result |
|---|---|
| Restricted index, locked Nixpkgs | 12 entries, passed |
| Restricted index, unstable Nixpkgs | 12 entries, passed |
| Supported-platform evaluation, both Nixpkgs revisions | 86 derivations across all 39 packages, passed |
| Native Linux x64, locked Nixpkgs | All 27 outputs built or reused successfully |
| Native macOS ARM64, locked Nixpkgs | All 34 outputs built or reused successfully |
| PersonalMonitor | Native compilation, bundle checks, helper self-test and strict macOS signature verification passed |
| Package independence, policy and Python suites | Passed, including the NUR registration regression tests |
| Formatting, lint, type checks, hooks and secret scanning | Passed |
| NUR manifest | Exactly one new entry; upstream formatter passed; lock file unchanged |
The macOS build used a separate source snapshot without activating a system or launching applications. Every resulting derivation path was compared with the current checkout's macOS package set and matched. There was no usable ARM Linux builder in the available configuration, so its 25 supported packages were evaluated but not built. Native builds used the locked Nixpkgs revision; current unstable was evaluated separately. GUI behavior, permissions and service logins were not tested. The original upstream licensing evidence limitations remain.
Manifest¶
The registration entry supplies the repository URL and
public GitHub contact. The four-line patch adds only
that entry to repos.json, based on NUR commit
c9d28a9dc181899c9df1390804837b28cff3b0ae. It leaves repos.json.lock untouched.
NUR's own manifest formatter accepted the change. It was invoked through Python
with aiohttp from pinned Nixpkgs because the direct nix-shell shebang failed in
the local Nix installation. Both invoke the same bin/nur formatter.
The nix-forge name was available at that revision. Recheck availability and
regenerate or rebase the patch before submitting against a later NUR revision.
Apply it in a NUR checkout, not in this package repository:
git apply --check /path/to/nixpkgs-personal/docs/nur-registration.patch
git apply /path/to/nixpkgs-personal/docs/nur-registration.patch
./bin/nur format-manifest
git diff --check
git diff -- repos.json
Publication gates¶
- Publish the reviewed package changes before proposing the NUR manifest entry.
A public
default.nixalone does not publish local metadata and license fixes. - Run the existing CI pipeline on that exact published commit. Its NUR matrix covers locked and current unstable Nixpkgs; native package builds are separate.
- Review the complete committed tree against NUR's MIT declaration. The reviewed
notices are the root
LICENSE, the OCR Capture, Finder Favorites and Steam CEF helper MIT licenses, and Noctalia'sUPSTREAM-LICENSE. The package sources and vendor payloads fetched during builds are distinct from these committed files. - Keep the existing hosted-build exclusions and disabled package-cache publishing. NUR membership does not supply missing upstream permissions.
- Confirm the namespace remains available, then submit only
repos.jsonto NUR.
Draft pull request¶
Title: add nix-forge repository
Add https://github.com/nix-forge/nixpkgs-personal as `nur.repos.nix-forge`.
The repository provides 39 standalone package recipes for Linux and macOS,
including personal variants, fonts, agent skills and native utilities. Its
`default.nix` accepts NUR's `pkgs` and preserves the consumer's unfree policy.
The direct flake remains available independently of NUR.
The repository has restricted NUR evaluation checks against locked and current
unstable Nixpkgs, metadata and provenance checks on supported platforms, and
separate native build jobs. Hosted-build exclusions and license limitations are
documented in `docs/package-licensing.md`.
- [ ] I ran `./bin/nur format-manifest` after updating `repos.json`.
- [ ] By including this repository in NUR, I confirm that any copyrightable
content in the repository, other than built derivations or patches if
applicable, is licensed under the MIT license.
- [ ] I confirm that `meta.license` and `meta.sourceProvenance` have been set
correctly for unfree packages and packages not built from source.
- [ ] Applicable metadata fields have been filled out. `meta.mainProgram` is
supplied for command entrypoints and omitted for data-only packages.
The draft checkboxes remain unchecked until the final published tree and current upstream checklist have been reviewed. This preparation does not claim that NUR has accepted the repository or that its current public revision includes local changes.