summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile13
-rw-r--r--init.org79
2 files changed, 17 insertions, 75 deletions
diff --git a/Makefile b/Makefile
deleted file mode 100644
index e694d46..0000000
--- a/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
--include lib/borg/borg.mk
-
-bootstrap-borg:
- @git submodule--helper clone --name borg --path lib/borg \
- --url git@github.com:emacscollective/borg.git
- @cd lib/borg; git symbolic-ref HEAD refs/heads/master
- @cd lib/borg; git reset --hard HEAD
-
-bootstrap: tangle-init
-
-ta: tangle-init all
-
-ti: tangle-init build-init
diff --git a/init.org b/init.org
index 56a439a..0503414 100644
--- a/init.org
+++ b/init.org
@@ -9,10 +9,10 @@
:END:
This org file is my literate configuration for GNU Emacs, and is
-tangled to [[./init.el][init.el]]. Packages are installed and managed using
-[[https://github.com/emacscollective/borg][Borg]]. Over the years, I've taken inspiration from configurations of
-many different people. Some of the configurations that I can remember
-off the top of my head are:
+tangled to [[./init.el][init.el]]. Packages are installed and managed using
+[[https://github.com/raxod502/straight.el][straight.el]]. Over the years, I've taken inspiration from
+configurations of many different people. Some of the configurations
+that I can remember off the top of my head are:
- [[https://github.com/dieggsy/dotfiles][dieggsy/dotfiles]]: literate Emacs and dotfiles configuration, uses
straight.el for managing packages
@@ -28,25 +28,9 @@ off the top of my head are:
I'd like to have a fully reproducible Emacs setup (part of the reason
why I store my configuration in this repository) but unfortunately out
of the box, that's not achievable with =package.el=, not currently
-anyway. So, I've opted to use Borg. For what it's worth, I briefly
-experimented with [[https://github.com/raxod502/straight.el][straight.el]], but found that it added about 2 seconds
-to my init time; which is unacceptable for me: I use Emacs as my
-window manager (via EXWM) and coming from bspwm, I'm too used to
-having fast startup times.
-
-** Installation
-
-To use this config for your Emacs, first you need to clone this repo,
-then bootstrap Borg, tell Borg to retrieve package submodules, and
-byte-compiled the packages. Something along these lines should work:
-
-#+begin_src sh :tangle no
-git clone https://github.com/aminb/dotfiles ~/.emacs.d
-cd ~/.emacs.d
-make bootstrap-borg
-make bootstrap
-make build
-#+end_src
+anyway. So, I've opted to use =straight.el=. I also used Borg for a
+few months, but decided to try =straight.el= which allows direct use
+of the various package archives.
* Contents :toc_1:noexport:
@@ -243,38 +227,7 @@ integration, we will define a =use-feature= for plain ole
(declare (indent defun))
`(use-package ,name
:straight nil
-,@args))
-#+end_src
-
-*** COMMENT Borg
-
-#+begin_quote
-Assimilate Emacs packages as Git submodules
-#+end_quote
-
-[[https://github.com/emacscollective/borg][Borg]] is at the heart of package management of my Emacs setup. In
-short, it creates a git submodule in =lib/= for each package, which
-can then be managed with the help of Magit or other tools.
-
-#+begin_src emacs-lisp
-(setq user-init-file (or load-file-name buffer-file-name)
- user-emacs-directory (file-name-directory user-init-file))
-(add-to-list 'load-path
- (expand-file-name "lib/borg" user-emacs-directory))
-(require 'borg)
-(borg-initialize)
-
-;; (require 'borg-nix-shell)
-;; (setq borg-build-shell-command 'borg-nix-shell-build-command)
-
-(with-eval-after-load 'bind-key
- (bind-keys
- :package borg
- ("C-c b A" . borg-activate)
- ("C-c b a" . borg-assimilate)
- ("C-c b b" . borg-build)
- ("C-c b c" . borg-clone)
- ("C-c b r" . borg-remove)))
+ ,@args))
#+end_src
*** =use-package=
@@ -300,7 +253,7 @@ and without compromising on performance.
(setq use-package-always-defer t)
#+end_src
-*** COMMENT Epkg
+*** Epkg
#+begin_quote
Browse the Emacsmirror package database
@@ -311,13 +264,14 @@ database, low-level functions for querying the database, and a
=package.el=-like user interface for browsing the available packages.
#+begin_src emacs-lisp
+(require 'bind-key)
(use-package epkg
- :defer t
+ :commands (epkg-list-packages epkg-describe-package)
:bind
- (("C-c b d" . epkg-describe-package)
- ("C-c b p" . epkg-list-packages)
- ("C-c b u" . epkg-update))
+ (("C-c P e d" . epkg-describe-package)
+ ("C-c P e p" . epkg-list-packages))
:config
+ (setq epkg-repository "~/.emacs.d/straight/repos/epkgs/")
(eval-when-compile (defvar ivy-initial-inputs-alist))
(with-eval-after-load 'ivy
(add-to-list
@@ -729,7 +683,6 @@ for this.
** Bindings
#+begin_src emacs-lisp
-(require 'bind-key)
(bind-keys
("C-c a i" . ielm)
@@ -1799,7 +1752,9 @@ Emacs package that displays available keybindings in popup
;; prefixes for my personal bindings
"C-c a" "applications"
"C-c a s" "shells"
- "C-c b" "borg"
+ "C-c P" "package-management"
+ "C-c P e" "package-management/epkg"
+ "C-c P s" "package-management/straight.el"
"C-c c" "compile-and-comments"
"C-c e" "eval"
"C-c f" "files"