From 74c5f3534391f9703c8d7a2fa77a1921277806f8 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Mon, 24 Dec 2018 13:44:56 -0500 Subject: [PATCH 1/1] [emacs][wip] define use-feature for use-package without straight.el --- init.org | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/init.org b/init.org index 4e3ee52..6f38d73 100644 --- a/init.org +++ b/init.org @@ -207,6 +207,13 @@ does that (and more). See =straight-package-neutering-mode=. *** =straight.el= +#+begin_quote +Next-generation, purely functional package manager for the Emacs +hacker. +#+end_quote + +=straight.el= allows me to have a fully reproducible Emacs setup. + #+begin_src emacs-lisp (setq straight-repository-branch "develop") @@ -226,6 +233,19 @@ does that (and more). See =straight-package-neutering-mode=. (setq straight-use-package-by-default t) #+end_src +Since we enable =straight.el='s =straight-use-package-by-default= +integration, we will define a =use-feature= for plain ole +=use-package= without any of the =straight.el= stuff. + +#+begin_src emacs-lisp +(defmacro use-feature (name &rest args) + "Like `use-package', but with `straight-use-package-by-default' disabled." + (declare (indent defun)) + `(use-package ,name + :straight nil +,@args)) +#+end_src + *** COMMENT Borg #+begin_quote @@ -330,8 +350,7 @@ definitely don't want it mixing with =init.el=. So, here; let's give it it's own file. While at it, treat themes as safe. #+begin_src emacs-lisp -(use-package custom - :straight nil +(use-feature custom :no-require t :config (setq custom-file (no-littering-expand-etc-file-name "custom.el")) @@ -385,8 +404,7 @@ login; so starting the server from inside Emacs is good enough for me. See [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html#Emacs-Server][Using Emacs as a Server]]. #+begin_src emacs-lisp -(use-package server - :straight nil +(use-feature server :defer 1 :config (or (server-running-p) (server-mode))) #+end_src @@ -804,8 +822,7 @@ We will use the =org-plus-contrib= package to get the whole deal: And here's where my actual Org configurations begin: #+begin_src emacs-lisp -(use-package org - :straight nil +(use-feature org :defer 0.5 :config (setq org-src-tab-acts-natively t @@ -836,8 +853,7 @@ And here's where my actual Org configurations begin: '(org-block ((t (:background "#1d1f21")))) '(org-latex-and-related ((t (:foreground "#b294bb"))))) -(use-package ox-latex - :straight nil +(use-feature ox-latex :after ox :config (setq org-latex-listings 'listings @@ -854,8 +870,7 @@ And here's where my actual Org configurations begin: ("\\subparagraph{%s}" . "\\subparagraph*{%s}")) t)) -(use-package ox-beamer - :straight nil +(use-feature ox-beamer :after ox) (use-package orgalist -- 2.20.1