From af1a662de3d2541fe6c1878025c4c4e718dc3d0d Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Thu, 24 Oct 2024 21:40:41 -0300 Subject: [PATCH] emacsPackages: add README.md For now it has documentation for bulk updaters. --- .../editors/emacs/elisp-packages/README.md | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 pkgs/applications/editors/emacs/elisp-packages/README.md diff --git a/pkgs/applications/editors/emacs/elisp-packages/README.md b/pkgs/applications/editors/emacs/elisp-packages/README.md new file mode 100644 index 0000000000000..8b192b6aa7a40 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/README.md @@ -0,0 +1,49 @@ +# Emacs Lisp Packages Framework + +This directory includes a framework for packaging Emacs Lisp (henceforth, Elisp) +packages to Nixpkgs. + +## Bulk Updating + +There are basically two methods for updating the Elisp package sets. + +### From `nix-community` Overlay + +The easiest one is to download and commit the package sets from [`nix-community` +Emacs Overlay](https://github.com/nix-community/emacs-overlay). The script +`./update-from-overlay` does all the work: + +- It downloads and overwrites the files `elpa-generated.nix`, + `elpa-devel-generated.nix`, `recipes-archive-melpa.json`, + `nongnu-generated.nix` and `nongnu-devel-generated.nix`; +- Tests each package set; +- Commits the changes. + +### From local update scripts + +We have the following scripts: + +- `update-package-sets` + + This script accepts four possible arguments, namely `elpa`, `elpa-devel`, + `nongnu`, `nongnu-devel`. Each of them updates the specific package set. + +- `update-melpa` + + It updates `recipes-archive-melpa.json` file and its corresponding + `emacsPackages.melpaPackages` and `emacsPackages.melpaStablePackages` + package sets. + + After running it, and before committing its changes, it is mandatory to run + the following smoke test: + + ``` + env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace /../../../../../ -A "emacsPackages.melpaPackages" + env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace /../../../../../ -A "emacsPackages.melpaStablePackages" + ``` + + The commit should be generated with the command below: + + ``` + git commit -m "emacsPackages.{melpaPackages,melpaStablePackages}: updated at $(date --iso) (from local scripts)" -- `recipes-archive-melpa.json` + ```