anchor.diff:            license = lib.licenses.free;
           };
         }) {};
  +    rubocop = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
  +      elpaBuild {
  +        pname = "rubocop";
  +        ename = "rubocop";
  +        version = "0.6.0";
  +        src = fetchurl {
  +          url = "https://elpa.nongnu.org/nongnu/rubocop-0.6.0.tar";
  +          sha256 = "1gw30ya6xyi359k9fihjx75h7ahs067i9bvkyla0rbhmc5xdz6ww";
  +        };
  +        packageRequires = [ emacs ];
  +        meta = {
  +          homepage = "https://elpa.gnu.org/packages/rubocop.html";
  +          license = lib.licenses.free;
  +        };
  +      }) {};
  +    rust-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
  +      elpaBuild {
  +        pname = "rust-mode";
  +        ename = "rust-mode";
  +        version = "0.5.0";
  +        src = fetchurl {
  +          url = "https://elpa.nongnu.org/nongnu/rust-mode-0.5.0.tar";
  +          sha256 = "03z1nsq1s3awaczirlxixq4gwhz9bf1x5zwd5xfb88ay4kzcmjwc";
  +        };
  +        packageRequires = [ emacs ];
  +        meta = {
  +          homepage = "https://elpa.gnu.org/packages/rust-mode.html";
  +          license = lib.licenses.free;
  +        };
  +      }) {};
  +    sass-mode = callPackage ({ cl-lib ? null
  +                             , elpaBuild
  +                             , fetchurl
  +                             , haml-mode
  +                             , lib }:
  +      elpaBuild {
  +        pname = "sass-mode";
  +        ename = "sass-mode";
  +        version = "3.0.16";
  +        src = fetchurl {
  +          url = "https://elpa.nongnu.org/nongnu/sass-mode-3.0.16.tar";
  +          sha256 = "1nkp7cvsc2dbxkfv346hwsly34nhv1hhc8lgcs470xzdxi908p61";
  +        };
  +        packageRequires = [ cl-lib haml-mode ];
  +        meta = {
  +          homepage = "https://elpa.gnu.org/packages/sass-mode.html";
  +          license = lib.licenses.free;
  +        };
  +      }) {};
  +    scala-mode = callPackage ({ elpaBuild, fetchurl, lib }:
  +      elpaBuild {
  +        pname = "scala-mode";
  +        ename = "scala-mode";
  +        version = "0.23";
  +        src = fetchurl {
  +          url = "https://elpa.nongnu.org/nongnu/scala-mode-0.23.tar";
  +          sha256 = "0dmyh5x519f5b9h034a1yjgmr1ai8pd22a032x31zgdkwl2xyrfd";
  +        };
  +        packageRequires = [];
  +        meta = {
  +          homepage = "https://elpa.gnu.org/packages/scala-mode.html";
  +          license = lib.licenses.free;
  +        };
  +      }) {};
  +    slime = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, macrostep }:
  +      elpaBuild {
  +        pname = "slime";
  +        ename = "slime";
  +        version = "2.26.1";
  +        src = fetchurl {
  +          url = "https://elpa.nongnu.org/nongnu/slime-2.26.1.tar";
  +          sha256 = "0f7absmq0nnhhq0i8nfgn2862ydvwlqyzhcq4s6m91mn72d7dw5i";
  +        };
  +        packageRequires = [ cl-lib macrostep ];
  +        meta = {
  +          homepage = "https://elpa.gnu.org/packages/slime.html";
  +          license = lib.licenses.free;
  +        };
  +      }) {};
       sly = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
         elpaBuild {
           pname = "sly";
  
positive.code:           license = lib.licenses.free;
          };
        }) {};
    }
  
