Skip to content

Commit

Permalink
[wip] emacsPackages: add README.md
Browse files Browse the repository at this point in the history
For now it has documentation for bulk updaters.
  • Loading branch information
AndersonTorres committed Oct 26, 2024
1 parent 0b3fcb2 commit 7d6bdc4
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions pkgs/applications/editors/emacs/elisp-packages/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# 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 scripts

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.

The following functions are provided:

- `download_change`
- `test_packageset`
- `commit_change`

- `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`
```

0 comments on commit 7d6bdc4

Please sign in to comment.