From b6ccc1a6b09937f9481b5f66fed140fcc70fd452 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Sun, 18 Aug 2019 10:58:17 +0100 Subject: [PATCH] emacs-packages: Make org packages overrideable --- .../editors/emacs-modes/org-packages.nix | 23 ++++++++++--------- pkgs/top-level/emacs-packages.nix | 4 +++- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/editors/emacs-modes/org-packages.nix b/pkgs/applications/editors/emacs-modes/org-packages.nix index d3ad7fa4093..1f37cf624f9 100644 --- a/pkgs/applications/editors/emacs-modes/org-packages.nix +++ b/pkgs/applications/editors/emacs-modes/org-packages.nix @@ -2,22 +2,23 @@ # Updating -To update the list of packages from ELPA, +To update the list of packages from Org (ELPA), -1. Clone https://github.com/ttuegel/emacs2nix -2. Run `./org-packages.sh` from emacs2nix -3. Copy the new org-packages.json file into Nixpkgs -4. `git commit -m "org-packages $(date -Idate)"` +1. Run `./update-org`. +2. Check for evaluation errors: `nix-instantiate ../../../.. -A emacsPackagesNg.orgPackages`. +3. `git commit -m "org-packages $(date -Idate)" -- org-generated.nix` */ -{ }: +{ lib }: -self: +self: let - let + generateOrg = lib.makeOverridable ({ + generated ? ./org-generated.nix + }: let - imported = import ./org-generated.nix { + imported = import generated { inherit (self) callPackage; }; @@ -26,6 +27,6 @@ self: overrides = { }; - orgPackages = super // overrides; + in super // overrides); - in orgPackages +in generateOrg { } diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index 5719c5a74fe..0c85176acba 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -55,7 +55,9 @@ let mkMelpaStablePackages = melpaGeneric "stable"; mkMelpaPackages = melpaGeneric "unstable"; - mkOrgPackages = import ../applications/editors/emacs-modes/org-packages.nix { }; + mkOrgPackages = import ../applications/editors/emacs-modes/org-packages.nix { + inherit lib; + }; emacsWithPackages = import ../build-support/emacs/wrapper.nix { inherit lib lndir makeWrapper stdenv runCommand;