negative.code: { callPackage }:
    {
      apache-mode = callPackage ({ elpaBuild, fetchurl, lib }:
        elpaBuild {
          pname = "apache-mode";
          ename = "apache-mode";
          version = "2.2.0";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/apache-mode-2.2.0.tar";
            sha256 = "022s7rw7ary1cx3riszzvb7wi0y078vixkcyggjdg5j2ckjpc8gb";
          };
          packageRequires = [];
          meta = {
            homepage = "https://elpa.gnu.org/packages/apache-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      arduino-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib, spinner }:
        elpaBuild {
          pname = "arduino-mode";
          ename = "arduino-mode";
          version = "1.3.0";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/arduino-mode-1.3.0.tar";
            sha256 = "1270mbjgj0kmmjqqblwaipmd2667yp31mgspib3c5d7d6acs1bfx";
          };
          packageRequires = [ emacs spinner ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/arduino-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      bison-mode = callPackage ({ elpaBuild, fetchurl, lib }:
        elpaBuild {
          pname = "bison-mode";
          ename = "bison-mode";
          version = "0.4";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/bison-mode-0.4.tar";
            sha256 = "19n9kz1ycjpxngd3clzr8lzrnnw19l8sfvlx1yqn35hk7017z7ab";
          };
          packageRequires = [];
          meta = {
            homepage = "https://elpa.gnu.org/packages/bison-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      caml = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
        elpaBuild {
          pname = "caml";
          ename = "caml";
          version = "4.8";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/caml-4.8.tar";
            sha256 = "02wzjdd1ig8ajy65rf87zaysfddjbhyswifwlcs52ly7p84q72wk";
          };
          packageRequires = [ cl-lib emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/caml.html";
            license = lib.licenses.free;
          };
        }) {};
      clojure-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
        elpaBuild {
          pname = "clojure-mode";
          ename = "clojure-mode";
          version = "5.13.0";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/clojure-mode-5.13.0.tar";
            sha256 = "16xll0sp7mqzwldfsihp7j3dlm6ps1l1awi122ff8w7xph7b0wfh";
          };
          packageRequires = [ emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/clojure-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      crux = callPackage ({ elpaBuild, fetchurl, lib, seq }:
        elpaBuild {
          pname = "crux";
          ename = "crux";
          version = "0.4.0";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/crux-0.4.0.tar";
            sha256 = "01yg54s2l3zr4h7h3nw408bqzrr4yds9rfgc575b76006v5d3ciy";
          };
          packageRequires = [ seq ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/crux.html";
            license = lib.licenses.free;
          };
        }) {};
      d-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
        elpaBuild {
          pname = "d-mode";
          ename = "d-mode";
          version = "202003130913";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/d-mode-202003130913.tar";
            sha256 = "1pad0ib8l1zkjmh97n1pkwph1xdbcqidnicm3nwmcbmbi61lddsx";
          };
          packageRequires = [ emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/d-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      dart-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
        elpaBuild {
          pname = "dart-mode";
          ename = "dart-mode";
          version = "1.0.7";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/dart-mode-1.0.7.tar";
            sha256 = "13n0fmnxgnq8vjw0n5vwgdgfm5lznvrm3xkak4snkdw7w3rd3a20";
          };
          packageRequires = [ emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/dart-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      editorconfig = callPackage ({ cl-lib ? null
                                  , elpaBuild
                                  , emacs
                                  , fetchurl
                                  , lib
                                  , nadvice }:
        elpaBuild {
          pname = "editorconfig";
          ename = "editorconfig";
          version = "0.8.2";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/editorconfig-0.8.2.tar";
            sha256 = "1ff8hwyzb249lf78j023sbibgfmimmk6mxkjmcnqqnk1jafprk02";
          };
          packageRequires = [ cl-lib emacs nadvice ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/editorconfig.html";
            license = lib.licenses.free;
          };
        }) {};
      evil = callPackage ({ elpaBuild, fetchurl, lib }:
        elpaBuild {
          pname = "evil";
          ename = "evil";
          version = "1.14.0";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/evil-1.14.0.tar";
            sha256 = "11hzx3ya1119kr8dwlg264biixiqgvi7zwxxksql0a9hqp57rdpx";
          };
          packageRequires = [];
          meta = {
            homepage = "https://elpa.gnu.org/packages/evil.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
        elpaBuild {
          pname = "geiser";
          ename = "geiser";
          version = "0.16";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-0.16.tar";
            sha256 = "1mhngb1ik3qsc3w466cs61rbz3nn08ag29m5vfbd6adk60xmhnfk";
          };
          packageRequires = [ emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser-chez = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
        elpaBuild {
          pname = "geiser-chez";
          ename = "geiser-chez";
          version = "0.16";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-chez-0.16.tar";
            sha256 = "016b7n5rv7fyrw4lqcprhhf2rai5vvmmc8a13l4w3a30rwcgm7cd";
          };
          packageRequires = [ emacs geiser ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser-chez.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser-chibi = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
        elpaBuild {
          pname = "geiser-chibi";
          ename = "geiser-chibi";
          version = "0.16";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-chibi-0.16.tar";
            sha256 = "0j9dgg2q01ya6yawpfc15ywrfykd5gzbh118k1x4mghfkfnqn1zi";
          };
          packageRequires = [ emacs geiser ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser-chibi.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser-chicken = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
        elpaBuild {
          pname = "geiser-chicken";
          ename = "geiser-chicken";
          version = "0.16";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-chicken-0.16.tar";
            sha256 = "1zmb8c86akrd5f1v59s4xkbpgsqbdcbc6d5f9h6kxa55ylc4dn6a";
          };
          packageRequires = [ emacs geiser ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser-chicken.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser-gambit = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
        elpaBuild {
          pname = "geiser-gambit";
          ename = "geiser-gambit";
          version = "0.16";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-gambit-0.16.tar";
            sha256 = "0bc38qlqj7a3cnrcnqrb6m3jvjh2ia5iby9i50vcn0jbs52rfsnz";
          };
          packageRequires = [ emacs geiser ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser-gambit.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser-gauche = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
        elpaBuild {
          pname = "geiser-gauche";
          ename = "geiser-gauche";
          version = "0.0.2";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-gauche-0.0.2.tar";
            sha256 = "0wd0yddasryy36ms5ghf0gs8wf80sgdxci2hd8k0fvnyi7c3wnj5";
          };
          packageRequires = [ emacs geiser ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser-gauche.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser-guile = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
        elpaBuild {
          pname = "geiser-guile";
          ename = "geiser-guile";
          version = "0.17";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.17.tar";
            sha256 = "0g4982rfxjp08qi6nxz73lsbdwf388fx511394yw4s7ml6v1m4kd";
          };
          packageRequires = [ emacs geiser ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser-guile.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser-kawa = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
        elpaBuild {
          pname = "geiser-kawa";
          ename = "geiser-kawa";
          version = "0.0.1";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-kawa-0.0.1.tar";
            sha256 = "1qh4qr406ahk4k8g46nzkiic1fidhni0a5zv4i84cdypv1c4473p";
          };
          packageRequires = [ emacs geiser ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser-kawa.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser-mit = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
        elpaBuild {
          pname = "geiser-mit";
          ename = "geiser-mit";
          version = "0.13";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-mit-0.13.tar";
            sha256 = "1y2cgrcvdp358x7lpcz8x8nw5g1y4h03d9gbkbd6k85643cwrkbi";
          };
          packageRequires = [ emacs geiser ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser-mit.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser-racket = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
        elpaBuild {
          pname = "geiser-racket";
          ename = "geiser-racket";
          version = "0.16";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-racket-0.16.tar";
            sha256 = "0lf2lbgpl8pvx7yhiydb7j5hk3kdx34zvhva4zqnzya6zf30w257";
          };
          packageRequires = [ emacs geiser ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser-racket.html";
            license = lib.licenses.free;
          };
        }) {};
      geiser-stklos = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
        elpaBuild {
          pname = "geiser-stklos";
          ename = "geiser-stklos";
          version = "1.3";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/geiser-stklos-1.3.tar";
            sha256 = "1wkhnkdhdrhrh0vipgnlmyimi859za6jhf2ldpwfmk8r2aj8ywan";
          };
          packageRequires = [ emacs geiser ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/geiser-stklos.html";
            license = lib.licenses.free;
          };
        }) {};
      git-commit = callPackage ({ dash
                                , elpaBuild
                                , emacs
                                , fetchurl
                                , lib
                                , transient
                                , with-editor }:
        elpaBuild {
          pname = "git-commit";
          ename = "git-commit";
          version = "3.2.1";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/git-commit-3.2.1.tar";
            sha256 = "1jndc8ppj4r2s62idabygj4q0qbpk4gwifn8jrd6pa61d7dlvp28";
          };
          packageRequires = [ dash emacs transient with-editor ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/git-commit.html";
            license = lib.licenses.free;
          };
        }) {};
      gnuplot = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
        elpaBuild {
          pname = "gnuplot";
          ename = "gnuplot";
          version = "0.8.0";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/gnuplot-0.8.0.tar";
            sha256 = "1f27y18ivcdwlkgr3ql4qcbgzdp6vk1bkw2wlryrclpydbb1nya3";
          };
          packageRequires = [ emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/gnuplot.html";
            license = lib.licenses.free;
          };
        }) {};
      go-mode = callPackage ({ elpaBuild, fetchurl, lib }:
        elpaBuild {
          pname = "go-mode";
          ename = "go-mode";
          version = "1.5.0";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/go-mode-1.5.0.tar";
            sha256 = "0v4lw5dkijajpxyigin4cd5q4ldrabljaz65zr5f7mgqn5sizj3q";
          };
          packageRequires = [];
          meta = {
            homepage = "https://elpa.gnu.org/packages/go-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      goto-chg = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
        elpaBuild {
          pname = "goto-chg";
          ename = "goto-chg";
          version = "1.7.4";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/goto-chg-1.7.4.tar";
            sha256 = "1sg2gp48b83gq0j821lk241lwyxkhqr6w5d1apbnkm3qf08qjwba";
          };
          packageRequires = [ emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/goto-chg.html";
            license = lib.licenses.free;
          };
        }) {};
      guru-mode = callPackage ({ elpaBuild, fetchurl, lib }:
        elpaBuild {
          pname = "guru-mode";
          ename = "guru-mode";
          version = "1.0";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/guru-mode-1.0.tar";
            sha256 = "18vz80yc7nv6dgyyxmlxslwim7qpb1dx2y5382c2wbdqp0icg41g";
          };
          packageRequires = [];
          meta = {
            homepage = "https://elpa.gnu.org/packages/guru-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      haskell-mode = callPackage ({ elpaBuild, fetchurl, lib }:
        elpaBuild {
          pname = "haskell-mode";
          ename = "haskell-mode";
          version = "4.7.1";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/haskell-mode-4.7.1.tar";
            sha256 = "07x7440xi8dkv1zpzwi7p96jy3zd6pdv1mhs066l8bp325516wyb";
          };
          packageRequires = [];
          meta = {
            homepage = "https://elpa.gnu.org/packages/haskell-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      highlight-parentheses = callPackage ({ elpaBuild
                                           , emacs
                                           , fetchurl
                                           , lib }:
        elpaBuild {
          pname = "highlight-parentheses";
          ename = "highlight-parentheses";
          version = "2.1.0";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/highlight-parentheses-2.1.0.tar";
            sha256 = "1rsixbvglar0k0x24xkxw80sx9i85q48jdzx6wbyjz2clz974ja5";
          };
          packageRequires = [ emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/highlight-parentheses.html";
            license = lib.licenses.free;
          };
        }) {};
      htmlize = callPackage ({ elpaBuild, fetchurl, lib }:
        elpaBuild {
          pname = "htmlize";
          ename = "htmlize";
          version = "1.57";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/htmlize-1.57.tar";
            sha256 = "1k4maqkcicvpl4yxkx6ha98x36ppcfdp2clcdg4fjx945yamx80s";
          };
          packageRequires = [];
          meta = {
            homepage = "https://elpa.gnu.org/packages/htmlize.html";
            license = lib.licenses.free;
          };
        }) {};
      idris-mode = callPackage ({ cl-lib ? null
                                , elpaBuild
                                , emacs
                                , fetchurl
                                , lib
                                , prop-menu }:
        elpaBuild {
          pname = "idris-mode";
          ename = "idris-mode";
          version = "0.9.18";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/idris-mode-0.9.18.tar";
            sha256 = "1z4wsqzxsmn1vdqp44b32m4wzs4bbnsyzv09v9ggr4l4h2j4c3x5";
          };
          packageRequires = [ cl-lib emacs prop-menu ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/idris-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      inf-clojure = callPackage ({ clojure-mode
                                 , elpaBuild
                                 , emacs
                                 , fetchurl
                                 , lib }:
        elpaBuild {
          pname = "inf-clojure";
          ename = "inf-clojure";
          version = "3.1.0";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/inf-clojure-3.1.0.tar";
            sha256 = "0jw6rzplicbv2l7si46naspzp5lqwj20b1nmfs9zal58z1gx6zjk";
          };
          packageRequires = [ clojure-mode emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/inf-clojure.html";
            license = lib.licenses.free;
          };
        }) {};
      j-mode = callPackage ({ elpaBuild, fetchurl, lib }:
        elpaBuild {
          pname = "j-mode";
          ename = "j-mode";
          version = "1.1.1";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/j-mode-1.1.1.tar";
            sha256 = "0l0l71z5i725dnw4l9w2cfjhrijwx9z8mgyf2dfcbly1cl2nvnx2";
          };
          packageRequires = [];
          meta = {
            homepage = "https://elpa.gnu.org/packages/j-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      julia-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
        elpaBuild {
          pname = "julia-mode";
          ename = "julia-mode";
          version = "0.4";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/julia-mode-0.4.tar";
            sha256 = "1qi6z6007q2jgcb96iy34m87jsg9ss3jhzlnl2cl8dn26yqmdky4";
          };
          packageRequires = [ emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/julia-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      lua-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
        elpaBuild {
          pname = "lua-mode";
          ename = "lua-mode";
          version = "20210802";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/lua-mode-20210802.tar";
            sha256 = "1yarwai9a0w4yywd0ajdkif4g26z98zw91lg1z78qw0k61qjmnh6";
          };
          packageRequires = [ emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/lua-mode.html";
            license = lib.licenses.free;
          };
        }) {};
      macrostep = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
        elpaBuild {
          pname = "macrostep";
          ename = "macrostep";
          version = "0.9";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/macrostep-0.9.tar";
            sha256 = "10crvq9xww4nvrswqq888y9ah3fl4prj0ha865aqbyrhhbpg18gd";
          };
          packageRequires = [ cl-lib ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/macrostep.html";
            license = lib.licenses.free;
          };
        }) {};
      magit = callPackage ({ dash
                           , elpaBuild
                           , emacs
                           , fetchurl
                           , git-commit
                           , lib
                           , magit-section
                           , transient
                           , with-editor }:
        elpaBuild {
          pname = "magit";
          ename = "magit";
          version = "3.2.1";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/magit-3.2.1.tar";
            sha256 = "0yyf16605bp5q8jl2vbljxx04ja0ljvs775dnnawlc3mvn13zd9n";
          };
          packageRequires = [
            dash
            emacs
            git-commit
            magit-section
            transient
            with-editor
          ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/magit.html";
            license = lib.licenses.free;
          };
        }) {};
      magit-section = callPackage ({ dash, elpaBuild, emacs, fetchurl, lib }:
        elpaBuild {
          pname = "magit-section";
          ename = "magit-section";
          version = "3.2.1";
          src = fetchurl {
            url = "https://elpa.nongnu.org/nongnu/magit-section-3.2.1.tar";
            sha256 = "1ppinys8rfa38ac8grcx16hlaw33p03pif4ya6bbw280kq8c73rv";
          };
          packageRequires = [ dash emacs ];
          meta = {
            homepage = "https://elpa.gnu.org/packages/magit-section.html";
            license = lib.licenses.free;
          };
        }) {};
  