summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmin Bandali <bandali@gnu.org>2018-12-26 18:05:38 -0500
committerAmin Bandali <bandali@gnu.org>2018-12-26 18:05:38 -0500
commit0c6e40cb03d8071b50c5906a6ae0a9d4cafed822 (patch)
tree989dbbb5738a522ccaa82d323514fefe635b9027
parentc4056581936c6e173c6dce3afb2c1fdac6adbb69 (diff)
parenteb7e51cf86cbc2983ade92431efa151817c20499 (diff)
downloadconfigs-0c6e40cb03d8071b50c5906a6ae0a9d4cafed822.tar.gz
configs-0c6e40cb03d8071b50c5906a6ae0a9d4cafed822.tar.xz
configs-0c6e40cb03d8071b50c5906a6ae0a9d4cafed822.zip
Merge branch 'straight-next'
Diffstat (limited to '')
-rw-r--r--.gitignore7
-rw-r--r--.gitmodules280
-rw-r--r--Makefile24
-rw-r--r--init.org254
m---------lib/alert0
m---------lib/all-the-icons0
m---------lib/alloy-mode0
m---------lib/async0
m---------lib/auto-compile0
m---------lib/boogie-friends0
m---------lib/borg0
m---------lib/boxquote0
m---------lib/bui0
m---------lib/closql0
m---------lib/company0
m---------lib/company-ebdb0
m---------lib/crux0
m---------lib/dante0
m---------lib/dash0
m---------lib/diff-hl0
m---------lib/doom-themes0
m---------lib/ebdb0
m---------lib/ebdb-gnorb0
m---------lib/edit-indirect0
m---------lib/eldoc-eval0
m---------lib/elisp-refs0
m---------lib/emacsql0
m---------lib/emmet-mode0
m---------lib/epkg0
m---------lib/epl0
m---------lib/eshell-up0
m---------lib/exec-path-from-shell0
m---------lib/expand-region0
m---------lib/f0
m---------lib/flycheck0
m---------lib/flycheck-haskell0
m---------lib/geiser0
m---------lib/ghub0
m---------lib/git-modes0
m---------lib/gnorb0
m---------lib/graphql0
m---------lib/guix0
m---------lib/haskell-mode0
m---------lib/helm0
m---------lib/helpful0
m---------lib/hl-todo0
m---------lib/hlint-refactor0
m---------lib/ht0
m---------lib/hydra0
m---------lib/ivy0
m---------lib/lcr0
m---------lib/lean-mode0
m---------lib/loop0
m---------lib/magit0
m---------lib/magit-popup0
m---------lib/markdown-mode0
m---------lib/memoize0
m---------lib/multi-term0
m---------lib/multiple-cursors0
m---------lib/mwim0
m---------lib/no-littering0
m---------lib/org0
m---------lib/orgalist0
m---------lib/other-frame-window0
m---------lib/ox-hugo0
m---------lib/packed0
m---------lib/page-break-lines0
m---------lib/pkg-info0
m---------lib/popup0
m---------lib/projectile0
m---------lib/proof-site0
m---------lib/rich-minority0
m---------lib/s0
m---------lib/shrink-path0
m---------lib/shut-up0
m---------lib/smart-mode-line0
m---------lib/smex0
m---------lib/treepy0
m---------lib/typo0
m---------lib/unkillable-scratch0
m---------lib/use-package0
m---------lib/web-mode0
m---------lib/which-key0
m---------lib/winum0
m---------lib/with-editor0
m---------lib/yaml-mode0
m---------lib/yasnippet0
-rw-r--r--straight/versions/default.el76
88 files changed, 251 insertions, 390 deletions
diff --git a/.gitignore b/.gitignore
index c5f850f..4303fd1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,13 +3,14 @@
/early-init.el
/init.el
+/straight/*
+!/straight/versions
+
/var/*
+/var/eshell/lastdir
/var/eshell/history
!/var/eshell
!/var/eshell/alias
!/var/abbrev.el
-
-!/lisp/bbdb/bbdb-autoloads.el
-/var/eshell/lastdir
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 83877c8..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,280 +0,0 @@
-[borg]
- pushDefault = aminb
- collective = emacsg
-[submodule "alert"]
- path = lib/alert
- url = git@github.com:jwiegley/alert.git
-[submodule "all-the-icons"]
- path = lib/all-the-icons
- url = git@github.com:domtronn/all-the-icons.el.git
-[submodule "alloy-mode"]
- path = lib/alloy-mode
- url = git@github.com:dwwmmn/alloy-mode.git
-[submodule "async"]
- path = lib/async
- url = git@github.com:jwiegley/emacs-async.git
-[submodule "auto-compile"]
- path = lib/auto-compile
- url = git@github.com:emacscollective/auto-compile.git
-[submodule "boogie-friends"]
- path = lib/boogie-friends
- url = git@github.com:boogie-org/boogie-friends.git
- load-path = emacs
-[submodule "borg"]
- path = lib/borg
- url = git@github.com:emacscollective/borg.git
-[submodule "boxquote"]
- path = lib/boxquote
- url = git@github.com:davep/boxquote.el.git
-[submodule "bui"]
- path = lib/bui
- url = git@github.com:alezost/bui.el.git
-[submodule "closql"]
- path = lib/closql
- url = git@github.com:emacscollective/closql.git
-[submodule "company"]
- path = lib/company
- url = git@github.com:company-mode/company-mode.git
-[submodule "company-ebdb"]
- path = lib/company-ebdb
- url = git@github.com:emacs-straight/company-ebdb.git
-[submodule "crux"]
- path = lib/crux
- url = git@github.com:bbatsov/crux.git
-[submodule "dante"]
- path = lib/dante
- url = git@github.com:jyp/dante.git
-[submodule "dash"]
- path = lib/dash
- url = git@github.com:magnars/dash.el.git
- no-makeinfo = dash-template.texi
- # dash creates a `dir' dash info file, which makes git think
- # that the submodule is dirty. so, let's ignore the untracked
- # files of dash's submodule
- ignore = untracked
-[submodule "diff-hl"]
- path = lib/diff-hl
- url = git@github.com:dgutov/diff-hl.git
-[submodule "doom-themes"]
- path = lib/doom-themes
- url = git@github.com:hlissner/emacs-doom-themes.git
-[submodule "ebdb"]
- path = lib/ebdb
- url = git@github.com:girzel/ebdb.git
-[submodule "ebdb-gnorb"]
- path = lib/ebdb-gnorb
- url = git@github.com:emacsmirror/ebdb-gnorb.git
-[submodule "edit-indirect"]
- path = lib/edit-indirect
- url = git@github.com:Fanael/edit-indirect.git
-[submodule "eldoc-eval"]
- path = lib/eldoc-eval
- url = git@github.com:thierryvolpiatto/eldoc-eval.git
-[submodule "elisp-refs"]
- path = lib/elisp-refs
- url = git@github.com:Wilfred/elisp-refs.git
-[submodule "emacsql"]
- path = lib/emacsql
- url = git@github.com:skeeto/emacsql.git
- no-byte-compile = emacsql-pg.el
-[submodule "emmet-mode"]
- path = lib/emmet-mode
- url = git@github.com:smihica/emmet-mode.git
-[submodule "epkg"]
- path = lib/epkg
- url = git@github.com:emacscollective/epkg.git
-[submodule "epl"]
- path = lib/epl
- url = git@github.com:cask/epl.git
-[submodule "eshell-up"]
- path = lib/eshell-up
- url = git@github.com:peterwvj/eshell-up.git
-[submodule "exec-path-from-shell"]
- path = lib/exec-path-from-shell
- url = git@github.com:purcell/exec-path-from-shell.git
-[submodule "expand-region"]
- path = lib/expand-region
- url = git@github.com:magnars/expand-region.el.git
-[submodule "f"]
- path = lib/f
- url = git@github.com:rejeep/f.el.git
-[submodule "flycheck"]
- path = lib/flycheck
- url = git@github.com:flycheck/flycheck.git
-[submodule "flycheck-haskell"]
- path = lib/flycheck-haskell
- url = git@github.com:flycheck/flycheck-haskell.git
-[submodule "geiser"]
- path = lib/geiser
- url = git@gitlab.com:jaor/geiser.git
- info-path = doc
- load-path = elisp
- build-step = ./autogen.sh
- build-step = ./configure
- build-step = make
-[submodule "ghub"]
- path = lib/ghub
- url = git@github.com:magit/ghub.git
-[submodule "git-modes"]
- path = lib/git-modes
- url = git@github.com:magit/git-modes.git
-[submodule "gnorb"]
- path = lib/gnorb
- url = git@github.com:girzel/gnorb.git
- no-byte-compile = gnorb-bbdb.el
-[submodule "graphql"]
- path = lib/graphql
- url = git@github.com:vermiculus/graphql.el.git
-[submodule "guix"]
- path = lib/guix
- url = git@github.com:alezost/guix.el.git
- info-path = doc
- load-path = elisp
- build-step = ./autogen.sh
- build-step = ./configure
- build-step = make
-[submodule "haskell-mode"]
- path = lib/haskell-mode
- url = git@github.com:haskell/haskell-mode.git
-[submodule "helm"]
- path = lib/helm
- url = git@github.com:emacs-helm/helm.git
-[submodule "helpful"]
- path = lib/helpful
- url = git@github.com:Wilfred/helpful.git
-[submodule "hl-todo"]
- path = lib/hl-todo
- url = git@github.com:tarsius/hl-todo.git
-[submodule "hlint-refactor"]
- path = lib/hlint-refactor
- url = git@github.com:mpickering/hlint-refactor-mode.git
-[submodule "ht"]
- path = lib/ht
- url = git@github.com:Wilfred/ht.el.git
-[submodule "hydra"]
- path = lib/hydra
- url = git@github.com:abo-abo/hydra.git
-[submodule "ivy"]
- path = lib/ivy
- url = git@github.com:abo-abo/swiper.git
- info-path = doc
-[submodule "lcr"]
- path = lib/lcr
- url = git@github.com:jyp/lcr.git
-[submodule "lean-mode"]
- path = lib/lean-mode
- url = git@github.com:leanprover/lean-mode.git
-[submodule "loop"]
- path = lib/loop
- url = git@github.com:Wilfred/loop.el.git
-[submodule "magit"]
- path = lib/magit
- url = git@github.com:magit/magit.git
- recursive-byte-compile = true
- info-path = Documentation
-[submodule "magit-popup"]
- path = lib/magit-popup
- url = git@github.com:magit/magit-popup.git
-[submodule "markdown-mode"]
- path = lib/markdown-mode
- url = git@github.com:jrblevin/markdown-mode.git
-[submodule "memoize"]
- path = lib/memoize
- url = git@github.com:skeeto/emacs-memoize.git
-[submodule "multi-term"]
- path = lib/multi-term
- url = git@github.com:emacsorphanage/multi-term.git
-[submodule "multiple-cursors"]
- path = lib/multiple-cursors
- url = git@github.com:magnars/multiple-cursors.el.git
-[submodule "mwim"]
- path = lib/mwim
- url = git@github.com:alezost/mwim.el.git
-[submodule "no-littering"]
- path = lib/no-littering
- url = git@github.com:emacscollective/no-littering.git
-[submodule "org"]
- path = lib/org
- url = git@code.orgmode.org:bzg/org-mode.git
- load-path = lisp
- info-path = doc
- build-step = make compile autoloads info # ORG_ADD_CONTRIB="org-notmuch"
- # setting ORG_ADD_CONTRIB results in copying of files from contrib/
- # into lisp/, which git will pick up. so, let's ignore untracked files
- # from org's submodule; at least for now
- # ignore = untracked
-[submodule "orgalist"]
- path = lib/orgalist
- url = git@github.com:emacsmirror/orgalist.git
-[submodule "other-frame-window"]
- path = lib/other-frame-window
- url = git@github.com:emacsmirror/other-frame-window.git
-[submodule "ox-hugo"]
- path = lib/ox-hugo
- url = git@github.com:kaushalmodi/ox-hugo.git
-[submodule "packed"]
- path = lib/packed
- url = git@github.com:emacscollective/packed.git
-[submodule "page-break-lines"]
- path = lib/page-break-lines
- url = git@github.com:purcell/page-break-lines.git
-[submodule "pkg-info"]
- path = lib/pkg-info
- url = git@github.com:lunaryorn/pkg-info.el.git
-[submodule "popup"]
- path = lib/popup
- url = git@github.com:auto-complete/popup-el.git
-[submodule "projectile"]
- path = lib/projectile
- url = git@github.com:bbatsov/projectile.git
-[submodule "proof-site"] # Proof General
- path = lib/proof-site
- url = git@github.com:ProofGeneral/PG.git
-[submodule "rich-minority"]
- path = lib/rich-minority
- url = git@github.com:Malabarba/rich-minority.git
-[submodule "s"]
- path = lib/s
- url = git@github.com:magnars/s.el.git
-[submodule "shrink-path"]
- path = lib/shrink-path
- url = git@gitlab.com:bennya/shrink-path.el.git
-[submodule "shut-up"]
- path = lib/shut-up
- url = git@github.com:cask/shut-up.git
-[submodule "smart-mode-line"]
- path = lib/smart-mode-line
- url = git@github.com:Malabarba/smart-mode-line.git
-[submodule "smex"] # used by counsel-M-x
- path = lib/smex
- url = git@github.com:nonsequitur/smex.git
-[submodule "treepy"]
- path = lib/treepy
- url = git@github.com:volrath/treepy.el.git
-[submodule "typo"]
- path = lib/typo
- url = git@github.com:jorgenschaefer/typoel.git
-[submodule "unkillable-scratch"]
- path = lib/unkillable-scratch
- url = git@github.com:EricCrosson/unkillable-scratch.git
-[submodule "use-package"]
- path = lib/use-package
- url = git@github.com:jwiegley/use-package.git
-[submodule "web-mode"]
- path = lib/web-mode
- url = git@github.com:fxbois/web-mode.git
-[submodule "which-key"]
- path = lib/which-key
- url = git@github.com:justbur/emacs-which-key.git
-[submodule "winum"]
- path = lib/winum
- url = git@github.com:deb0ch/emacs-winum.git
-[submodule "with-editor"]
- path = lib/with-editor
- url = git@github.com:magit/with-editor.git
-[submodule "yaml-mode"]
- path = lib/yaml-mode
- url = git@github.com:yoshiki/yaml-mode.git
-[submodule "yasnippet"]
- path = lib/yasnippet
- url = git@github.com:joaotavora/yasnippet.git
diff --git a/Makefile b/Makefile
index e694d46..3b3a23f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,13 +1,19 @@
--include lib/borg/borg.mk
+EMACS ?= emacs
+EMACS_ARGUMENTS ?= -Q
-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
+.PHONY: all help clean build build-init quick bootstrap
+.FORCE:
-bootstrap: tangle-init
+tangle-init: init.el
+init.el: init.org
+ @$(EMACS) $(EMACS_ARGUMENTS) \
+ --batch --load org \
+ --eval '(org-babel-tangle-file "init.org")' 2>&1
-ta: tangle-init all
+build-init:
+ @rm -f init.elc
+ @$(EMACS) $(EMACS_ARGUMENTS) \
+ --batch -l init.el --eval '(a/build-init)' 2>&1
-ti: tangle-init build-init
+ti: tangle-init
+bi: build-init
diff --git a/init.org b/init.org
index c69823e..684bbf1 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,24 +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://git.sr.ht/~bandali/dotfiles ~/.emacs.d
-cd ~/.emacs.d
-make bootstrap-borg
-make bootstrap
-#+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:
@@ -183,9 +168,9 @@ but for now I've decided to keep them enabled. See documentation for
*** No =package.el=
-I can do all my package management things with Borg, and don't need
-Emacs' built-in =package.el=. Emacs 27 lets us disable =package.el= in
-the =early-init-file= (see [[https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=24acb31c04b4048b85311d794e600ecd7ce60d3b][here]]).
+I can do all my package management things with =straight.el=, and
+don't need Emacs' built-in =package.el=. Emacs 27 lets us disable
+=package.el= in the =early-init-file= (see [[https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=24acb31c04b4048b85311d794e600ecd7ce60d3b][here]]).
#+begin_src emacs-lisp :tangle early-init.el
(setq package-enable-at-startup nil)
@@ -196,43 +181,67 @@ right now), and even when released it'll be long before most distros
ship in their repos, I'll still put the old workaround with the
commented call to ~package-initialize~ here anyway.
-#+begin_src emacs-lisp
+#+begin_src emacs-lisp :tangle no
(setq package-enable-at-startup nil)
;; (package-initialize)
#+end_src
-*** Borg
+Update: the above is not necessary, since =straight.el= automatically
+does that (and more). See =straight-package-neutering-mode=.
+
+*** =straight.el=
#+begin_quote
-Assimilate Emacs packages as Git submodules
+Next-generation, purely functional package manager for the Emacs
+hacker.
#+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.
+=straight.el= allows me to have a fully reproducible Emacs setup.
#+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))
;; Main engine start...
-(require 'borg)
+
+(setq straight-repository-branch "develop"
+ straight-check-for-modifications '(check-on-save find-when-checking))
+
+(defun a/bootstrap-straight ()
+ (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)))
+
;; Solid rocket booster ignition...
-(borg-initialize)
+
+(defun a/build-init ()
+ (a/bootstrap-straight)
+ (byte-compile-file "init.el"))
+
+(a/bootstrap-straight)
+
;; We have lift off!
-;; (require 'borg-nix-shell)
-;; (setq borg-build-shell-command 'borg-nix-shell-build-command)
+(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.
-(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)))
+#+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
*** =use-package=
@@ -246,7 +255,7 @@ packages (in our case especially the latter) in a neatly organized way
and without compromising on performance.
#+begin_src emacs-lisp
-(require 'use-package)
+(straight-use-package 'use-package)
(if nil ; set to t when need to debug init
(setq use-package-verbose t
use-package-expand-minimally nil
@@ -269,12 +278,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
+ :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
@@ -309,7 +320,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
+(use-feature custom
:no-require t
:config
(setq custom-file (no-littering-expand-etc-file-name "custom.el"))
@@ -363,7 +374,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
+(use-feature server
:defer 1
:config (or (server-running-p) (server-mode)))
#+end_src
@@ -743,8 +754,51 @@ system.
In short, my favourite way of life.
+First, we have to resort to a [[https://github.com/raxod502/straight.el#installing-org-with-straightel][hack]] to be able to use the correct
+latest version of Org from upstream.
+
#+begin_src emacs-lisp
-(use-package org
+ (use-package git)
+
+ (defun org-git-version ()
+ "The Git version of org-mode.
+ Inserted by installing org-mode or when a release is made."
+ (require 'git)
+ (let ((git-repo (expand-file-name
+ "straight/repos/org/" user-emacs-directory)))
+ (string-trim
+ (git-run "describe"
+ "--match=release\*"
+ "--abbrev=6"
+ "HEAD"))))
+
+ (defun org-release ()
+ "The release version of org-mode.
+ Inserted by installing org-mode or when a release is made."
+ (require 'git)
+ (let ((git-repo (expand-file-name
+ "straight/repos/org/" user-emacs-directory)))
+ (string-trim
+ (string-remove-prefix
+ "release_"
+ (git-run "describe"
+ "--match=release\*"
+ "--abbrev=0"
+ "HEAD")))))
+
+(provide 'org-version)
+#+end_src
+
+We will use the =org-plus-contrib= package to get the whole deal:
+
+#+begin_src emacs-lisp
+(straight-use-package 'org-plus-contrib)
+#+end_src
+
+And here's where my actual Org configurations begin:
+
+#+begin_src emacs-lisp
+(use-feature org
:defer 2
:config
(setq org-src-tab-acts-natively t
@@ -768,7 +822,7 @@ In short, my favourite way of life.
'(org-block ((t (:background "#1d1f21"))))
'(org-latex-and-related ((t (:foreground "#b294bb")))))
-(use-package ox-latex
+(use-feature ox-latex
:after ox
:config
(setq org-latex-listings 'listings
@@ -799,7 +853,7 @@ file.
(defvar a/show-async-tangle-time nil
"Show the time spent tangling the file.")
- (defvar a/async-tangle-post-compile "make ti"
+ (defvar a/async-tangle-post-compile "make bi"
"If non-nil, pass to `compile' after successful tangle.")
(defvar a/async-tangle-byte-recompile nil
@@ -873,7 +927,7 @@ Not just how I do git, but /the/ way to do git.
Recently opened files.
#+begin_src emacs-lisp
-(use-package recentf
+(use-feature recentf
:defer 0.5
:config
(add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:")
@@ -905,7 +959,7 @@ There's no way I could top that, so I won't attempt to.
#+begin_src emacs-lisp
(use-package ivy
- :defer 0.5
+ :defer 0.6
:bind
(:map ivy-minibuffer-map
([escape] . keyboard-escape-quit)
@@ -953,7 +1007,7 @@ There's no way I could top that, so I won't attempt to.
*** eshell
#+begin_src emacs-lisp
-(use-package eshell
+(use-feature eshell
:defer 2
:commands eshell
:bind ("C-c a s e" . eshell)
@@ -990,7 +1044,7 @@ There's no way I could top that, so I won't attempt to.
*** Ibuffer
#+begin_src emacs-lisp
-(use-package ibuffer
+(use-feature ibuffer
:bind
(("C-x C-b" . ibuffer-other-window)
:map ibuffer-mode-map
@@ -1060,7 +1114,7 @@ There's no way I could top that, so I won't attempt to.
*** Outline
#+begin_src emacs-lisp
-(use-package outline
+(use-feature outline
:hook (prog-mode . outline-minor-mode)
:bind
(:map
@@ -1081,10 +1135,10 @@ There's no way I could top that, so I won't attempt to.
*** Dired
#+begin_src emacs-lisp
-(use-package ls-lisp
+(use-feature ls-lisp
:custom (ls-lisp-dirs-first t))
-(use-package dired
+(use-feature dired
:config
(setq dired-listing-switches "-alh"
ls-lisp-use-insert-directory-program nil)
@@ -1126,7 +1180,7 @@ There's no way I could top that, so I won't attempt to.
*** Help
#+begin_src emacs-lisp
-(use-package help
+(use-feature help
:config
(temp-buffer-resize-mode)
(setq help-window-select t))
@@ -1135,7 +1189,7 @@ There's no way I could top that, so I won't attempt to.
*** Tramp
#+begin_src emacs-lisp
-(use-package tramp
+(use-feature tramp
:config
(add-to-list 'tramp-default-proxies-alist '(nil "\\`root\\'" "/ssh:%h:"))
(add-to-list 'tramp-default-proxies-alist '("localhost" nil nil))
@@ -1172,7 +1226,7 @@ Highlight uncommitted changes in the left fringe.
Display Lisp objects at point in the echo area.
#+begin_src emacs-lisp
-(use-package eldoc
+(use-feature eldoc
:when (version< "25" emacs-version)
:config (global-eldoc-mode))
#+end_src
@@ -1182,15 +1236,14 @@ Display Lisp objects at point in the echo area.
Highlight matching parens.
#+begin_src emacs-lisp
-(use-package paren
- :demand
+(use-feature paren
:config (show-paren-mode))
#+end_src
** simple (for column numbers)
#+begin_src emacs-lisp
-(use-package simple
+(use-feature simple
:config (column-number-mode))
#+end_src
@@ -1199,7 +1252,7 @@ Highlight matching parens.
Save minibuffer history.
#+begin_src emacs-lisp
-(use-package savehist
+(use-feature savehist
:config (savehist-mode))
#+end_src
@@ -1208,7 +1261,7 @@ Save minibuffer history.
Automatically save place in each file.
#+begin_src emacs-lisp
-(use-package saveplace
+(use-feature saveplace
:when (version< "25" emacs-version)
:config (save-place-mode))
#+end_src
@@ -1216,7 +1269,7 @@ Automatically save place in each file.
** =prog-mode=
#+begin_src emacs-lisp
-(use-package prog-mode
+(use-feature prog-mode
:config (global-prettify-symbols-mode)
(defun indicate-buffer-boundaries-left ()
(setq indicate-buffer-boundaries 'left))
@@ -1226,7 +1279,7 @@ Automatically save place in each file.
** =text-mode=
#+begin_src emacs-lisp
-(use-package text-mode
+(use-feature text-mode
:hook ((text-mode . indicate-buffer-boundaries-left)
(text-mode . abbrev-mode)))
#+end_src
@@ -1302,7 +1355,7 @@ Automatically save place in each file.
** Lisp
#+begin_src emacs-lisp
-(use-package lisp-mode
+(use-feature lisp-mode
:config
(add-hook 'emacs-lisp-mode-hook 'outline-minor-mode)
(add-hook 'emacs-lisp-mode-hook 'reveal-mode)
@@ -1315,6 +1368,7 @@ Automatically save place in each file.
#+begin_src emacs-lisp
(use-package alloy-mode
+ :straight (:host github :repo "dwwmmn/alloy-mode")
:config (setq alloy-basic-offset 2))
#+end_src
@@ -1322,7 +1376,7 @@ Automatically save place in each file.
#+begin_src emacs-lisp
(use-package proof-site ; Proof General
- :load-path "lib/proof-site/generic/")
+ :straight proof-general)
#+end_src
** [[https://leanprover.github.io][Lean]] (with [[https://github.com/leanprover/lean-mode][lean-mode]])
@@ -1660,7 +1714,7 @@ treemacs
#+begin_src emacs-lisp
(use-package geiser)
-(use-package geiser-guile
+(use-feature geiser-guile
:config
(setq geiser-guile-load-path "~/src/git/guix"))
#+end_src
@@ -1668,8 +1722,7 @@ treemacs
** guix
#+begin_src emacs-lisp
-(use-package guix
- :load-path "lib/guix/elisp")
+(use-package guix)
#+end_src
* Emacs enhancements
@@ -1680,7 +1733,7 @@ treemacs
** man
#+begin_src emacs-lisp
-(use-package man
+(use-feature man
:config (setq Man-width 80))
#+end_src
@@ -1709,7 +1762,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"
@@ -1751,6 +1806,7 @@ Emacs package that displays available keybindings in popup
#+begin_src emacs-lisp
(use-package smart-mode-line
+ :commands (sml/apply-theme)
:demand
:config
(sml/setup))
@@ -1797,7 +1853,7 @@ Emacs package that displays available keybindings in popup
** [[https://github.com/bbatsov/crux][crux]]
#+begin_src emacs-lisp
-(use-package crux
+(use-package crux ; results in Waiting for git... [2 times]
:defer 1
:bind (("C-c b k" . crux-kill-other-buffers)
("C-c d" . crux-duplicate-current-line-or-region)
@@ -1863,7 +1919,6 @@ Make =*scratch*= and =*Messages*= unkillable.
:config
(unkillable-scratch 1)
:custom
- (unkillable-scratch-behavior 'do-nothing)
(unkillable-buffers '("^\\*scratch\\*$" "^\\*Messages\\*$")))
#+end_src
@@ -2054,7 +2109,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
mail-user-agent 'gnus-user-agent
read-mail-command 'gnus)
-(use-package gnus
+(use-feature gnus
:bind (("s-m" . gnus)
("s-M" . gnus-unplugged))
:init
@@ -2087,7 +2142,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
gnus-interactive-exit nil
gnus-gcc-mark-as-read t))
-(use-package gnus-art
+(use-feature gnus-art
:config
(setq
gnus-visible-headers
@@ -2116,7 +2171,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
("R" . gnus-article-wide-reply-with-original)
("M-L" . org-store-link)))
-(use-package gnus-sum
+(use-feature gnus-sum
:bind (:map gnus-summary-mode-map
:prefix-map a/gnus-summary-prefix-map
:prefix "v"
@@ -2131,7 +2186,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
("M-L" . org-store-link))
:hook (gnus-summary-mode . a/no-mouse-autoselect-window))
-(use-package gnus-msg
+(use-feature gnus-msg
:config
(setq gnus-posting-styles
'((".*"
@@ -2148,19 +2203,19 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
(address "abandali@uwaterloo.ca")
(gcc "\"nnimap+uwaterloo:Sent Items\"")))))
-(use-package gnus-topic
+(use-feature gnus-topic
:hook (gnus-group-mode . gnus-topic-mode))
-(use-package gnus-agent
+(use-feature gnus-agent
:config
(setq gnus-agent-synchronize-flags 'ask)
:hook (gnus-group-mode . gnus-agent-mode))
-(use-package gnus-group
+(use-feature gnus-group
:config
(setq gnus-permanently-visible-groups "\\((INBOX\\|gnu$\\)"))
-(use-package mm-decode
+(use-feature mm-decode
:config
(setq mm-discouraged-alternatives '("text/html" "text/richtext")))
#+end_src
@@ -2168,7 +2223,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
** sendmail
#+begin_src emacs-lisp
-(use-package sendmail
+(use-feature sendmail
:config
(setq sendmail-program "/usr/bin/msmtp"
;; message-sendmail-extra-arguments '("-v" "-d")
@@ -2179,7 +2234,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
** message
#+begin_src emacs-lisp
-(use-package message
+(use-feature message
:config
(defconst a/message-cite-style-format "On %Y-%m-%d %l:%M %p, %N wrote:")
(defconst message-cite-style-bandali
@@ -2224,7 +2279,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
Convenient footnotes in =message-mode=.
#+begin_src emacs-lisp
-(use-package footnote
+(use-feature footnote
:after message
:bind
(:map message-mode-map
@@ -2247,6 +2302,7 @@ Convenient footnotes in =message-mode=.
#+begin_src emacs-lisp
(use-package ebdb
+ :straight (:host github :repo "girzel/ebdb")
:defer 2
:after gnus
:bind (:map gnus-group-mode-map ("e" . ebdb))
@@ -2255,7 +2311,7 @@ Convenient footnotes in =message-mode=.
(with-eval-after-load 'swiper
(add-to-list 'swiper-font-lock-exclude 'ebdb-mode t)))
-(use-package ebdb-com
+(use-feature ebdb-com
:after ebdb)
;; (use-package ebdb-complete
@@ -2268,9 +2324,10 @@ Convenient footnotes in =message-mode=.
:config
(defun company-ebdb--post-complete (_) nil))
-(use-package ebdb-gnus
+(use-feature ebdb-gnus
:defer 3
:after ebdb
+ :demand
:custom
(ebdb-gnus-window-configuration
'(article
@@ -2280,9 +2337,10 @@ Convenient footnotes in =message-mode=.
(article 1.0)
(ebdb-gnus 0.3))))))
-(use-package ebdb-mua
+(use-feature ebdb-mua
:defer 3
:after ebdb
+ :demand
;; :custom (ebdb-mua-pop-up nil)
)
@@ -2332,8 +2390,8 @@ Convenient footnotes in =message-mode=.
(use-package ox-hugo
:after ox)
-(use-package ox-hugo-auto-export
- :load-path "lib/ox-hugo")
+(use-feature ox-hugo-auto-export
+ :after ox-hugo)
#+end_src
* Post initialization
diff --git a/lib/alert b/lib/alert
deleted file mode 160000
-Subproject 9f329be87820474925f29b52a1131084c8ea95b
diff --git a/lib/all-the-icons b/lib/all-the-icons
deleted file mode 160000
-Subproject 52d1f2d36468146c93aaf11399f581401a23330
diff --git a/lib/alloy-mode b/lib/alloy-mode
deleted file mode 160000
-Subproject 0d05bdd10c77ec04c3d61eccf67e68c08284951
diff --git a/lib/async b/lib/async
deleted file mode 160000
-Subproject 81dc034572e963550c5403a2b3c28047e46b402
diff --git a/lib/auto-compile b/lib/auto-compile
deleted file mode 160000
-Subproject 6ce4255ab9a0b010ef8414c5bd9a6d6d9eea012
diff --git a/lib/boogie-friends b/lib/boogie-friends
deleted file mode 160000
-Subproject ff9903783013f3598b6f44c99d47b25c5cdbed0
diff --git a/lib/borg b/lib/borg
deleted file mode 160000
-Subproject 99d166796f181741ebd79542b96824b096bcb36
diff --git a/lib/boxquote b/lib/boxquote
deleted file mode 160000
-Subproject 7e47e0e2853bc1215739b2e28f260e9eed93b2c
diff --git a/lib/bui b/lib/bui
deleted file mode 160000
-Subproject 508577a7225b3d07eaefa9444064410af251867
diff --git a/lib/closql b/lib/closql
deleted file mode 160000
-Subproject 012b94f8695e194455111fd54eff0b94dd0dd0d
diff --git a/lib/company b/lib/company
deleted file mode 160000
-Subproject b696b3943d2a55aed937cb0ba971d6e29b2e3a8
diff --git a/lib/company-ebdb b/lib/company-ebdb
deleted file mode 160000
-Subproject 3b463fe1236ac6445657f3a1df20357a7a2fa8f
diff --git a/lib/crux b/lib/crux
deleted file mode 160000
-Subproject 308f17d914e2cd79cbc809de66d02b03ceb8285
diff --git a/lib/dante b/lib/dante
deleted file mode 160000
-Subproject 8d5e00d268aa37d91baaa675cead953e58f19c6
diff --git a/lib/dash b/lib/dash
deleted file mode 160000
-Subproject 6514359b8606a6a9a94068ccd601fcd6379d658
diff --git a/lib/diff-hl b/lib/diff-hl
deleted file mode 160000
-Subproject 2cddce48d472111f178da84d44656f92012aa64
diff --git a/lib/doom-themes b/lib/doom-themes
deleted file mode 160000
-Subproject 2f4a0cdf287a086d45a1d9e8536ace6a2e15231
diff --git a/lib/ebdb b/lib/ebdb
deleted file mode 160000
-Subproject 980927ff3dfdb238e7b168f0088353fec29db86
diff --git a/lib/ebdb-gnorb b/lib/ebdb-gnorb
deleted file mode 160000
-Subproject 461a6b35dc9322d1ec59547ad845d26a6c65a69
diff --git a/lib/edit-indirect b/lib/edit-indirect
deleted file mode 160000
-Subproject de645d8144e8a08f039a9c88185121ec81d957e
diff --git a/lib/eldoc-eval b/lib/eldoc-eval
deleted file mode 160000
-Subproject f59a1ae7ecfa97ef659c7adb93e0673419acc48
diff --git a/lib/elisp-refs b/lib/elisp-refs
deleted file mode 160000
-Subproject a8900dab9f8e2925ce5dea0f97bdac4ce47714d
diff --git a/lib/emacsql b/lib/emacsql
deleted file mode 160000
-Subproject f8c3d9fce28ab7d5b0c9fcf2c1236151ca7add2
diff --git a/lib/emmet-mode b/lib/emmet-mode
deleted file mode 160000
-Subproject 1acb821e0142136344ccf40c1e5fb664d7db2e7
diff --git a/lib/epkg b/lib/epkg
deleted file mode 160000
-Subproject c42bc98a711ffa8d2a7b9096b563ac0edb0b9bf
diff --git a/lib/epl b/lib/epl
deleted file mode 160000
-Subproject 78ab7a85c08222cd15582a298a364774e3282ce
diff --git a/lib/eshell-up b/lib/eshell-up
deleted file mode 160000
-Subproject 9c100bae5c3020e8d9307e4332d3b64e7dc2851
diff --git a/lib/exec-path-from-shell b/lib/exec-path-from-shell
deleted file mode 160000
-Subproject 9bc0f4a762f16d488376fb52409c58239a86d75
diff --git a/lib/expand-region b/lib/expand-region
deleted file mode 160000
-Subproject ed3292473035dc8f3d2f321e82974ef87327808
diff --git a/lib/f b/lib/f
deleted file mode 160000
-Subproject de6d4d40ddc844eee643e92d47b9d6a63fbebb4
diff --git a/lib/flycheck b/lib/flycheck
deleted file mode 160000
-Subproject baf96df4d1c3e61bf62f15fbea05a880d1e49e4
diff --git a/lib/flycheck-haskell b/lib/flycheck-haskell
deleted file mode 160000
-Subproject 32ddff87165a7d3a35e7318bee997b5b4bd4127
diff --git a/lib/geiser b/lib/geiser
deleted file mode 160000
-Subproject a6a2f2c2194cdef97d67945aa1e7df81763ec34
diff --git a/lib/ghub b/lib/ghub
deleted file mode 160000
-Subproject db15d00d01b8bd9187079a0b538d878d241743a
diff --git a/lib/git-modes b/lib/git-modes
deleted file mode 160000
-Subproject 55468314a5f6b77d2c96be62c7005ac94545e21
diff --git a/lib/gnorb b/lib/gnorb
deleted file mode 160000
-Subproject 17fd6e9ca6f116e2d0d70ab1e9d7132b3a8bfd4
diff --git a/lib/graphql b/lib/graphql
deleted file mode 160000
-Subproject e2b309689f4faf9225f290080f836e988c5a576
diff --git a/lib/guix b/lib/guix
deleted file mode 160000
-Subproject 495baedc983070f0158442173bdef0a35c2a1e9
diff --git a/lib/haskell-mode b/lib/haskell-mode
deleted file mode 160000
-Subproject 4aa88752ab23bca3ded36a9c9fd9c34cffbb129
diff --git a/lib/helm b/lib/helm
deleted file mode 160000
-Subproject 8433e877e31537d65e017219c1fe226abd78ae5
diff --git a/lib/helpful b/lib/helpful
deleted file mode 160000
-Subproject 039345ef60b4722d050c94ab1978540137df35f
diff --git a/lib/hl-todo b/lib/hl-todo
deleted file mode 160000
-Subproject 24b9925b1b2c7ad6bf7b66800395f74abf035c5
diff --git a/lib/hlint-refactor b/lib/hlint-refactor
deleted file mode 160000
-Subproject 92c69aa01c65968e86c15db087bb1ea785e4736
diff --git a/lib/ht b/lib/ht
deleted file mode 160000
-Subproject 8ec3eb96ee63430fb24257e4aa8169b50cb7be1
diff --git a/lib/hydra b/lib/hydra
deleted file mode 160000
-Subproject 67098cc9149854a95b589c3763843eabc82c9b2
diff --git a/lib/ivy b/lib/ivy
deleted file mode 160000
-Subproject 201c5d78c4985fb803eb681cca0ccc5a4f90b71
diff --git a/lib/lcr b/lib/lcr
deleted file mode 160000
-Subproject c14f40692292d59156c7632dbdd2867c086aa75
diff --git a/lib/lean-mode b/lib/lean-mode
deleted file mode 160000
-Subproject 9d6b8471e2044310b4cd7cd3213b1fc8f78ec49
diff --git a/lib/loop b/lib/loop
deleted file mode 160000
-Subproject e22807f83a0890dc8a904c51ee0742c34efccc6
diff --git a/lib/magit b/lib/magit
deleted file mode 160000
-Subproject d866fb3624bdeb87f0c56e359239e4474362d0a
diff --git a/lib/magit-popup b/lib/magit-popup
deleted file mode 160000
-Subproject 8eaa0becc2370484a432a8a19f40ce5e8d0f164
diff --git a/lib/markdown-mode b/lib/markdown-mode
deleted file mode 160000
-Subproject 906e97d6e211129d4b7674a5efc416849bc7e43
diff --git a/lib/memoize b/lib/memoize
deleted file mode 160000
-Subproject 9a561268ffb550b257a08710489a95cd087998b
diff --git a/lib/multi-term b/lib/multi-term
deleted file mode 160000
-Subproject f954e4e18b0a035151d34852387e724d87a3316
diff --git a/lib/multiple-cursors b/lib/multiple-cursors
deleted file mode 160000
-Subproject 6a7c3c0853e3fe9e4b8e5985dbed8fd4075f33f
diff --git a/lib/mwim b/lib/mwim
deleted file mode 160000
-Subproject b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf8
diff --git a/lib/no-littering b/lib/no-littering
deleted file mode 160000
-Subproject 4e7ecf017140bc522629cd2c977160f7cc2b802
diff --git a/lib/org b/lib/org
deleted file mode 160000
-Subproject 495c7c6a5774a4d3035c582a3b4c95eb04e83dd
diff --git a/lib/orgalist b/lib/orgalist
deleted file mode 160000
-Subproject d120090588d9b258629a95d226bb9f8bf4e2afc
diff --git a/lib/other-frame-window b/lib/other-frame-window
deleted file mode 160000
-Subproject 7477b00664bff9b0b9edfe7ecbef379a7543ba7
diff --git a/lib/ox-hugo b/lib/ox-hugo
deleted file mode 160000
-Subproject 00186ff8d7ae13fab6707b0e2e7665e055db558
diff --git a/lib/packed b/lib/packed
deleted file mode 160000
-Subproject c41c3dfda86ae33832ffc146923e2a4675cbacf
diff --git a/lib/page-break-lines b/lib/page-break-lines
deleted file mode 160000
-Subproject 87e801efb816b24e83ebf84c052001e178e180b
diff --git a/lib/pkg-info b/lib/pkg-info
deleted file mode 160000
-Subproject 76ba7415480687d05a4353b27fea2ae02b8d9d6
diff --git a/lib/popup b/lib/popup
deleted file mode 160000
-Subproject 80829dd46381754639fb764da11c67235fe6328
diff --git a/lib/projectile b/lib/projectile
deleted file mode 160000
-Subproject d625ecb09e3a9fb319740686402197bdf6fc109
diff --git a/lib/proof-site b/lib/proof-site
deleted file mode 160000
-Subproject 7389d43893569ff0e1eff892254901876fc8225
diff --git a/lib/rich-minority b/lib/rich-minority
deleted file mode 160000
-Subproject a50d9b2fd059f6a0e5b22063a5375851a087f61
diff --git a/lib/s b/lib/s
deleted file mode 160000
-Subproject 03410e6a7a2b11e47e1fea3b7d9899c7df26435
diff --git a/lib/shrink-path b/lib/shrink-path
deleted file mode 160000
-Subproject 9d06c453d1537df46a4b703a29213cc7f7857aa
diff --git a/lib/shut-up b/lib/shut-up
deleted file mode 160000
-Subproject 081d6b01e3ba0e60326558e545c4019219e046c
diff --git a/lib/smart-mode-line b/lib/smart-mode-line
deleted file mode 160000
-Subproject b79f4fa5f2380b0d726a895dd7199e548300449
diff --git a/lib/smex b/lib/smex
deleted file mode 160000
-Subproject 55aaebe3d793c2c990b39a302eb26c184281c42
diff --git a/lib/treepy b/lib/treepy
deleted file mode 160000
-Subproject b40e6b09eb9be45da67b8c9e4990a5a0d7a2a09
diff --git a/lib/typo b/lib/typo
deleted file mode 160000
-Subproject 9dad93b6f367f02f52c8d9bf15d446d922cec29
diff --git a/lib/unkillable-scratch b/lib/unkillable-scratch
deleted file mode 160000
-Subproject d805ee0570c218559cd972788c2d7f77704282b
diff --git a/lib/use-package b/lib/use-package
deleted file mode 160000
-Subproject 39a8b8812c2c9f6f0b299e6a04e504ef393694c
diff --git a/lib/web-mode b/lib/web-mode
deleted file mode 160000
-Subproject 5da977bec7714c09d41b556e2d651ccb269a14a
diff --git a/lib/which-key b/lib/which-key
deleted file mode 160000
-Subproject 43e3e3d7641a8e1c298b37e6a277612bf089870
diff --git a/lib/winum b/lib/winum
deleted file mode 160000
-Subproject efcb14fd306afbc738666e6b2e5a8a1bb590439
diff --git a/lib/with-editor b/lib/with-editor
deleted file mode 160000
-Subproject 9dd9f176d96abc60365369de6d08c26c414ef1f
diff --git a/lib/yaml-mode b/lib/yaml-mode
deleted file mode 160000
-Subproject 40067a10ac1360f0b9533f0bbbb2eea128e2574
diff --git a/lib/yasnippet b/lib/yasnippet
deleted file mode 160000
-Subproject 1d96da2e08664c31ff7f6f7441da1f4fa5680b1
diff --git a/straight/versions/default.el b/straight/versions/default.el
new file mode 100644
index 0000000..831254b
--- /dev/null
+++ b/straight/versions/default.el
@@ -0,0 +1,76 @@
+(("PG" . "7389d43893569ff0e1eff892254901876fc8225e")
+ ("all-the-icons.el" . "52d1f2d36468146c93aaf11399f581401a233306")
+ ("alloy-mode" . "0d05bdd10c77ec04c3d61eccf67e68c08284951f")
+ ("auto-compile" . "6ce4255ab9a0b010ef8414c5bd9a6d6d9eea012f")
+ ("boxquote.el" . "7e47e0e2853bc1215739b2e28f260e9eed93b2c5")
+ ("bui.el" . "508577a7225b3d07eaefa9444064410af2518675")
+ ("cl-lib" . "deb92588d9d83d46c4698936ea31c5f58d244f04")
+ ("closql" . "012b94f8695e194455111fd54eff0b94dd0dd0db")
+ ("company-ebdb" . "3b463fe1236ac6445657f3a1df20357a7a2fa8f6")
+ ("company-mode" . "b696b3943d2a55aed937cb0ba971d6e29b2e3a8b")
+ ("crux" . "308f17d914e2cd79cbc809de66d02b03ceb82859")
+ ("dante" . "8d5e00d268aa37d91baaa675cead953e58f19c6d")
+ ("dash.el" . "6514359b8606a6a9a94068ccd601fcd6379d6584")
+ ("diff-hl" . "2cddce48d472111f178da84d44656f92012aa64b")
+ ("ebdb" . "980927ff3dfdb238e7b168f0088353fec29db86e")
+ ("edit-indirect" . "de645d8144e8a08f039a9c88185121ec81d957ef")
+ ("elisp-refs" . "a8900dab9f8e2925ce5dea0f97bdac4ce47714d9")
+ ("emacs-async" . "81dc034572e963550c5403a2b3c28047e46b4029")
+ ("emacs-doom-themes" . "2f4a0cdf287a086d45a1d9e8536ace6a2e152318")
+ ("emacs-memoize" . "9a561268ffb550b257a08710489a95cd087998b6")
+ ("emacs-which-key" . "43e3e3d7641a8e1c298b37e6a277612bf0898708")
+ ("emacsql" . "f8c3d9fce28ab7d5b0c9fcf2c1236151ca7add24")
+ ("emmet-mode" . "1acb821e0142136344ccf40c1e5fb664d7db2e70")
+ ("epkg" . "c42bc98a711ffa8d2a7b9096b563ac0edb0b9bf3")
+ ("epkgs" . "3e2b3cbada81bdb5e9b3f4bf185c7258f656b021")
+ ("epl" . "78ab7a85c08222cd15582a298a364774e3282ce6")
+ ("eshell-up" . "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
+ ("exec-path-from-shell" . "9bc0f4a762f16d488376fb52409c58239a86d75d")
+ ("expand-region.el" . "ed3292473035dc8f3d2f321e82974ef87327808f")
+ ("f.el" . "de6d4d40ddc844eee643e92d47b9d6a63fbebb48")
+ ("flycheck" . "baf96df4d1c3e61bf62f15fbea05a880d1e49e45")
+ ("flycheck-haskell" . "32ddff87165a7d3a35e7318bee997b5b4bd41278")
+ ("geiser" . "a6a2f2c2194cdef97d67945aa1e7df81763ec34e")
+ ("ghub" . "db15d00d01b8bd9187079a0b538d878d241743a8")
+ ("git.el" . "a3396a7027a7d986598c6a2d6d5599bac918f3da")
+ ("gnu-elpa-mirror" . "db6dd0677f0adac536ec6c575865770aa902c0a1")
+ ("graphql.el" . "e2b309689f4faf9225f290080f836e988c5a576d")
+ ("guix.el" . "495baedc983070f0158442173bdef0a35c2a1e9d")
+ ("haskell-mode" . "4aa88752ab23bca3ded36a9c9fd9c34cffbb129b")
+ ("helpful" . "039345ef60b4722d050c94ab1978540137df35f9")
+ ("hl-todo" . "24b9925b1b2c7ad6bf7b66800395f74abf035c5f")
+ ("hlint-refactor-mode" . "92c69aa01c65968e86c15db087bb1ea785e4736c")
+ ("lcr" . "c14f40692292d59156c7632dbdd2867c086aa75f")
+ ("lean-mode" . "9d6b8471e2044310b4cd7cd3213b1fc8f78ec499")
+ ("let-alist" . "4a7693b678c59a148660c736cc0bb26a5032ee9a")
+ ("loop.el" . "e22807f83a0890dc8a904c51ee0742c34efccc6c")
+ ("magit" . "50b5aad124a07614b5e3819c9f81915a454e08fc")
+ ("magit-popup" . "8eaa0becc2370484a432a8a19f40ce5e8d0f1642")
+ ("melpa" . "5487adde3bbb1bfd875c51932c63ceef541d6b6f")
+ ("multi-term" . "f954e4e18b0a035151d34852387e724d87a3316f")
+ ("multiple-cursors.el" . "6a7c3c0853e3fe9e4b8e5985dbed8fd4075f33ff")
+ ("mwim.el" . "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85")
+ ("no-littering" . "4e7ecf017140bc522629cd2c977160f7cc2b8020")
+ ("org" . "5dc18f0c43e16343f3be26aec71f8eeed99969b8")
+ ("orgalist" . "f70a65da3a9bf3d0c1a9c769b77821d2a79c42cb")
+ ("ox-hugo" . "00186ff8d7ae13fab6707b0e2e7665e055db558f")
+ ("packed" . "c41c3dfda86ae33832ffc146923e2a4675cbacfa")
+ ("page-break-lines" . "87e801efb816b24e83ebf84c052001e178e180bc")
+ ("pkg-info.el" . "76ba7415480687d05a4353b27fea2ae02b8d9d61")
+ ("projectile" . "d625ecb09e3a9fb319740686402197bdf6fc109b")
+ ("rich-minority" . "a50d9b2fd059f6a0e5b22063a5375851a087f61a")
+ ("s.el" . "03410e6a7a2b11e47e1fea3b7d9899c7df26435e")
+ ("seq" . "095fb15a3baa082079799dd36b6caccdb062cb90")
+ ("shrink-path.el" . "9d06c453d1537df46a4b703a29213cc7f7857aa0")
+ ("shut-up" . "081d6b01e3ba0e60326558e545c4019219e046ce")
+ ("smart-mode-line" . "b79f4fa5f2380b0d726a895dd7199e5483004490")
+ ("smex" . "55aaebe3d793c2c990b39a302eb26c184281c42c")
+ ("straight.el" . "13d019dfc72e69cce58b510766e197b044ea823b")
+ ("swiper" . "201c5d78c4985fb803eb681cca0ccc5a4f90b717")
+ ("treepy.el" . "b40e6b09eb9be45da67b8c9e4990a5a0d7a2a09d")
+ ("typoel" . "9dad93b6f367f02f52c8d9bf15d446d922cec294")
+ ("unkillable-scratch" . "d805ee0570c218559cd972788c2d7f77704282b9")
+ ("use-package" . "39a8b8812c2c9f6f0b299e6a04e504ef393694ce")
+ ("web-mode" . "5da977bec7714c09d41b556e2d651ccb269a14a2")
+ ("with-editor" . "9dd9f176d96abc60365369de6d08c26c414ef1f3"))
+:saturn