emacsPackages*: Move to emacs*.pkgs#107152
Conversation
a51ce6c to
7c76e9c
Compare
This is the reason we have with Python |
|
No reason python3.withPackages couldn't be the endorsed way, no? |
Maybe I wasn't clear enough. With the approach in this PR, one has to use |
|
Related PR for PHP #107044. We really need to converge on a single interface here (partially NixOS/rfcs#67). |
|
Wrote a draft for an RFC on this topic NixOS/rfcs#83. |
This makes it much easier to create customisations around emacs via the a new convenience passthru attr: - `emacs.pkgs`: What used to be emacsPackages is now `emacs.pkgs` The previous versioned names `emacs*Packages` have been moved to aliases.nix and are now considered deprecated in favour of `emacs*.pkgs`.
…gs.withPackages The previous names are now aliases and shouldn't be used anywhere inside nixpkgs.
7c76e9c to
4003f8c
Compare
|
@adisbladis and I had a short chat. RFC 83 will still take a while, and this follows the spirit of it very closely. The most invasive possible change would likely be |
Motivation for this change
This makes it much easier to create customisations around emacs via
the two new convenience passthru attrs:
emacs.pkgs.withPackages: likeemacsWithPackagesbut now exists on all emacsen derivationsemacs.pkgs: What used to be emacsPackages is nowemacs.pkgsThe previous versioned names
emacs*Packageshave been moved toaliases.nix and are now considered deprecated in favour of
emacs*.pkgs.I believe that it's much easier to use this API correctly than the previous API.
I also believe that this provides a much better UX which is more symmetrical (the
-noxderivations did not have package sets available, so if you wanted to useemacsWithPackageswith them you had to figure it out on your own), but I'm open to inputs on something I might have missed or other perspectives.Things done
sandboxinnix.confon non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"./result/bin/)nix path-info -Sbefore and after)cc @etu @bqv @alyssais @bendlas @tadfisher
Also cc @FRidh for how this possibly could be replicated for the Python package sets (to be clear I'm talking about deprecation of the
python*Packagesnames).