summary refs log tree commit diff
diff options
context:
space:
mode:
authornoa@gaiwan.org2024-06-23 10:01:15 +0000
committernoa@gaiwan.org2024-06-23 10:01:15 +0000
commit5847a3247570024d87f7b3d1f631638734fe0602 (patch)
tree9efb550de7b3793b13ff35129ffe46b6315d85e5
parente6ba6a344144d26f43fd2d2cc60c5e2196d4b4fb (diff)
Tentatively replace some use-packages with package-vc-install
-rw-r--r--config.org25
1 files changed, 21 insertions, 4 deletions
diff --git a/config.org b/config.org
index d685c3f..f1ba891 100644
--- a/config.org
+++ b/config.org
@@ -71,6 +71,21 @@ Properly distinguish these chords from their ascii legacy
 (define-key input-decode-map [?\C-m] [C-m])
 #+end_src
 
+* Packages
+For a long time i used use-package to manage emacs package configuration.  Over time, i decided it was a bit too magic for me.  The syntax is quite different to everything else in the configuration, and most of the options i was using were fairly simple.
+
+I've taken a little defun from acdw to install packages from source.
+
+#+begin_src elisp
+  (defun is-pair-p (p)
+    (and (cdr p)
+	 (atom (cdr p))))
+
+  (defun package-ensure (pkg)
+    (unless (package-installed-p (if (is-pair-p pkg) (car pkg) pkg))
+      (package-vc-install pkg)))
+#+end_src
+
 ** Colour theme
 This is my emacs theme.  It's a monochrome theme which, unlike most monochrome themes, really does have only two colours.  I define a few faces, and set every other face as one of them.  There are a few things i want to do with it before i make it properly public: make the colours configurable and able to update on the fly, and in general iron out some of the janky parts.  A few things defined it are quite specific to this configuration, like the way i define the borders for the tab and header bars, and there is no mode line configuration because i don't use it.
 
@@ -344,8 +359,9 @@ Finally, have a binding to jump to a buffer in which there's been some new activ
 
 ** Nov.el
 #+begin_src elisp
-(use-package nov :ensure t)
-(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))
+  (package-ensure '(nov
+		    :url "https://depp.brause.cc/nov.el.git"))
+  (add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))
 #+end_src
 
 * Better prose
@@ -1007,8 +1023,9 @@ Usually, we want indentation to be done with tabs.  Some modes make more sense t
 I want to ensure that indentation is always correct.  The builtin electric indent mode works /sometimes/, but the aggressive indent mode package is more reliable.
 
 #+begin_src elisp
-(use-package aggressive-indent :ensure t)
-(setopt global-aggressive-indent-mode t)
+  (package-ensure '(aggressive-indent
+		    :url "https://github.com/Malabarba/aggressive-indent-mode.git"))
+  (setopt global-aggressive-indent-mode t)
 #+end_src
 
 ** Interface