From f71655a7d0e796131165266edf597121b5c9db93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Vask=C3=B3?= Date: Sun, 20 Sep 2020 08:54:46 +0200 Subject: [PATCH] Overlay support for emacs (elisp) dependencies This is needed as custom packages may need the same treatment as built-in dependencies of doom. See `./overrides.nix` for details. The `bundledPackages` option may be consolidated to use this argument as well in the future. References: #55 --- default.nix | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/default.nix b/default.nix index 4048a21..5b5cb2f 100644 --- a/default.nix +++ b/default.nix @@ -24,6 +24,18 @@ Only used to get emacs package, if `bundledPackages` is set. */ , emacsPackages + /* Overlay to customize emacs (elisp) dependencies + + See overrides.nix for addition examples. + + Example: + emacsPackagesOverlay = self: super: { + magit-delta = super.magit-delta.overrideAttrs (esuper: { + buildInputs = esuper.buildInputs ++ [ pkgs.git ]; + }); + }; + */ +, emacsPackagesOverlay ? self: super: { } /* Use bundled revision of github.com/nix-community/emacs-overlay as `emacsPackages`. */ @@ -59,7 +71,8 @@ let then dependencyOverrides.${p} else sources.${p}; # Packages we need to get the default doom configuration run - overrides = pkgs.callPackage ./overrides.nix { inherit lock; }; + overrides = self: super: + (pkgs.callPackage ./overrides.nix { inherit lock; } self super) // (emacsPackagesOverlay self super); # Stage 1: prepare source for byte-compilation doomSrc = stdenv.mkDerivation {