anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / editors / emacs / elisp-packages / elpa-packages.nix
blob64c05ba3154e6b09a8085346491a53e41b514314
1 /*
3 # Updating
5 To update the list of packages from ELPA,
7 1. Run `./update-elpa`.
8 2. Check for evaluation errors:
9      # "../../../../../" points to the default.nix from root of Nixpkgs tree
10      env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate ../../../../../ -A emacs.pkgs.elpaPackages
11 3. Run `git commit -m "elpa-packages $(date -Idate)" -- elpa-generated.nix`
13 ## Update from overlay
15 Alternatively, run the following command:
17 ./update-from-overlay
19 It will update both melpa and elpa packages using
20 https://github.com/nix-community/emacs-overlay. It's almost instantenous and
21 formats commits for you.
25 { lib, pkgs, buildPackages }:
27 self: let
29   inherit (import ./lib-override-helper.nix pkgs lib)
30     markBroken
31     ;
33   # Use custom elpa url fetcher with fallback/uncompress
34   fetchurl = buildPackages.callPackage ./fetchelpa.nix { };
36   generateElpa = lib.makeOverridable ({
37     generated ? ./elpa-generated.nix
38   }: let
40     imported = import generated {
41       callPackage = pkgs: args: self.callPackage pkgs (args // {
42         inherit fetchurl;
43       });
44     };
46     super = imported;
48     commonOverrides = import ./elpa-common-overrides.nix pkgs lib buildPackages;
50     overrides = self: super: {
51       # upstream issue: Wrong type argument: arrayp, nil
52       org-transclusion =
53         if super.org-transclusion.version == "1.2.0"
54         then markBroken super.org-transclusion
55         else super.org-transclusion;
56       rcirc-menu = markBroken super.rcirc-menu; # Missing file header
59     };
61     elpaPackages =
62       let super' = super // (commonOverrides self super); in super' // (overrides self super');
64   in elpaPackages);
67 generateElpa { }