lazy-load more things, either with a time delay or after another
package has loaded
#+begin_src emacs-lisp
(use-package server
#+begin_src emacs-lisp
(use-package server
:config (or (server-running-p) (server-mode)))
#+end_src
:config (or (server-running-p) (server-mode)))
#+end_src
#+begin_src emacs-lisp
(use-package org
#+begin_src emacs-lisp
(use-package org
:config
(setq org-src-tab-acts-natively t
org-src-preserve-indentation nil
:config
(setq org-src-tab-acts-natively t
org-src-preserve-indentation nil
(org-latex-packages-alist '(("" "listings") ("" "color"))))
(use-package ox-latex
(org-latex-packages-alist '(("" "listings") ("" "color"))))
(use-package ox-latex
:config
(setq org-latex-listings 'listings
;; org-latex-prefer-user-labels t
:config
(setq org-latex-listings 'listings
;; org-latex-prefer-user-labels t
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
t))
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
t))
+(use-package ox-beamer
+ :after ox)
:hook (message-mode . orgalist-mode))
#+end_src
:hook (message-mode . orgalist-mode))
#+end_src
#+begin_src emacs-lisp
(use-package magit
#+begin_src emacs-lisp
(use-package magit
:bind
(("s-g" . magit-status)
:prefix-map amin--magit-prefix-map
:bind
(("s-g" . magit-status)
:prefix-map amin--magit-prefix-map
#+begin_src emacs-lisp
(use-package eshell
#+begin_src emacs-lisp
(use-package eshell
:commands eshell
:config
(eval-when-compile (defvar eshell-prompt-regexp))
:commands eshell
:config
(eval-when-compile (defvar eshell-prompt-regexp))
#+begin_src emacs-lisp
(use-package ibuffer
#+begin_src emacs-lisp
(use-package ibuffer
:bind
(("C-x C-b" . ibuffer-other-window)
("C-c b B" . ibuffer-other-window)
:bind
(("C-x C-b" . ibuffer-other-window)
("C-c b B" . ibuffer-other-window)
#+begin_src emacs-lisp
(use-package outline
#+begin_src emacs-lisp
(use-package outline
:hook (prog-mode . outline-minor-mode)
:bind
(:map
:hook (prog-mode . outline-minor-mode)
:bind
(:map
(add-hook 'prog-mode-hook #'indicate-buffer-boundaries-left))
(use-package recentf
(add-hook 'prog-mode-hook #'indicate-buffer-boundaries-left))
(use-package recentf
:config
(add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:")
(setq recentf-max-saved-items 40))
:config
(add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:")
(setq recentf-max-saved-items 40))
#+begin_src emacs-lisp
(use-package company
#+begin_src emacs-lisp
(use-package company
:bind
(:map company-active-map
([tab] . company-complete-common-or-cycle)
:bind
(:map company-active-map
([tab] . company-complete-common-or-cycle)
* Syntax and spell checking
#+begin_src emacs-lisp
(use-package flycheck
* Syntax and spell checking
#+begin_src emacs-lisp
(use-package flycheck
:hook (prog-mode . flycheck-mode)
:bind
(:map flycheck-mode-map
:hook (prog-mode . flycheck-mode)
:bind
(:map flycheck-mode-map
;; http://endlessparentheses.com/ispell-and-apostrophes.html
(use-package ispell
;; http://endlessparentheses.com/ispell-and-apostrophes.html
(use-package ispell
:config
;; ’ can be part of a word
(setq ispell-local-dictionary-alist
:config
;; ’ can be part of a word
(setq ispell-local-dictionary-alist
#+begin_src emacs-lisp
(use-package alloy-mode
#+begin_src emacs-lisp
(use-package alloy-mode
:config (setq alloy-basic-offset 2))
#+end_src
:config (setq alloy-basic-offset 2))
#+end_src
#+begin_src emacs-lisp
(use-package proof-site ; Proof General
#+begin_src emacs-lisp
(use-package proof-site ; Proof General
:load-path "lib/proof-site/generic/")
#+end_src
:load-path "lib/proof-site/generic/")
#+end_src
#+begin_src emacs-lisp
(use-package haskell-mode
#+begin_src emacs-lisp
(use-package haskell-mode
:config
(setq haskell-indentation-layout-offset 4
haskell-indentation-left-offset 4
:config
(setq haskell-indentation-layout-offset 4
haskell-indentation-left-offset 4
#+begin_src emacs-lisp
(use-package hlint-refactor
#+begin_src emacs-lisp
(use-package hlint-refactor
:bind (:map hlint-refactor-mode-map
("C-c l b" . hlint-refactor-refactor-buffer)
("C-c l r" . hlint-refactor-refactor-at-point))
:bind (:map hlint-refactor-mode-map
("C-c l b" . hlint-refactor-refactor-buffer)
("C-c l r" . hlint-refactor-refactor-at-point))
*** [[https://github.com/flycheck/flycheck-haskell][flycheck-haskell]]
#+begin_src emacs-lisp
*** [[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]]
#+end_src
*** [[https://github.com/ndmitchell/hlint/blob/20e116a043f2073c57b17b24ae6364b5e433ba7e/data/hs-lint.el][hs-lint.el]]
#+begin_src emacs-lisp
(use-package sgml-mode
#+begin_src emacs-lisp
(use-package sgml-mode
:config
(setq sgml-basic-offset 2))
#+end_src
:config
(setq sgml-basic-offset 2))
#+end_src
#+begin_src emacs-lisp
(use-package css-mode
#+begin_src emacs-lisp
(use-package css-mode
:config
(setq css-indent-offset 2))
#+end_src
:config
(setq css-indent-offset 2))
#+end_src
#+begin_src emacs-lisp
(use-package web-mode
#+begin_src emacs-lisp
(use-package web-mode
:mode "\\.html\\'"
:config
(setq-every! 2
:mode "\\.html\\'"
:config
(setq-every! 2
#+begin_src emacs-lisp
(use-package emmet-mode
#+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
:bind* (("C-)" . emmet-next-edit-point)
("C-(" . emmet-prev-edit-point))
:config
#+begin_src emacs-lisp
(use-package nix-mode
#+begin_src emacs-lisp
(use-package nix-mode
:mode "\\.nix\\'")
#+end_src
:mode "\\.nix\\'")
#+end_src
#+begin_src emacs-lisp
(use-package crux
#+begin_src emacs-lisp
(use-package crux
: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)
: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)
#+begin_src emacs-lisp
(use-package projectile
#+begin_src emacs-lisp
(use-package projectile
:bind-keymap ("C-c p" . projectile-command-map)
:config
(projectile-mode)
:bind-keymap ("C-c p" . projectile-command-map)
:config
(projectile-mode)
#+begin_src emacs-lisp
(use-package helpful
#+begin_src emacs-lisp
(use-package helpful
:bind
(;; ("C-h F" . helpful-function)
("C-h f" . helpful-callable)
:bind
(;; ("C-h F" . helpful-function)
("C-h f" . helpful-callable)
#+begin_src emacs-lisp
(use-package shell-pop
#+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]]
#+end_src
** [[https://github.com/EricCrosson/unkillable-scratch][unkillable-scratch]]
#+begin_src emacs-lisp
(use-package unkillable-scratch
#+begin_src emacs-lisp
(use-package unkillable-scratch
:config
(unkillable-scratch 1)
:custom
:config
(unkillable-scratch 1)
:custom
#+begin_src emacs-lisp
(use-package boxquote
#+begin_src emacs-lisp
(use-package boxquote
:bind
(:prefix-map amin--boxquote-prefix-map
:prefix "C-c q"
:bind
(:prefix-map amin--boxquote-prefix-map
:prefix "C-c q"
#+begin_src emacs-lisp
(use-package highlight-indent-guides
#+begin_src emacs-lisp
(use-package highlight-indent-guides
:hook ((prog-mode . highlight-indent-guides-mode)
;; (org-mode . highlight-indent-guides-mode)
)
:hook ((prog-mode . highlight-indent-guides-mode)
;; (org-mode . highlight-indent-guides-mode)
)
#+begin_src emacs-lisp
(use-package pdf-tools
#+begin_src emacs-lisp
(use-package pdf-tools
:magic ("%PDF" . pdf-view-mode)
:config
(setq pdf-view-resize-factor 1.05)
:magic ("%PDF" . pdf-view-mode)
:config
(setq pdf-view-resize-factor 1.05)
#+begin_src emacs-lisp
(use-package typo
#+begin_src emacs-lisp
(use-package typo
:config
(typo-global-mode 1)
:hook (text-mode . typo-mode))
:config
(typo-global-mode 1)
:hook (text-mode . typo-mode))