Merge pull request #254632 from tweag/by-name-guidelines

This commit is contained in:
Artturi 2023-09-12 18:21:08 +03:00 committed by GitHub
commit 4d094164d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -72,6 +72,22 @@ libfoo = callPackage ../by-name/so/some-package/package.nix {
};
```
## Manual migration guidelines
Most packages are still defined in `all-packages.nix` and the [category hierarchy](../README.md#category-hierarchy).
Please hold off migrating your maintained packages to this directory.
1. An automated migration for the majority of packages [is being worked on](https://github.com/NixOS/nixpkgs/pull/211832).
In order to save on contributor and reviewer time, packages should only be migrated manually afterwards if they couldn't be migrated automatically.
1. Manual migrations should only be lightly encouraged if the relevant code is being worked on anyways.
For example with a package update or refactoring.
1. Manual migrations should not remove definitions from `all-packages.nix` with custom arguments.
That is a backwards-incompatible change because it changes the `.override` interface.
Such packages may still be moved to `pkgs/by-name` however, while keeping the definition in `all-packages.nix`.
See also [changing implicit attribute defaults](#changing-implicit-attribute-defaults).
## Limitations
There's some limitations as to which packages can be defined using this structure: