summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfpi2020-06-15 08:14:21 +0200
committerfpi2020-06-15 08:14:21 +0200
commit3165b416219853ec2473b1baa2d32e9afe99c6b8 (patch)
tree20ef1edde3b9a1d5bd268b150f58bd54397a877a
parentMake relevant src blocks linkable from readme (diff)
parentAdd frozen straight package-versions (diff)
Merge branch 'straight' into emacs
-rw-r--r--emacs-init.org309
-rw-r--r--gnus.org2
-rw-r--r--package-versions.el80
3 files changed, 278 insertions, 113 deletions
diff --git a/emacs-init.org b/emacs-init.org
index 2f5e448..5ecd5b8 100644
--- a/emacs-init.org
+++ b/emacs-init.org
@@ -1,4 +1,4 @@
-#+PROPERTY: header-args:emacs-lisp :tangle tangle/emacs-init.el :results silent
+#+PROPERTY: header-args:emacs-lisp :tangle tangle/emacs-init.el :results silent :noweb yes
* Overview
** About this document
This files contains all the elisp code normally placed in the .emacs
@@ -26,18 +26,18 @@ file, [[elisp:(find-library "org-crypt")][org-crypt]] is a possible solution. Ma
private information with the tag =:crypt:= and adding the following to
=init.el= works as a basic setup for =org-crypt=. Also make sure to
disable ~buffer-auto-save-file-name~ for the files.
-#+BEGIN_SRC emacs-lisp
-(require 'org)
-(require 'org-crypt)
-(org-crypt-use-before-save-magic)
-(setq org-tags-exclude-from-inheritance (quote ("crypt")))
-(setq org-crypt-key "F1EF502F9E81D81381B1679AF973BBEA6994521B")
+#+BEGIN_SRC emacs-lisp :noweb-ref org-crypt :tangle no
+(use-package org-crypt
+ :config (org-crypt-use-before-save-magic)
+ :custom
+ (org-tags-exclude-from-inheritance (quote ("crypt")))
+ (org-crypt-key "F1EF502F9E81D81381B1679AF973BBEA6994521B"))
#+END_SRC
I use =.org= configuration files also for my other dotfiles. To ensure
they are tangled upon save I use this function.
#+NAME: tangle-hook
-#+BEGIN_SRC emacs-lisp
+#+BEGIN_SRC emacs-lisp :tangle no
(defun fpi/tangle-dotfiles ()
"If the current file is in '~/.dotfiles' tangle all code blocks."
(when (equal (file-name-directory (directory-file-name buffer-file-name))
@@ -54,7 +54,7 @@ saved again. The latter part is not directly supported by =org=.
and not inside the source =.org= file. Instead I add an advice to
~org-babel-tangle~.
#+NAME: org-crypt-tangle-setup
-#+BEGIN_SRC emacs-lisp
+#+BEGIN_SRC emacs-lisp :tangle no
(defun save-without-hook ()
(let ((before-save-hook nil))
(save-buffer)))
@@ -88,8 +88,10 @@ load this file here.
This is the content of =init.el=. Notice the ~:tangle tangle/init.el~
header argument in the source code.
#+begin_src emacs-lisp :tangle tangle/init.el
-(require 'package)
-(package-initialize)
+<<straight.el>>
+
+;; package.el to enable use of list-packages
+<<package.el>>
;; (setq safe-local-variable-values (list (cons 'buffer-auto-save-file-name nil)
;; (cons 'header-line-format " ")))
(setq vc-follow-symlinks t)
@@ -116,32 +118,102 @@ Notable configs:
- [[http://doc.norang.ca/org-mode.html][Bernt Hansen]]
* Base settings
-** Setup some paths
+** Setup load path
+Folder for additional lisp files I may want to load.
#+BEGIN_SRC emacs-lisp
(add-to-list 'load-path "~/.emacs.d/lisp")
-(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
-(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") nil)
#+END_SRC
** Meta packages
Packages that don't do anything by themselves, but can be used to help
with other package definition and customization.
+*** package.el
+=package.el= setup. While I switched to [[id:eef88cd4-f2f5-4e4b-b7bb-75faac36dcb8][straight.el]], I keep =package.el= loaded for now to be able to browse ELPA/MELPA with ~M-x list-packages~.
+#+BEGIN_SRC emacs-lisp :noweb-ref package.el :tangle no
+(require 'package)
+;; (package-initialize)
+(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
+(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") nil)
+#+END_SRC
+*** straight.el
+:PROPERTIES:
+:ID: eef88cd4-f2f5-4e4b-b7bb-75faac36dcb8
+:END:
+[[https://github.com/raxod502/straight.el][straight.el]] is a package manager for emacs, which in contrast to =package.el= keeps track of the current package versions and supports local development on packages. See the [[https://github.com/raxod502/straight.el#comparison-to-other-package-managers][github page]] for a detailed comparison with other package managers.
+#+begin_src emacs-lisp :noweb-ref straight.el :tangle no
+(defvar bootstrap-version)
+(let ((bootstrap-file
+ (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
+ (bootstrap-version 5))
+ (unless (file-exists-p bootstrap-file)
+ (with-current-buffer
+ (url-retrieve-synchronously
+ "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
+ 'silent 'inhibit-cookies)
+ (goto-char (point-max))
+ (eval-print-last-sexp)))
+ (load bootstrap-file nil 'nomessage))
+#+end_src
+
+#+BEGIN_SRC emacs-lisp
+(setq straight-profiles `((nil . ,(expand-file-name "package-versions.el" "~/git/projects/dotfiles"))))
+#+END_SRC
+**** straight.el documentation excerpts
+:PROPERTIES:
+:header-args:emacs-lisp: :tangle no
+:END:
+***** General usage
+#+begin_quote
+- To restore each package to its canonical state (a clean working
+ directory with the main branch checked out, and the remotes set
+ correctly), run ~M-x straight-normalize-package~ or ~M-x
+ straight-normalize-all~.
+- To fetch from each package's configured remote, run ~M-x
+ straight-fetch-package-and-deps~ or ~M-x straight-fetch-all~; to
+ also fetch from the upstream for forked packages, supply a prefix
+ argument.
+- To merge changes from each package's configured remote, run ~M-x
+ straight-merge-package-and-deps~ or ~M-x straight-merge-all~; to
+ also merge from the upstream for forked packages, supply a prefix
+ argument.
+- To push all local changes to each package's configured remote, run
+ ~M-x straight-push-package~ or ~M-x straight-push-all~.
+#+end_quote
+***** Freezing package versions
+#+begin_quote
+To save the currently checked out revisions of all of your packages,
+run ~M-x straight-freeze-versions~. The resulting file
+(~~/.emacs.d/straight/versions/default.el~), together with your
+init-file, perfectly define your package configuration. Keep your
+version lockfile checked into version control; when you install your
+Emacs configuration on another machine, the versions of packages
+specified in your lockfile will automatically be checked out after the
+packages are installed. You can manually revert all packages to the
+revisions specified in the lockfile by running ~M-x
+straight-thaw-versions~.
+#+end_quote
+***** =use-package= integration
+#+begin_src emacs-lisp
+(use-package el-patch
+ :straight (:host github :repo "raxod502/el-patch"
+ :branch "develop"))
+(use-package tex-site
+ :straight (auctex :host github
+ :repo "emacsmirror/auctex"
+ :files (:defaults (:exclude "*.el.in"))))
+#+end_src
*** Use-package
#+begin_src emacs-lisp
-(unless (package-installed-p 'use-package)
- (package-refresh-contents)
- (package-install 'use-package))
-(eval-when-compile
- (require 'use-package))
+(straight-use-package 'use-package)
#+end_src
*** Hydra
#+begin_src emacs-lisp
(use-package hydra
- :ensure t)
+ :straight t)
#+end_src
This package allows hydra definitions in use-package.
#+begin_src emacs-lisp
(use-package use-package-hydra
- :ensure t)
+ :straight t)
#+end_src
*** which-key
In Emacs you can press =?= or =C-h= after starting a key combination
@@ -150,7 +222,7 @@ small popup, which I think is more handy.
#+begin_src emacs-lisp
(use-package which-key
:delight
- :ensure t
+ :straight t
:custom (which-key-idle-delay 0.4)
:config (which-key-mode 1))
#+end_src
@@ -161,7 +233,7 @@ remove it. =Try= installs packages temporarily for this emacs session
only.
#+begin_src emacs-lisp
(use-package try
- :ensure t)
+ :straight t)
#+end_src
** GUI Interface
Disable most of the user interface.
@@ -183,7 +255,7 @@ leaves a gap at the bottom. This removes it.
*** Remove mode line clutter
#+begin_src emacs-lisp
(use-package delight
- :ensure t
+ :straight t
:after use-package)
#+end_src
If removing mode symbols with =delight= is not enough, the mode line
@@ -194,7 +266,7 @@ mode-line not being redisplayed, when turning the mode off even though
it calls ~force-mode-line-update~.
#+begin_src emacs-lisp
(use-package hide-mode-line
- :ensure t
+ :straight t
:hook
(hide-mode-line-mode . redraw-display)
(help-mode . hide-mode-line-mode))
@@ -233,7 +305,12 @@ appreciate light themes more. [[https://gitlab.com/protesilaos/modus-themes][mod
theme promising high color contrast. I ended up using the
=spacemacs-light= and =spacemacs-dark= themes.
#+begin_src emacs-lisp
-(package-install 'spacemacs-theme)
+(use-package spacemacs-light-theme
+ :no-require t
+ :straight (spacemacs-theme))
+(use-package spacemacs-dark-theme
+ :no-require t
+ :straight (spacemacs-theme))
#+end_src
=Face-remap= is a library for basic face remapping. =Buffer-face-mode=
@@ -823,13 +900,13 @@ The above macro can be used like this.
#+end_src
Advice =load-theme= to also update the colors for
=pdf-view-midnight-mode=.
-#+begin_src emacs-lisp
+#+begin_src emacs-lisp :tangle no :noweb-ref load-theme
(defadvice load-theme (after update-pdf-view-midnight-color activate)
(setq pdf-view-midnight-colors `(,(face-attribute 'default :foreground) . ,(face-attribute 'default :background))))
#+end_src
-Finally load the theme.
-#+begin_src emacs-lisp
+Finally load the theme. The code is here, but only executed at the end of the initialization after ~pdf-view-midnight-colors~, etc. are defined.
+#+begin_src emacs-lisp :tangle no :noweb-ref load-theme
(load-theme 'spacemacs-light t)
#+end_src
*** Scaling the height of the =default= face.
@@ -1046,7 +1123,7 @@ are for now mostly copied from [[https://gitlab.com/protesilaos/dotemacs/][Prote
#+BEGIN_SRC emacs-lisp :tangle no
(use-package ido-completing-read+
- :ensure t
+ :straight t
:after ido
:config
(ido-ubiquitous-mode 1))
@@ -1055,7 +1132,7 @@ are for now mostly copied from [[https://gitlab.com/protesilaos/dotemacs/][Prote
Ido completion for =M-x=.
#+BEGIN_SRC emacs-lisp :tangle no
(use-package amx
- :ensure t
+ :straight t
:after (ido ido-completing-read+)
:init
(setq amx-backend 'ido)
@@ -1163,7 +1240,7 @@ confines of word boundaries (e.g. multiple words)."
(find-name-arg "-iname"))
(use-package async
- :ensure t)
+ :straight t)
(use-package dired-async
:after (dired async)
@@ -1173,7 +1250,7 @@ confines of word boundaries (e.g. multiple words)."
*** Narrowing
#+BEGIN_SRC emacs-lisp
(use-package dired-narrow
- :ensure t
+ :straight t
:after dired
:bind (:map dired-mode-map
("SPC" . dired-narrow-regexp)))
@@ -1198,7 +1275,7 @@ behaviour while inside a regular dired buffer.
#+BEGIN_SRC emacs-lisp
(use-package peep-dired
- :ensure t
+ :straight t
:after dired
:bind (:map dired-mode-map
("P" . peep-dired))
@@ -1235,7 +1312,7 @@ target dir).
#+BEGIN_SRC emacs-lisp
(use-package dired-subtree
- :ensure t
+ :straight t
:after dired
:bind (:map dired-mode-map
("<tab>" . dired-subtree-toggle)
@@ -1247,7 +1324,7 @@ Open a small sidebar window showing the current directory.
#+BEGIN_SRC emacs-lisp
(use-package dired-sidebar
:bind (("C-x C-n" . dired-sidebar-toggle-sidebar))
- :ensure t
+ :straight t
:commands (dired-sidebar-toggle-sidebar)
:hook
(dired-sidebar-mode . (lambda ()
@@ -1263,7 +1340,7 @@ Recursive directory sizes. Toggle with =C-x M-r=. This will take a
while for directories with lots of nested files.
#+BEGIN_SRC emacs-lisp
(use-package dired-du
- :ensure t
+ :straight t
:config (setq dired-du-size-format 't))
#+END_SRC
** Tramp
@@ -1279,7 +1356,7 @@ of src_shell{getconf "PATH"}. See [[elisp:(describe-variable
*** Magit
#+BEGIN_SRC emacs-lisp
(use-package magit
- :ensure t
+ :straight t
:custom (magit-completing-read-function 'magit-ido-completing-read)
:init (global-magit-file-mode))
#+END_SRC
@@ -1319,7 +1396,7 @@ Only highlight the changes within a line, not the whole line.
Add support for [[https://nvie.com/posts/a-successful-git-branching-model/][gitflow]].
#+begin_src emacs-lisp
(use-package magit-gitflow
- :ensure t
+ :straight t
:hook (magit-mode . turn-on-magit-gitflow))
#+end_src
*** git-identity
@@ -1327,7 +1404,7 @@ Found it in this [[https://www.manueluberti.eu/emacs/2020/03/30/lockdown-beam-gi
#+begin_src emacs-lisp
(use-package git-identity
- :ensure t
+ :straight t
:custom
(git-identity-verify t)
(git-identity-list private/git-identity-list)
@@ -1342,8 +1419,7 @@ navigate and revert hunks directly from the buffer. Use =g= to open
#+begin_src emacs-lisp
(use-package diff-hl
- :ensure t
- :defer t
+ :straight t
:bind (:map fpi-map ("g" . hydra-diff-hl/body))
:init (global-diff-hl-mode 1)
:config (defhydra hydra-diff-hl (:body-pre (diff-hl-mode 1)
@@ -1379,7 +1455,7 @@ some safe local variable values.
#+begin_src emacs-lisp
(use-package git-auto-commit-mode
:delight
- :ensure t
+ :straight t
:custom
(gac-automatically-push-p nil)
:config
@@ -1395,7 +1471,7 @@ some safe local variable values.
#+BEGIN_SRC emacs-lisp
(use-package projectile
- :ensure t
+ :straight t
:delight '(:eval (concat " " (projectile-project-name)))
:init
(setq projectile-project-search-path '("~/git/projects/"))
@@ -1436,7 +1512,7 @@ brackets containing their path.
Sort buffers in project groups using projectile.
#+BEGIN_SRC emacs-lisp :tangle no
(use-package ibuffer-projectile
- :ensure t
+ :straight t
:after (ibuffer projectile)
:hook
(ibuffer-mode . (lambda ()
@@ -1448,7 +1524,7 @@ Sort buffers in project groups using projectile.
better performance.
#+begin_src emacs-lisp
(use-package ibuffer-vc
- :ensure t
+ :straight t
:custom
(ibuffer-formats
'((mark modified read-only vc-status-mini " "
@@ -1471,44 +1547,44 @@ better performance.
=fit-window-to-buffer= automatically shrinks the current buffer based
on the amount of displayed text.
#+begin_src emacs-lisp
-(use-package window
- :custom
- (fit-window-to-buffer-horizontally t)
- :bind (:map fpi-map ("s" . fit-window-to-buffer)))
+ (use-package window
+ :init
+ <<window>>
+ :custom
+ (fit-window-to-buffer-horizontally t)
+ :bind (:map fpi-map ("s" . fit-window-to-buffer))
+ )
#+end_src
*** Window rules
-#+begin_src emacs-lisp
-(use-package window
- :init
- (setq display-buffer-alist
- '(
- ("\\*\\(Backtrace\\|Warnings\\|Compile-Log\\|Messages\\)\\*"
- (display-buffer-in-side-window)
- (window-height . 0.16)
- (side . top)
- (slot . 0)
- (window-parameters . ((no-other-window t))))
- (".*\\*Completions.*"
- (display-buffer-in-side-window)
- (window-height . 0.16)
- (side . bottom)
- (slot . 0))
- ("\\*Help.*"
- (display-buffer-in-side-window)
- (window-width . 0.2)
- (side . left)
- (slot . 0)
- (window-parameters . ((no-other-window . t)
- (mode-line-format . (" "
- mode-line-buffer-identification)))))
- )))
+#+begin_src emacs-lisp :noweb-ref window
+(setq display-buffer-alist
+ '(("\\*\\(Backtrace\\|Warnings\\|Compile-Log\\|Messages\\)\\*"
+ (display-buffer-in-side-window)
+ (window-height . 0.16)
+ (side . top)
+ (slot . 0)
+ (window-parameters . ((no-other-window t))))
+ (".*\\*Completions.*"
+ (display-buffer-in-side-window)
+ (window-height . 0.16)
+ (side . bottom)
+ (slot . 0))
+ ("\\*Help.*"
+ (display-buffer-in-side-window)
+ (window-width . 0.2)
+ (side . left)
+ (slot . 0)
+ (window-parameters . ((no-other-window . t)
+ (mode-line-format . (" "
+ mode-line-buffer-identification)))))
+ ))
#+end_src
*** window-numbering
This is a nice package for easy window focus switching. I prefer it
over =windmove=, as it does not interfere with org keybindings.
#+begin_src emacs-lisp
(use-package window-numbering
- :ensure t
+ :straight t
:config (window-numbering-mode 1))
#+end_src
*** Winner-mode
@@ -1531,7 +1607,7 @@ over =windmove=, as it does not interfere with org keybindings.
(use-package epa
:custom (epa-pinentry-mode 'loopback))
(use-package pinentry
- :ensure t
+ :straight t
:config (pinentry-start)
:after epa)
#+end_src
@@ -1596,7 +1672,7 @@ make sure to compile the tex document with the option ~--synctex=1~.
#+BEGIN_SRC emacs-lisp
(use-package pdf-tools
- :ensure t
+ :straight t
:config
(setq pdf-info-epdfinfo-program (concat user-emacs-directory "epdfinfo"))
(pdf-tools-install))
@@ -1621,7 +1697,8 @@ would be better to unbind them only when in ~pdf-view-mode~.
** Latex
#+begin_src emacs-lisp
(use-package auctex
- :ensure t)
+ :no-require t
+ :straight t)
#+end_src
=cdlatex= depends on =texmath.el=. The docstring of =cdlatex= says
@@ -1629,7 +1706,7 @@ would be better to unbind them only when in ~pdf-view-mode~.
does not have it. So =auctex= has to deliver this dependency instead.
#+begin_src emacs-lisp
(use-package cdlatex
- :ensure t
+ :straight t
:custom
(cdlatex-env-alist
(list '("equation*" "\\begin{equation*}\nAUTOLABEL\n?\n\\end{equation*}" nil)
@@ -1642,7 +1719,7 @@ does not have it. So =auctex= has to deliver this dependency instead.
needed.
#+begin_src emacs-lisp
(use-package sotlisp
- :ensure t
+ :straight t
:init
(add-hook 'emacs-lisp-mode-hook 'speed-of-thought-mode))
#+end_src
@@ -1695,9 +1772,8 @@ Hansen's]] configs.
#+begin_src emacs-lisp
(use-package org
- :ensure org-plus-contrib
+ :straight (org-plus-contrib)
:delight (org-cdlatex-mode)
- :defer t
:bind
(("C-c c" . org-capture)
("C-c a" . org-agenda)
@@ -1779,6 +1855,10 @@ Switch projects and subprojects from NEXT back to TODO"
((and (member (org-get-todo-state) (list "NEXT"))
(bh/is-project-p))
"INPROGRESS")))))
+
+<<org-crypt>>
+<<tangle-hook>>
+<<org-crypt-tangle-setup>>
#+end_src
#+begin_src emacs-lisp
(use-package org-indent
@@ -1814,7 +1894,7 @@ Switch projects and subprojects from NEXT back to TODO"
#+end_src
#+BEGIN_SRC emacs-lisp
(use-package org-noter
- :ensure t
+ :straight t
:bind (:map org-mode-map ("C-c o" . org-noter))
:custom (org-noter-default-notes-file-names '("notes.org"))
)
@@ -1826,7 +1906,7 @@ Switch projects and subprojects from NEXT back to TODO"
(org-export-with-broken-links 'match)
(org-export-backends '(ascii beamer html icalendar latex man md odt org groff koma-letter)))
(use-package org-pdftools
- :ensure t
+ :straight t
:hook (org-load . org-pdftools-setup-link))
(use-package org-id
:custom (org-id-link-to-org-use-id 'create-if-interactive-and-no-custom-id))
@@ -1927,7 +2007,7 @@ Switch projects and subprojects from NEXT back to TODO"
Here is a list of nice ones: ◉, ○, ►, •. The default ones are ~'("◉" "○" "✸" "✿")~.
#+begin_src emacs-lisp
(use-package org-bullets
- :ensure t
+ :straight t
:custom (org-bullets-bullet-list '("✧"))
:config (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
#+end_src
@@ -1954,7 +2034,7 @@ Use imagemagick and standalone class for latex preview.
*** org-caldav
#+begin_src emacs-lisp
(use-package org-caldav
- :ensure t
+ :straight t
:custom
(org-caldav-url private/calendar-url)
(org-caldav-calendar-id private/calendar-id)
@@ -1998,7 +2078,7 @@ Use imagemagick and standalone class for latex preview.
**** org-clock-convenience
#+begin_src emacs-lisp
(use-package org-clock-convenience
- :ensure t
+ :straight t
:bind (:map org-agenda-mode-map
("<S-up>" . org-clock-convenience-timestamp-up)
("<S-down>" . org-clock-convenience-timestamp-down)
@@ -2008,7 +2088,7 @@ Use imagemagick and standalone class for latex preview.
*** ox-reveal
#+BEGIN_SRC emacs-lisp
(use-package ox-reveal
- :ensure t)
+ :straight t)
(use-package reveal)
(setq org-reveal-root (concat "file:///home/fpi/" "reveal.js"))
;;(setq org-reveal-root "http://cdn.jsdelivr.net/reveal.js/3.0.0/")
@@ -2037,7 +2117,7 @@ Set some prettify symbols for org mode.
*** org-roam
#+begin_src emacs-lisp
(use-package org-roam
- :ensure t
+ :straight t
:delight
:hook
(after-init . org-roam-mode)
@@ -2053,7 +2133,7 @@ Set some prettify symbols for org mode.
**** org-roam-bibtex
#+begin_src emacs-lisp :tangle no
(use-package org-roam-bibtex
- :ensure t
+ :straight t
:hook (org-roam-mode . org-roam-bibtex-mode)
:bind (:map org-mode-map
(("C-c n a" . orb-note-actions))))
@@ -2068,9 +2148,8 @@ hydra to manage the various =org-edna= properties. I call it in my
explanations checkout his config.
#+begin_src emacs-lisp
(use-package org-edna
- :ensure t
+ :straight t
:after org
- :defer t
:config
(org-edna-load)
(defun org-edna-finder/link-ids (&rest ids)
@@ -2352,7 +2431,7 @@ A small function to toggle the encryption state of the current entry.
**** org-ref
#+begin_src emacs-lisp
(use-package org-ref
- :ensure t
+ :straight t
:custom
(org-ref-bibliography-notes nil)
(org-ref-notes-function 'org-ref-notes-function-many-files)
@@ -2815,7 +2894,7 @@ files about various topics. =Deft= handles searching and file
creation.
#+begin_src emacs-lisp
(use-package deft
- :ensure t
+ :straight t
:custom ((deft-directory "~/git/projects/zettel")
(deft-extensions '("org"))
(deft-default-extension "org")
@@ -2831,7 +2910,7 @@ custom link format.
#+begin_src emacs-lisp
(use-package zetteldeft
- :ensure t
+ :straight t
:bind (:map fpi-map (("d d" . deft)
("d D" . zetteldeft-deft-new-search)
("d R" . deft-refresh)
@@ -2859,7 +2938,7 @@ custom link format.
To open and hide a shell quickly I use =shell-pop=.
#+begin_src emacs-lisp
(use-package shell-pop
- :ensure t
+ :straight t
:bind (("C-!" . shell-pop))
:custom
(shell-pop-shell-type (quote ("eshell" "*eshell*" (lambda nil (eshell))))))
@@ -2890,11 +2969,11 @@ bind a small function to copy a password or a field if called with a
prefix to my custom keymap.
#+BEGIN_SRC emacs-lisp
(use-package pass
- :ensure t)
+ :straight t)
#+END_SRC
#+begin_src emacs-lisp
(use-package password-store
- :ensure t
+ :straight t
:commands (password-store-copy
password-store-edit
password-store-insert)
@@ -2923,19 +3002,19 @@ user: root
#+BEGIN_SRC emacs-lisp
(use-package auth-source-pass
- :ensure t
+ :straight t
:config (auth-source-pass-enable))
#+END_SRC
** Ledger
Here is a good [[https://www.reddit.com/r/emacs/comments/8x4xtt][reddit thread]] about using ledger
#+BEGIN_SRC emacs-lisp
(use-package ledger-mode
- :ensure t
+ :straight t
:init (setq ledger-clear-whole-transactions 1)
:mode "\\.dat\\'"
"\\.ledger\\'")
;; (use-package flycheck-ledger
-;; :ensure t
+;; :straight t
;; :after ledger-mode)
#+END_SRC
@@ -2946,7 +3025,7 @@ transactions. They are defined in [[file:emacs-private.el.gpg::4][emacs-private.
#+BEGIN_SRC emacs-lisp
(use-package elfeed
- :ensure t
+ :straight t
:init
(setq elfeed-db-directory "~/.emacs.d/elfeed")
:custom
@@ -3004,7 +3083,7 @@ Load elfeed org after adding ~my/elfeed-mark-read~ to
first before marking them unread based on their tag.
#+BEGIN_SRC emacs-lisp
(use-package elfeed-org
- :ensure t
+ :straight t
:config
(elfeed-org)
(setq rmh-elfeed-org-files (list "~/.emacs.d/elfeed.org")))
@@ -3092,9 +3171,9 @@ where it comes from.
#+begin_src emacs-lisp
(use-package gnuplot
- :ensure t)
+ :straight t)
(use-package gnuplot-mode
- :ensure t)
+ :straight t)
#+end_src
** HTML renderer
=shr= is the /Simple HTML renderer/ library, which Emacs uses to
@@ -3126,7 +3205,7 @@ tools.
Support for HTML code blocks with proper syntax highlighting. See [[https://github.com/xuchunyang/shr-tag-pre-highlight.el][its GitHub project page]].
#+BEGIN_SRC emacs-lisp
(use-package shr-tag-pre-highlight
- :ensure t
+ :straight t
:after shr
:config
(add-to-list 'shr-external-rendering-functions
@@ -3167,7 +3246,7 @@ I use =msmtp= to send mail.
(use-package mm-decode
:config
(use-package spice-mode
- :ensure t)
+ :straight t)
(defun mm-display-spice-inline (handle)
"Show an spice mode text from HANDLE inline."
(mm-display-inline-fontify handle 'spice-mode))
@@ -3189,7 +3268,7 @@ searching.
- Setup format=flowed
#+BEGIN_SRC emacs-lisp
(use-package notmuch
- :ensure t
+ :straight t
:custom
(notmuch-search-oldest-first nil)
(notmuch-archive-tags '("-inbox" "-td" "+archived"))
@@ -3212,7 +3291,7 @@ message initialization (signature, ...) also have this text property.
For now I use this bad code.
#+BEGIN_SRC emacs-lisp
(use-package messages-are-flowing
- :ensure t
+ :straight t
:config (add-hook 'message-mode-hook 'messages-are-flowing-use-and-mark-hard-newlines))
(defun message-insert-signature (&optional force)
(interactive)
@@ -3280,7 +3359,7 @@ For now I use this bad code.
** BBDB
#+begin_src emacs-lisp
(use-package bbdb
- :ensure t)
+ :straight t)
(bbdb-initialize 'gnus 'message)
(bbdb-mua-auto-update-init 'gnus 'message)
@@ -3600,7 +3679,7 @@ temporary buffer is created.
#+begin_src emacs-lisp :tangle no
(use-package undo-propose
- :ensure t
+ :straight t
:bind (("C-/" . undo-propose)))
#+end_src
** Electric stuff
@@ -3621,3 +3700,9 @@ temporary buffer is created.
(electric-pair-mode 1)
(electric-quote-mode -1))
#+end_src
+* Wrapping up
+
+Some stuff that is run after everything else.
+#+begin_src emacs-lisp
+<<load-theme>>
+#+end_src
diff --git a/gnus.org b/gnus.org
index 7f26fbd..7d6fe19 100644
--- a/gnus.org
+++ b/gnus.org
@@ -245,7 +245,7 @@ See [[info:gnus#Window Layout][info:gnus#Window Layout]].
** nnreddit
#+begin_src emacs-lisp
(use-package nnreddit
- :ensure t)
+ :straight t)
(add-to-list 'gnus-secondary-select-methods '(nnreddit ""))
#+end_src
** Demon
diff --git a/package-versions.el b/package-versions.el
new file mode 100644
index 0000000..c3b58b9
--- /dev/null
+++ b/package-versions.el
@@ -0,0 +1,80 @@
+(("Try" . "8831ded1784df43a2bd56c25ad3d0650cdb9df1d")
+ ("auctex" . "6abf890a485b2ff734d8f87f38393f9b8f6bbbf6")
+ ("auth-password-store" . "ff4940c647786914b3cbef69103d96a4ea334111")
+ ("bbdb" . "45529e315ba861f9df2914f9b88d2f7b991d5595")
+ ("biblio.el" . "eb9baf1d2bf6a073d24ccb717025baa693e98f3e")
+ ("cdlatex" . "480387b39f6ddd9cd2a9511ecee064ad8e1dd324")
+ ("dash.el" . "ea4a4cc7cce7c3b93862a22df8bca8b83052ccbf")
+ ("deft" . "fca9ea05ef4fdac825e2ad3921baa7042f6b82c8")
+ ("delight" . "02e73b69708e23053105866a58fe14f75c272dee")
+ ("diff-hl" . "176f931a9bfc6bc6fc5360c6ed7128ff96b21289")
+ ("dired-du" . "d6571317673ba44566ba411d26b7af74e3139ff7")
+ ("dired-hacks" . "f49a8bbf95f70671a74a24f7f4de453b2686be46")
+ ("dired-sidebar" . "6e569c851418890c21fd37d03a62f85343aa0900")
+ ("elfeed" . "a2cae98b4f04616c06455b6104d2ca5ff4b86867")
+ ("elfeed-org" . "77b6bbf222487809813de260447d31c4c59902c9")
+ ("emacs-async" . "86aef2c38e7d35e8509b7feeee3e989d825eba91")
+ ("emacs-hide-mode-line" . "88888825b5b27b300683e662fa3be88d954b1cea")
+ ("emacs-htmlize" . "86f22f211e9230857197c42a9823d3f05381deed")
+ ("emacs-which-key" . "8b49ae978cceca65967f3544c236f32964ddbed0")
+ ("emacsmirror-mirror" . "006fbf082e52dd33cb842c9d5fb181de12736142")
+ ("emacsql" . "a118b6c95af1306f0288a383d274b5dd93efbbda")
+ ("emacsql-sqlite3" . "1e411fd38a0137553986db209642fe93cae96060")
+ ("epl" . "78ab7a85c08222cd15582a298a364774e3282ce6")
+ ("f.el" . "1814209e2ff43cf2e6d38c4cd476218915f550fb")
+ ("git-auto-commit-mode" . "dd0c2441de0f5ff8c69c8260d9450d0b607e3e55")
+ ("git-identity.el" . "8471e6f8ef6c502dc999e513b552d6b23974d40d")
+ ("gnu-elpa-mirror" . "f07e244acca36061cc03c63463246b848748e804")
+ ("gnuplot" . "f0001c30010b2899e36d7d89046322467e923088")
+ ("gnuplot-mode" . "601f6392986f0cba332c87678d31ae0d0a496ce7")
+ ("helm" . "3ff35503a920d8629cf5c9c07647923661f24ba2")
+ ("helm-bibtex" . "8a0dd9841316793aacddea744d6b8ca4a7857a35")
+ ("hydra" . "8a9124f80b6919ad5288172b3e9f46c5332763ca")
+ ("ibuffer-vc" . "1249c1e30cf11badfe032ac3b1058f24ba510ace")
+ ("key-chord" . "72443e9ff3c4f1c3ccaced3130236801efde3d83")
+ ("language-detection.el" . "54a6ecf55304fba7d215ef38a4ec96daff2f35a4")
+ ("ledger-mode" . "f8463744191b4feb9fea54190917663f7ba26102")
+ ("let-alist" . "ef3c02fa292b6e32769945bbbfb7f2e5ac574b64")
+ ("magit" . "c9b9afe8b6e92bee763ed1f6843766efaf87094d")
+ ("magit-gitflow" . "cc41b561ec6eea947fe9a176349fb4f771ed865b")
+ ("magit-popup" . "b8e886c4f2242d6c58f84d4549af712e86360db1")
+ ("melpa" . "ee055cc258692a92f727633306adf7df31267479")
+ ("messages-are-flowing" . "d582a564a63b7b90764ffc5c618bc5300225d0ab")
+ ("nadvice" . "2dfcf614dc5472fb21e48f93d0ebb4546276377f")
+ ("notmuch" . "963e363a234f1c8bdf1ae68956f80a2538bee7dc")
+ ("org" . "a8cc4f72441acd468f400aeb53549735d698f84c")
+ ("org-bullets" . "767f55feb58b840a5a04eabfc3fbbf0d257c4792")
+ ("org-caldav" . "8569941a0a5a9393ba51afc8923fd7b77b73fa7a")
+ ("org-clock-convenience" . "4e522706a90a504c75d377161005f9543575ea02")
+ ("org-edna" . "8a14af7baadb3e4021d40e2b4ebdcee66dab4783")
+ ("org-noter" . "9ead81d42dd4dd5074782d239b2efddf9b8b7b3d")
+ ("org-pdftools" . "8cc15bb8014ed1f047eecc0abd8bf447f86c0505")
+ ("org-ref" . "9465abc54a296b4b2f745b4bb3a28ec4dad3a0cb")
+ ("org-reveal" . "84039bb499290926511b04749882ecb5eda45a0c")
+ ("org-roam" . "87403b330ce713a892e3e35ff4174a8e2727e24d")
+ ("parsebib" . "3497b6068d78ae15ba1eaf94e4315d18e9ae6b00")
+ ("pass" . "919d8e3826d556433ab67d4ee21a509d209d1baa")
+ ("password-store" . "07b169ec32ad6961ed8625a0b932a663abcb01d2")
+ ("password-store-otp.el" . "04998c8578a060ab4a4e8f46f2ee0aafad4ab4d5")
+ ("pdf-tools" . "c510442ab89c8a9e9881230eeb364f4663f59e76")
+ ("peep-dired" . "1d410a4e48db07a942e54d3b83a85c7a7ec0aab3")
+ ("pinentry" . "cd942f755c38a7ac270ce858bb887ebdd59edd26")
+ ("pkg-info" . "76ba7415480687d05a4353b27fea2ae02b8d9d61")
+ ("popup-el" . "9d104d4bbbcb37bbc9d9ce762e74d41174683f86")
+ ("projectile" . "33bc91e7518fb8cecd89580f16e0ac21799de2c2")
+ ("s.el" . "43ba8b563bee3426cead0e6d4ddc09398e1a349d")
+ ("shell-pop-el" . "4b4394037940a890a313d715d203d9ead2d156a6")
+ ("shr-tag-pre-highlight.el" . "6182f43a36b0f82ba6edcf6e423b5f69a46a814e")
+ ("spacemacs-theme" . "6c26717c0ec64af08ab3fd81e88ef03003543c5d")
+ ("speed-of-thought-lisp" . "ed2356a325c7a4a88ec1bd31381c8666e8997e97")
+ ("spice-mode" . "e5e0644f03f9696f56dd69e2b6979da7f30ed600")
+ ("straight.el" . "a7f94876b2bf96d2595706270be6630ecc94f0d3")
+ ("swiper" . "f8b1ab8c0ec331a4f8f6621f9021811075c71332")
+ ("tablist" . "faab7a035ef2258cc4ea2182f67e3aedab7e2af9")
+ ("transient" . "88d935c7cb9f175871c4cfea7eef2c0514d03b06")
+ ("use-package" . "d2640fec376a8458a669e7526e63e5870d875118")
+ ("use-package-hydra" . "8cd55a1128fbdf6327bb38a199d206225896d146")
+ ("window-numbering.el" . "10809b3993a97c7b544240bf5d7ce9b1110a1b89")
+ ("with-editor" . "48ca9bb49a1a7a37e85606de9d327a14030d4380")
+ ("zetteldeft" . "19943a39e1c5f53dae6fac107ce3a7d2e4c5f2f8"))
+:alpha