From 64d4fbd29b70fe445f9330a04aa43f0e86eed771 Mon Sep 17 00:00:00 2001 From: Jeremy Dormitzer Date: Fri, 27 Dec 2019 10:38:55 -0500 Subject: [PATCH] Switch out package.el for straight.el --- emacs/init.org | 46 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/emacs/init.org b/emacs/init.org index 6a22c28..75c0b48 100755 --- a/emacs/init.org +++ b/emacs/init.org @@ -24,28 +24,26 @@ Requires: (cd "~") #+END_SRC * Packages -Set up package.el to load from ELPA and MELPA +Use [[https://github.com/raxod502/straight.el][straight.el]] to manage packages: #+BEGIN_SRC emacs-lisp - (require 'package) - (setq package-archives - '(("gnu" . "https://elpa.gnu.org/packages/") - ("melpa" . "https://melpa.org/packages/"))) - (package-initialize) + (defvar bootstrap-version) + (let ((bootstrap-file + (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) + (bootstrap-version 5)) + (unless (file-exists-p bootstrap-file) + (with-current-buffer + (url-retrieve-synchronously + "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" + 'silent 'inhibit-cookies) + (goto-char (point-max)) + (eval-print-last-sexp))) + (load bootstrap-file nil 'nomessage)) #+END_SRC `use-package` is a macro that simplifies installing and loading packages. `use-package-always-ensure` makes sure that all packages will be installed before loading is attempted. #+BEGIN_SRC emacs-lisp - (unless (package-installed-p 'use-package) - (package-refresh-contents) - (package-install 'use-package)) - (require 'use-package) - (setq use-package-always-ensure t) -#+END_SRC - -[[https://framagit.org/steckerhalter/quelpa][Quelpa]] extends package.el to build packages from source from a bunch of targets (git, hg, etc.). -#+BEGIN_SRC emacs-lisp - (use-package quelpa) - (use-package quelpa-use-package) + (straight-use-package 'use-package) + (setq straight-use-package-by-default t) #+END_SRC * Benchmarking @@ -211,7 +209,7 @@ Use ido-mode for completion within Magit: ** Forge [[https://github.com/magit/forge][Forge]] is an extension for Magit that lets it interact with code forges (e.g. GitHub). #+BEGIN_SRC emacs-lisp - (use-package forge :quelpa + (use-package forge :after (magit) :config (add-to-list 'forge-alist '("git.jeremydormitzer.com" "git.jeremydormitzer.com/api/v1" @@ -1239,7 +1237,7 @@ Display inline images after executing a source block: Enable async source block execution. Note: this execute the contents of the source block in a separate Emacs process, so blocks that rely on anything defined in init.org or the current Emacs process won't work as expected. #+BEGIN_SRC emacs-lisp (use-package ob-async - :quelpa (ob-async :fetcher github :repo "astahlman/ob-async")) + :straight (ob-async :host github :repo "astahlman/ob-async")) #+END_SRC ** Images @@ -1536,7 +1534,7 @@ Some formatting stuff: Use nvm to manage node versions: #+BEGIN_SRC emacs-lisp (use-package nvm - :quelpa ((nvm :fetcher github :repo "rejeep/nvm.el")) + :straight ((nvm :host github :repo "rejeep/nvm.el")) :commands (nvm-use nvm-use-for nvm-use-for-buffer)) #+END_SRC @@ -3191,8 +3189,8 @@ becomes: #+BEGIN_SRC emacs-lisp (use-package matrix-client :commands matrix-client-connect - :quelpa ((matrix-client :fetcher github :repo "alphapapa/matrix-client.el" - :files (:defaults "logo.png" "matrix-client-standalone.el.sh")))) + :straight ((matrix-client :host github :repo "alphapapa/matrix-client.el" + :files (:defaults "logo.png" "matrix-client-standalone.el.sh")))) #+END_SRC * EMMS @@ -3271,8 +3269,8 @@ Emacs has excellent built-in SQL support. (use-package graphql-mode :mode "\\.gql\\'" :commands (graphql-mode org-babel-execute:graphql) - :quelpa ((graphql-mode :fetcher github - :repo "jdormit/graphql-mode")) + :straight ((graphql-mode :host github + :repo "jdormit/graphql-mode")) :config (defvar graphql-env-alist '() "An alist defining available GraphQL servers