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
This commit is contained in:
László Vaskó
2020-09-20 08:54:46 +02:00
parent b03601fc16
commit f71655a7d0

View File

@@ -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 {