emacs: add overrides
option
This option enables overriding packages within the generated Emacs package set. Fixes #486
This commit is contained in:
parent
dc72aa2305
commit
e68d6e7924
|
@ -6,8 +6,13 @@ let
|
|||
|
||||
cfg = config.programs.emacs;
|
||||
|
||||
# Copied from all-packages.nix.
|
||||
emacsPackages = pkgs.emacsPackagesNgGen cfg.package;
|
||||
# Copied from all-packages.nix, with modifications to support
|
||||
# overrides.
|
||||
emacsPackages =
|
||||
let
|
||||
epkgs = pkgs.emacsPackagesNgGen cfg.package;
|
||||
in
|
||||
epkgs.overrideScope' cfg.overrides;
|
||||
emacsWithPackages = emacsPackages.emacsWithPackages;
|
||||
|
||||
in
|
||||
|
@ -34,6 +39,20 @@ in
|
|||
description = "Extra packages available to Emacs.";
|
||||
};
|
||||
|
||||
overrides = mkOption {
|
||||
default = self: super: {};
|
||||
defaultText = "self: super: {}";
|
||||
example = literalExample ''
|
||||
self: super: rec {
|
||||
haskell-mode = self.melpaPackages.haskell-mode;
|
||||
# ...
|
||||
};
|
||||
'';
|
||||
description = ''
|
||||
Allows overriding packages within the Emacs package set.
|
||||
'';
|
||||
};
|
||||
|
||||
finalPackage = mkOption {
|
||||
type = types.package;
|
||||
internal = true;
|
||||
|
|
Loading…
Reference in a new issue