From 953de5b7764a96ec1ab08fd5443cbe878893fbfb Mon Sep 17 00:00:00 2001 From: fpi Date: Sun, 14 Jun 2020 14:23:33 +0200 Subject: Switch to straight.el --- emacs-init.org | 46 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/emacs-init.org b/emacs-init.org index 2f5e448..ba85711 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 @@ -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) +<> + +;; package.el to enable use of list-packages +<> ;; (setq safe-local-variable-values (list (cons 'buffer-auto-save-file-name nil) ;; (cons 'header-line-format " "))) (setq vc-follow-symlinks t) @@ -116,22 +118,44 @@ 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 *** 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 -- cgit v1.2.3 From 55af7c75d1ddf8fdaccc897585d421c28d050d34 Mon Sep 17 00:00:00 2001 From: fpi Date: Sun, 14 Jun 2020 14:28:06 +0200 Subject: Convert :ensure to :straight --- emacs-init.org | 112 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/emacs-init.org b/emacs-init.org index ba85711..d8500ce 100644 --- a/emacs-init.org +++ b/emacs-init.org @@ -160,12 +160,12 @@ with other package definition and customization. *** 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 @@ -174,7 +174,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 @@ -185,7 +185,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. @@ -207,7 +207,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 @@ -218,7 +218,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)) @@ -1070,7 +1070,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)) @@ -1079,7 +1079,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) @@ -1187,7 +1187,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) @@ -1197,7 +1197,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))) @@ -1222,7 +1222,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)) @@ -1259,7 +1259,7 @@ target dir). #+BEGIN_SRC emacs-lisp (use-package dired-subtree - :ensure t + :straight t :after dired :bind (:map dired-mode-map ("" . dired-subtree-toggle) @@ -1271,7 +1271,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 () @@ -1287,7 +1287,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 @@ -1303,7 +1303,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 @@ -1343,7 +1343,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 @@ -1351,7 +1351,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) @@ -1366,7 +1366,7 @@ navigate and revert hunks directly from the buffer. Use =g= to open #+begin_src emacs-lisp (use-package diff-hl - :ensure t + :straight t :defer t :bind (:map fpi-map ("g" . hydra-diff-hl/body)) :init (global-diff-hl-mode 1) @@ -1403,7 +1403,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 @@ -1419,7 +1419,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/")) @@ -1460,7 +1460,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 () @@ -1472,7 +1472,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 " " @@ -1532,7 +1532,7 @@ 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 @@ -1555,7 +1555,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 @@ -1620,7 +1620,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)) @@ -1645,7 +1645,7 @@ would be better to unbind them only when in ~pdf-view-mode~. ** Latex #+begin_src emacs-lisp (use-package auctex - :ensure t) + :straight t) #+end_src =cdlatex= depends on =texmath.el=. The docstring of =cdlatex= says @@ -1653,7 +1653,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) @@ -1666,7 +1666,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 @@ -1838,7 +1838,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")) ) @@ -1850,7 +1850,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)) @@ -1951,7 +1951,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 @@ -1978,7 +1978,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) @@ -2022,7 +2022,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 ("" . org-clock-convenience-timestamp-up) ("" . org-clock-convenience-timestamp-down) @@ -2032,7 +2032,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/") @@ -2061,7 +2061,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) @@ -2077,7 +2077,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)))) @@ -2092,7 +2092,7 @@ 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 @@ -2376,7 +2376,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) @@ -2839,7 +2839,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") @@ -2855,7 +2855,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) @@ -2883,7 +2883,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)))))) @@ -2914,11 +2914,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) @@ -2947,19 +2947,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 @@ -2970,7 +2970,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 @@ -3028,7 +3028,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"))) @@ -3116,9 +3116,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 @@ -3150,7 +3150,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 @@ -3191,7 +3191,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)) @@ -3213,7 +3213,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")) @@ -3236,7 +3236,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) @@ -3304,7 +3304,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) @@ -3624,7 +3624,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 -- cgit v1.2.3 From 71e791e925cb44aac6649023d5c48e8e693e5481 Mon Sep 17 00:00:00 2001 From: fpi Date: Sun, 14 Jun 2020 14:48:20 +0200 Subject: Remove :defer keywords --- emacs-init.org | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/emacs-init.org b/emacs-init.org index d8500ce..913e171 100644 --- a/emacs-init.org +++ b/emacs-init.org @@ -1367,7 +1367,6 @@ navigate and revert hunks directly from the buffer. Use =g= to open #+begin_src emacs-lisp (use-package diff-hl :straight t - :defer 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) @@ -1719,9 +1718,9 @@ Hansen's]] configs. #+begin_src emacs-lisp (use-package org - :ensure org-plus-contrib + ;; :ensure org-plus-contrib + :straight t :delight (org-cdlatex-mode) - :defer t :bind (("C-c c" . org-capture) ("C-c a" . org-agenda) @@ -2094,7 +2093,6 @@ explanations checkout his config. (use-package org-edna :straight t :after org - :defer t :config (org-edna-load) (defun org-edna-finder/link-ids (&rest ids) -- cgit v1.2.3 From 1ccd611b0639238dbd4aab21f28a745f9c6875cd Mon Sep 17 00:00:00 2001 From: fpi Date: Sun, 14 Jun 2020 14:48:30 +0200 Subject: Add relevant straight.el documentation excerpts --- emacs-init.org | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/emacs-init.org b/emacs-init.org index 913e171..203a182 100644 --- a/emacs-init.org +++ b/emacs-init.org @@ -153,6 +153,50 @@ with other package definition and customization. (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) #+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 (straight-use-package 'use-package) -- cgit v1.2.3 From 7436c81b662994312cf3d4078b96337538380e86 Mon Sep 17 00:00:00 2001 From: fpi Date: Mon, 15 Jun 2020 08:11:14 +0200 Subject: Update odd package specifications & reorder loading - To make sure org is loaded with straight any org-crypt stuff is moved back. - load-theme is moved to the end to ensure pdf-tools is loaded beforehand. - Fix various other warnings --- emacs-init.org | 105 ++++++++++++++++++++++++++++++++++----------------------- gnus.org | 2 +- 2 files changed, 63 insertions(+), 44 deletions(-) diff --git a/emacs-init.org b/emacs-init.org index 203a182..5ecd5b8 100644 --- a/emacs-init.org +++ b/emacs-init.org @@ -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))) @@ -153,6 +153,10 @@ with other package definition and customization. (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 @@ -301,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= @@ -891,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. @@ -1538,37 +1547,37 @@ 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 + <> + :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 @@ -1688,6 +1697,7 @@ would be better to unbind them only when in ~pdf-view-mode~. ** Latex #+begin_src emacs-lisp (use-package auctex + :no-require t :straight t) #+end_src @@ -1762,8 +1772,7 @@ Hansen's]] configs. #+begin_src emacs-lisp (use-package org - ;; :ensure org-plus-contrib - :straight t + :straight (org-plus-contrib) :delight (org-cdlatex-mode) :bind (("C-c c" . org-capture) @@ -1846,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"))))) + +<> +<> +<> #+end_src #+begin_src emacs-lisp (use-package org-indent @@ -3687,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 +<> +#+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 -- cgit v1.2.3 From 691d1247eef78ff1ef2ebc545977464e131e696b Mon Sep 17 00:00:00 2001 From: fpi Date: Mon, 15 Jun 2020 08:13:11 +0200 Subject: Add frozen straight package-versions --- package-versions.el | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 package-versions.el 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 -- cgit v1.2.3