2015-02-09 00:29:48 +00:00
|
|
|
# package.el-based emacs packages
|
2015-05-24 15:08:07 +01:00
|
|
|
|
|
|
|
## FOR USERS
|
2014-01-20 23:57:04 +00:00
|
|
|
#
|
2015-12-17 12:56:28 +00:00
|
|
|
# Recommended: simply use `emacsWithPackages` with the packages you want.
|
2014-01-20 23:57:04 +00:00
|
|
|
#
|
2020-12-22 11:56:57 +00:00
|
|
|
# Alternative: use `emacs`, install everything to a system or user profile
|
2015-12-17 12:56:28 +00:00
|
|
|
# and then add this at the start your `init.el`:
|
2015-05-24 15:08:07 +01:00
|
|
|
/*
|
|
|
|
(require 'package)
|
|
|
|
|
|
|
|
;; optional. makes unpure packages archives unavailable
|
|
|
|
(setq package-archives nil)
|
|
|
|
|
|
|
|
;; optional. use this if you install emacs packages to the system profile
|
|
|
|
(add-to-list 'package-directory-list "/run/current-system/sw/share/emacs/site-lisp/elpa")
|
|
|
|
|
|
|
|
;; optional. use this if you install emacs packages to user profiles (with nix-env)
|
|
|
|
(add-to-list 'package-directory-list "~/.nix-profile/share/emacs/site-lisp/elpa")
|
|
|
|
|
|
|
|
(package-initialize)
|
|
|
|
*/
|
|
|
|
|
|
|
|
## FOR CONTRIBUTORS
|
2014-01-20 23:57:04 +00:00
|
|
|
#
|
2015-05-24 15:08:07 +01:00
|
|
|
# When adding a new package here please note that
|
2016-01-16 17:06:48 +00:00
|
|
|
# * please use `elpaBuild` for pre-built package.el packages and
|
|
|
|
# `melpaBuild` or `trivialBuild` if the package must actually
|
|
|
|
# be built from the source.
|
2015-05-24 15:08:07 +01:00
|
|
|
# * lib.licenses are `with`ed on top of the file here
|
|
|
|
# * both trivialBuild and melpaBuild will automatically derive a
|
|
|
|
# `meta` with `platforms` and `homepage` set to something you are
|
|
|
|
# unlikely to want to override for most packages
|
2015-02-09 00:29:48 +00:00
|
|
|
|
2019-06-16 20:59:06 +01:00
|
|
|
{ lib, newScope, stdenv, fetchurl, fetchFromGitHub, runCommand, writeText
|
2014-01-20 23:57:04 +00:00
|
|
|
|
2016-01-20 18:53:11 +00:00
|
|
|
, emacs, texinfo, lndir, makeWrapper
|
2014-01-20 23:57:04 +00:00
|
|
|
, trivialBuild
|
|
|
|
, melpaBuild
|
|
|
|
|
|
|
|
, external
|
2019-08-04 17:55:15 +01:00
|
|
|
, pkgs
|
2018-07-20 20:54:05 +01:00
|
|
|
}:
|
2014-01-20 23:57:04 +00:00
|
|
|
|
2015-12-15 17:57:51 +00:00
|
|
|
let
|
|
|
|
|
2019-08-04 21:44:07 +01:00
|
|
|
mkElpaPackages = import ../applications/editors/emacs-modes/elpa-packages.nix {
|
2020-12-28 04:12:44 +00:00
|
|
|
inherit lib stdenv texinfo writeText;
|
2015-12-17 02:43:43 +00:00
|
|
|
};
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# Contains both melpa stable & unstable
|
|
|
|
melpaGeneric = import ../applications/editors/emacs-modes/melpa-packages.nix {
|
2019-08-04 17:55:15 +01:00
|
|
|
inherit external lib pkgs;
|
2015-12-17 02:43:43 +00:00
|
|
|
};
|
2019-08-04 21:44:07 +01:00
|
|
|
mkMelpaStablePackages = melpaGeneric "stable";
|
|
|
|
mkMelpaPackages = melpaGeneric "unstable";
|
2015-12-17 02:43:43 +00:00
|
|
|
|
2019-08-18 10:58:17 +01:00
|
|
|
mkOrgPackages = import ../applications/editors/emacs-modes/org-packages.nix {
|
|
|
|
inherit lib;
|
|
|
|
};
|
2016-05-07 23:50:58 +01:00
|
|
|
|
2016-08-19 21:09:41 +01:00
|
|
|
emacsWithPackages = import ../build-support/emacs/wrapper.nix {
|
2019-09-18 21:28:24 +01:00
|
|
|
inherit lib lndir makeWrapper runCommand;
|
2015-12-17 02:53:12 +00:00
|
|
|
};
|
|
|
|
|
2019-08-05 00:26:29 +01:00
|
|
|
mkManualPackages = import ../applications/editors/emacs-modes/manual-packages.nix {
|
|
|
|
inherit external lib pkgs;
|
2015-12-15 17:57:51 +00:00
|
|
|
};
|
2015-12-06 19:17:41 +00:00
|
|
|
|
2019-08-04 21:44:07 +01:00
|
|
|
in lib.makeScope newScope (self: lib.makeOverridable ({
|
|
|
|
elpaPackages ? mkElpaPackages self
|
|
|
|
, melpaStablePackages ? mkMelpaStablePackages self
|
|
|
|
, melpaPackages ? mkMelpaPackages self
|
|
|
|
, orgPackages ? mkOrgPackages self
|
|
|
|
, manualPackages ? mkManualPackages self
|
|
|
|
}: ({}
|
|
|
|
// elpaPackages // { inherit elpaPackages; }
|
|
|
|
// melpaStablePackages // { inherit melpaStablePackages; }
|
|
|
|
// melpaPackages // { inherit melpaPackages; }
|
|
|
|
// orgPackages // { inherit orgPackages; }
|
2020-04-27 12:01:10 +01:00
|
|
|
// manualPackages // { inherit manualPackages; }
|
2019-08-04 21:44:07 +01:00
|
|
|
// {
|
|
|
|
inherit emacs melpaBuild trivialBuild;
|
|
|
|
emacsWithPackages = emacsWithPackages self;
|
2020-12-18 03:24:41 +00:00
|
|
|
withPackages = emacsWithPackages self;
|
2019-08-04 21:44:07 +01:00
|
|
|
})
|
|
|
|
) {})
|