From 6539e9f81acd9b56be0ab47e037d2e03e40df2a9 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Thu, 24 Oct 2024 21:40:41 -0300 Subject: [PATCH] [wip] emacsPackages: add README.md For now it has documentation for bulk updaters. --- .../editors/emacs/elisp-packages/README.md | 62 +++++++++++++++++++ 1 file changed, 62 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..e3d898c964419 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/README.md @@ -0,0 +1,62 @@ +# Emacs Lisp Packages Framework + +This directory includes a framework for packaging Emacs Lisp (henceforth, Elisp) +packages to Nixpkgs. + +## Bulk Updating + +We have the following scripts: + +- `lib-update-scripts.sh` + + This file serves as a library, containing useful functions to deal with bulk updates. + It can be `source`'d in both interactive and batch environments. + + This library provides the following functions: + + - `download_change` + + This function downloads from [`nix-community` Emacs Overlay](https://github.com/nix-community/emacs-overlay) the corresponding files. + + It accepts one argument. + This argument can assume one of the following values: + `elpa`, `elpa-devel`, `melpa`, `melpa-stable`, `nongnu`, `nongnu-devel`. + + - `test_packageset` + + This function runs a simple test that instantiates the corresponding package set. + + It accepts one argument. + This argument can assume one of the following values: + `elpa`, `elpa-devel`, `melpa`, `melpa-stable`, `nongnu`, `nongnu-devel`. + + - `commit_change` + + This function commits the corresponding package set to the Nixpkgs repository, writing a one-line descriptive commit message. + + It accepts two arguments. + + The first argument can assume one of the following values: `elpa`, + `elpa-devel`, `melpa`, `melpa-stable`, `nongnu`, `nongnu-devel`. + The second argument is an optional free-form string used verbatim, describing the origin of the change being committed. + Its default value is `interactive session`. + +- `update-package-sets` + + This script updates the package sets passed to it as arguments. + + It accepts multiple arguments. + Each argument can assume one of the following values: + `elpa`, `elpa-devel`, `nongnu`, `nongnu-devel`. + +- `update-melpa` + + This script updates `recipes-archive-melpa.json`, a JSON file that describes the MELPA package set. + + It accepts no arguments. + +- `update-from-overlay` + + This script downloads, tests and commits all package sets. + + It accepts no arguments.