diff options
Diffstat (limited to '')
88 files changed, 251 insertions, 390 deletions
@@ -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 @@ -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 @@ -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 |