all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: John Wiegley <jwiegley@gmail.com>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: emacs-devel@gnu.org
Subject: Re: use-package.el -> Emacs core
Date: Mon, 09 Nov 2015 16:31:24 -0800	[thread overview]
Message-ID: <m21tby1yqr.fsf@Vulcan.attlocal.net> (raw)
In-Reply-To: <564136F7.2020404@yandex.ru> (Dmitry Gutov's message of "Tue, 10 Nov 2015 02:14:47 +0200")

>>>>> Dmitry Gutov <dgutov@yandex.ru> writes:

> Will it add a different way to install packages? Is that wise?

> Were it only up to me, I'd just incorporate the features that work well with
> package.el.

No, it does not install packages. There is a keyword, :ensure, which causes it
to use package.el to install a configured package if it is not already
present.

`use-package' is a macro to abstract a common pattern among .emacs files, such
as:

    (add-hook 'foo-init-hook 'some-function)
    (add-to-list 'auto-mode-alist '("\\.foo$" . foo-mode))
    (eval-after-load "foo-mode"
      '(progn
         (define-key foo-mode-map (kbd "C-c k") 'foo-hello)))

It abstracts the common cases I encountered in my use of 100+ Emacs packages,
and macroexpands to code that tries to minimize Emacs load time as much as
possible. It also adds features that would be cumbersome to do manually, such
as optionally installing an idle-timer so a package is always loaded if Emacs
has been idle for X seconds.

    (use-package foo-mode
      :mode "\\.foo$"
      :bind (:map foo-mode-map
             ("C-c k" . foo-hello))
      :init (add-hook 'foo-init-hook 'some-function))

There is a README with examples at:

    https://github.com/jwiegley/use-package

I also discuss it with Sacha Chua in a video:

    http://sachachua.com/blog/2015/04/john-wiegley-on-organizing-your-emacs-configuration-with-use-package/

John
    



  reply	other threads:[~2015-11-10  0:31 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-10  0:02 use-package.el -> Emacs core John Wiegley
2015-11-10  0:14 ` Dmitry Gutov
2015-11-10  0:31   ` John Wiegley [this message]
2015-11-10  0:40     ` Dmitry Gutov
2015-11-10  7:55     ` Oleh Krehel
2015-11-10 11:52       ` Juanma Barranquero
2015-11-10 12:10         ` Oleh Krehel
2015-11-10 12:23           ` Juanma Barranquero
2015-11-10 12:40             ` Oleh Krehel
2015-11-10 12:47               ` Juanma Barranquero
2015-11-10 15:15                 ` John Wiegley
2015-11-10 15:42                   ` Juanma Barranquero
2015-11-10 15:56                     ` Dmitry Gutov
2015-11-11  0:37                     ` Stephen Leake
2015-11-11  0:56                       ` Juanma Barranquero
2015-11-10 15:55                   ` João Távora
2015-11-10 16:08                     ` John Wiegley
2015-11-10 16:23                   ` Drew Adams
2015-11-10 14:03               ` David Kastrup
2015-11-10 14:15                 ` Oleh Krehel
2015-11-10 14:22                 ` João Távora
2015-11-10 15:17                   ` John Wiegley
2015-11-10 15:46                     ` João Távora
2015-11-10 18:15                       ` John Wiegley
2015-11-10 19:32                         ` João Távora
2015-11-10 19:47                           ` John Wiegley
2015-11-10 21:00                             ` João Távora
2015-11-10 15:56                     ` Kaushal Modi
2015-11-10 18:20                       ` John Wiegley
2015-11-10 18:32                         ` Drew Adams
2015-11-10 18:38                           ` John Wiegley
2015-11-10 18:52                             ` Kaushal Modi
2015-11-10 18:55                               ` John Wiegley
2015-11-10 19:24                             ` Drew Adams
2015-11-10 19:35                               ` John Wiegley
2015-11-10 20:42                                 ` Drew Adams
2015-11-10 12:42             ` Kaushal Modi
2015-11-10 12:46           ` David Kastrup
2015-11-10 13:06             ` Oleh Krehel
2015-11-10 18:15               ` Evgeny Panasyuk
2015-11-10 18:31                 ` Alan Mackenzie
2015-11-10 13:32             ` Wolfgang Jenkner
2015-11-10 15:08               ` Customize is only for newbies? [was: use-package.el -> Emacs core] Drew Adams
2015-11-11  0:01                 ` Wolfgang Jenkner
2015-11-10 14:58           ` Drew Adams
2015-11-10 15:42             ` John Wiegley
2015-11-10  8:49     ` use-package.el -> Emacs core João Távora
2015-11-10  8:57       ` Pedro Silva
2015-11-10  9:45         ` João Távora
2015-11-10 12:01           ` Phillip Lord
2015-11-10 13:37             ` João Távora
2015-11-10 14:07               ` Oleh Krehel
2015-11-10 14:39               ` Nicolas Richard
2015-11-10 14:48                 ` João Távora
2015-11-10 15:40                   ` John Wiegley
2015-11-12 12:43                   ` Nicolas Richard
2015-11-10 17:36               ` Phillip Lord
2015-11-10  0:44 ` Artur Malabarba
2015-11-10  1:05   ` John Wiegley
2015-11-10  1:24     ` Artur Malabarba
2015-11-10  1:37       ` John Wiegley
2015-11-10  3:20         ` Artur Malabarba
2015-11-10  5:37           ` Kaushal Modi
2015-11-10  6:07             ` John Wiegley
2015-11-10 23:27             ` Stephen Leake
2015-11-10 23:32               ` John Wiegley
2015-11-11  9:29                 ` Oleh Krehel
2015-11-11 16:48                   ` John Wiegley
2015-11-11 20:04                     ` Kaushal Modi
2015-11-11 20:10                       ` John Wiegley
2015-11-12  2:11                       ` Copyright assignments in Gnu Elpa (was: use-package.el -> Emacs core) Michael Heerdegen
2015-11-12  2:19                         ` Copyright assignments in Gnu Elpa John Wiegley
2015-11-12  3:50                         ` Artur Malabarba
2015-11-12 22:31                         ` Copyright assignments in Gnu Elpa (was: use-package.el -> Emacs core) Richard Stallman
2015-11-15 14:51                           ` Copyright assignments in Gnu Elpa Andreas Röhler
2015-11-16 19:30                             ` Richard Stallman
2015-11-10  1:37 ` use-package.el -> Emacs core Ted Zlatanov
2015-11-10  8:24 ` joakim
2015-11-11  0:29   ` Stephen Leake
2015-11-11  0:45     ` Dmitry Gutov
2015-11-11  9:30       ` Stephen Leake
2015-11-11 10:04         ` Xue Fuqiao
2015-11-11 10:20         ` Artur Malabarba
2015-11-10  8:44 ` Andreas Röhler
2015-11-10  9:29 ` Nicolas Petton
2015-11-11  0:32   ` Stephen Leake
2015-11-11  0:37     ` John Wiegley
2015-11-10 18:21 ` Stephen Leake
2015-11-10 18:34   ` John Wiegley
2015-11-10 19:54     ` Dmitry Gutov
2015-11-10 20:09       ` Kaushal Modi
2015-11-10 20:27         ` John Wiegley
2015-11-11  0:04     ` Stephen Leake
  -- strict thread matches above, loose matches on Subject: below --
2017-02-15 19:49 Toon Claes
2017-02-15 19:51 ` John Wiegley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m21tby1yqr.fsf@Vulcan.attlocal.net \
    --to=jwiegley@gmail.com \
    --cc=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.