summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmin Bandali <bandali@gnu.org>2018-11-11 20:47:09 -0500
committerAmin Bandali <bandali@gnu.org>2018-11-11 20:47:09 -0500
commitce842fdf5263e038c783fd5a18ba777088a9273c (patch)
treea750ab165f213999777f745477b035f808d64a8e
parentca2bcf5f48a3354d18a69b8892377b2ee2c445d7 (diff)
downloadconfigs-ce842fdf5263e038c783fd5a18ba777088a9273c.tar.gz
configs-ce842fdf5263e038c783fd5a18ba777088a9273c.tar.xz
configs-ce842fdf5263e038c783fd5a18ba777088a9273c.zip
[emacs] cut init time in half (~0.450s now) using use-package tweaks
lazy-load more things, either with a time delay or after another package has loaded
Diffstat (limited to '')
-rw-r--r--init.org47
1 files changed, 37 insertions, 10 deletions
diff --git a/init.org b/init.org
index 99e9631..79a97e4 100644
--- a/init.org
+++ b/init.org
@@ -367,6 +367,7 @@ See [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.htm
#+begin_src emacs-lisp
(use-package server
+ :defer 1
:config (or (server-running-p) (server-mode)))
#+end_src
@@ -700,6 +701,7 @@ In short, my favourite way of life.
#+begin_src emacs-lisp
(use-package org
+ :defer 3
:config
(setq org-src-tab-acts-natively t
org-src-preserve-indentation nil
@@ -714,6 +716,7 @@ In short, my favourite way of life.
(org-latex-packages-alist '(("" "listings") ("" "color"))))
(use-package ox-latex
+ :after ox
:config
(setq org-latex-listings 'listings
;; org-latex-prefer-user-labels t
@@ -729,9 +732,11 @@ In short, my favourite way of life.
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
t))
-(use-package ox-beamer)
+(use-package ox-beamer
+ :after ox)
(use-package orgalist
+ :after message
:hook (message-mode . orgalist-mode))
#+end_src
@@ -793,7 +798,7 @@ Not just how I do git, but /the/ way to do git.
#+begin_src emacs-lisp
(use-package magit
- :defer t
+ :defer 2
:bind
(("s-g" . magit-status)
:prefix-map amin--magit-prefix-map
@@ -878,6 +883,7 @@ There's no way I could top that, so I won't attempt to.
#+begin_src emacs-lisp
(use-package eshell
+ :defer t
:commands eshell
:config
(eval-when-compile (defvar eshell-prompt-regexp))
@@ -905,6 +911,7 @@ There's no way I could top that, so I won't attempt to.
#+begin_src emacs-lisp
(use-package ibuffer
+ :defer t
:bind
(("C-x C-b" . ibuffer-other-window)
("C-c b B" . ibuffer-other-window)
@@ -968,6 +975,7 @@ There's no way I could top that, so I won't attempt to.
#+begin_src emacs-lisp
(use-package outline
+ :defer t
:hook (prog-mode . outline-minor-mode)
:bind
(:map
@@ -1036,7 +1044,7 @@ TODO: break this giant source block down into individual org sections.
(add-hook 'prog-mode-hook #'indicate-buffer-boundaries-left))
(use-package recentf
- :demand t
+ :defer 0.5
:config
(add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:")
(setq recentf-max-saved-items 40))
@@ -1077,7 +1085,7 @@ TODO: break this giant source block down into individual org sections.
#+begin_src emacs-lisp
(use-package company
- :defer 5
+ :defer 2
:bind
(:map company-active-map
([tab] . company-complete-common-or-cycle)
@@ -1096,6 +1104,7 @@ TODO: break this giant source block down into individual org sections.
* Syntax and spell checking
#+begin_src emacs-lisp
(use-package flycheck
+ :defer 3
:hook (prog-mode . flycheck-mode)
:bind
(:map flycheck-mode-map
@@ -1110,6 +1119,7 @@ TODO: break this giant source block down into individual org sections.
;; http://endlessparentheses.com/ispell-and-apostrophes.html
(use-package ispell
+ :defer 3
:config
;; ’ can be part of a word
(setq ispell-local-dictionary-alist
@@ -1139,6 +1149,7 @@ TODO: break this giant source block down into individual org sections.
#+begin_src emacs-lisp
(use-package alloy-mode
+ :defer t
:config (setq alloy-basic-offset 2))
#+end_src
@@ -1146,6 +1157,7 @@ TODO: break this giant source block down into individual org sections.
#+begin_src emacs-lisp
(use-package proof-site ; Proof General
+ :defer t
:load-path "lib/proof-site/generic/")
#+end_src
@@ -1173,6 +1185,7 @@ TODO: break this giant source block down into individual org sections.
#+begin_src emacs-lisp
(use-package haskell-mode
+ :defer t
:config
(setq haskell-indentation-layout-offset 4
haskell-indentation-left-offset 4
@@ -1196,6 +1209,7 @@ executable from [[https://github.com/mpickering/apply-refact][apply-refact]].
#+begin_src emacs-lisp
(use-package hlint-refactor
+ :after haskell-mode
:bind (:map hlint-refactor-mode-map
("C-c l b" . hlint-refactor-refactor-buffer)
("C-c l r" . hlint-refactor-refactor-at-point))
@@ -1205,7 +1219,8 @@ executable from [[https://github.com/mpickering/apply-refact][apply-refact]].
*** [[https://github.com/flycheck/flycheck-haskell][flycheck-haskell]]
#+begin_src emacs-lisp
-(use-package flycheck-haskell)
+(use-package flycheck-haskell
+ :after haskell-mode)
#+end_src
*** [[https://github.com/ndmitchell/hlint/blob/20e116a043f2073c57b17b24ae6364b5e433ba7e/data/hs-lint.el][hs-lint.el]]
@@ -1359,6 +1374,7 @@ instead.
#+begin_src emacs-lisp
(use-package sgml-mode
+ :defer t
:config
(setq sgml-basic-offset 2))
#+end_src
@@ -1367,6 +1383,7 @@ instead.
#+begin_src emacs-lisp
(use-package css-mode
+ :defer t
:config
(setq css-indent-offset 2))
#+end_src
@@ -1375,6 +1392,7 @@ instead.
#+begin_src emacs-lisp
(use-package web-mode
+ :defer t
:mode "\\.html\\'"
:config
(setq-every! 2
@@ -1387,6 +1405,7 @@ instead.
#+begin_src emacs-lisp
(use-package emmet-mode
+ :after (:any web-mode css-mode sgml-mode)
:bind* (("C-)" . emmet-next-edit-point)
("C-(" . emmet-prev-edit-point))
:config
@@ -1399,6 +1418,7 @@ instead.
#+begin_src emacs-lisp
(use-package nix-mode
+ :defer t
:mode "\\.nix\\'")
#+end_src
@@ -1517,6 +1537,7 @@ Emacs package that displays available keybindings in popup
#+begin_src emacs-lisp
(use-package crux
+ :defer 1
:bind (("C-c d" . crux-duplicate-current-line-or-region)
("C-c M-d" . crux-duplicate-and-comment-current-line-or-region)
("C-c b K" . crux-kill-other-buffers)
@@ -1541,7 +1562,7 @@ Emacs package that displays available keybindings in popup
#+begin_src emacs-lisp
(use-package projectile
- :defer 5
+ :defer 2
:bind-keymap ("C-c p" . projectile-command-map)
:config
(projectile-mode)
@@ -1562,6 +1583,7 @@ Emacs package that displays available keybindings in popup
#+begin_src emacs-lisp
(use-package helpful
+ :defer 1
:bind
(;; ("C-h F" . helpful-function)
("C-h f" . helpful-callable)
@@ -1586,9 +1608,10 @@ Emacs package that displays available keybindings in popup
#+begin_src emacs-lisp
(use-package shell-pop
- :custom
- (shell-pop-universal-key "C-c e")
- (shell-pop-shell-type '("eshell" "*eshell*" (lambda nil (eshell)))))
+ :defer 1
+ :init
+ (setq shell-pop-universal-key "C-c e"
+ shell-pop-shell-type '("eshell" "*eshell*" (lambda nil (eshell)))))
#+end_src
** [[https://github.com/EricCrosson/unkillable-scratch][unkillable-scratch]]
@@ -1597,6 +1620,7 @@ Make =*scratch*= and =*Messages*= unkillable.
#+begin_src emacs-lisp
(use-package unkillable-scratch
+ :defer 3
:config
(unkillable-scratch 1)
:custom
@@ -1613,6 +1637,7 @@ Make =*scratch*= and =*Messages*= unkillable.
#+begin_src emacs-lisp
(use-package boxquote
+ :defer 3
:bind
(:prefix-map amin--boxquote-prefix-map
:prefix "C-c q"
@@ -1644,7 +1669,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
#+begin_src emacs-lisp
(use-package highlight-indent-guides
- :defer 2
+ :defer 3
:hook ((prog-mode . highlight-indent-guides-mode)
;; (org-mode . highlight-indent-guides-mode)
)
@@ -1661,6 +1686,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
#+begin_src emacs-lisp
(use-package pdf-tools
+ :defer t
:magic ("%PDF" . pdf-view-mode)
:config
(setq pdf-view-resize-factor 1.05)
@@ -1685,6 +1711,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
#+begin_src emacs-lisp
(use-package typo
+ :defer 2
:config
(typo-global-mode 1)
:hook (text-mode . typo-mode))