/* # Updating To update the list of packages from MELPA, 1. Run `./update-elpa`. 2. Check for evaluation errors: `nix-instantiate ../../../.. -A emacs.pkgs.elpaPackages`. 3. `git commit -m "elpa-packages $(date -Idate)" -- elpa-generated.nix` ## Update from overlay Alternatively, run the following command: ./update-from-overlay It will update both melpa and elpa packages using https://github.com/nix-community/emacs-overlay. It's almost instantenous and formats commits for you. */ { lib, stdenv, texinfo, writeText }: self: let markBroken = pkg: pkg.override { elpaBuild = args: self.elpaBuild (args // { meta = (args.meta or {}) // { broken = true; }; }); }; elpaBuild = import ../../../build-support/emacs/elpa.nix { inherit lib stdenv texinfo writeText; inherit (self) emacs; }; generateElpa = lib.makeOverridable ({ generated ? ./elpa-generated.nix }: let imported = import generated { inherit (self) callPackage; }; super = removeAttrs imported [ "dash" ]; overrides = { rcirc-menu = markBroken super.rcirc-menu; # Missing file header cl-lib = null; # builtin tle = null; # builtin advice = null; # builtin seq = if lib.versionAtLeast self.emacs.version "27" then null else super.seq; project = if lib.versionAtLeast self.emacs.version "28" then null else super.project; }; elpaPackages = super // overrides; in elpaPackages // { inherit elpaBuild; }); in generateElpa { }