diff options
Diffstat (limited to 'readme.org')
-rw-r--r-- | readme.org | 92 |
1 files changed, 16 insertions, 76 deletions
@@ -1,78 +1,18 @@ #+title: Emacs configuration and personal packages -#+property: header-args :tangle ~/.emacs.d/init.el :comments no :results silent -#+auto_tangle: t -* Bootstrap - This is the emacs standard init file, which will load (maybe - tangled) the file [[./init.org][init.org]], checking first whether a fresh tangle is - needed. Note that the rest of elisp tangling in init.org goes to a - different file (namely, the one that is loaded by - =~/.emacs.d/init.el=). - - However, also note that if [[https://github.com/jingtaozf/literate-elisp/blob/master/literate-elisp.org][literate-elisp]] is installed, we load - instead the org file, directly. It's because of that that we start - by setting up packages. A drawback of literate-elisp is that it - only knows how to load with lexical binding set to nil, so i tend to - prefer just loading tangled .el files. The packages [[https://github.com/yilkalargaw/org-auto-tangle][org-auto-tangle]] - (to asyncronously generate those files) and [[https://github.com/oantolin/embark][embark]] (to easily - navigate between the two flavours) come in handy in that scenario. - - Here's the directory where a checkout of this repo lives: - - #+begin_src emacs-lisp - (defvar jao-emacs-dir (expand-file-name "~/etc/emacs")) - #+end_src - - followed by package.el's initialisation: - - #+begin_src emacs-lisp - (setq package-user-dir - (expand-file-name (format "~/.emacs.d/elpa.%s" emacs-major-version)) - package-check-signature 'allow-unsigned) - - (require 'package) - (dolist (a '(("melpa" . "https://melpa.org/packages/") - ("gnu-devel" . "https://elpa.gnu.org/devel/"))) - (add-to-list 'package-archives a t)) - (setf (alist-get "gnu" package-archives nil t #'string=) nil) - - (package-initialize) - #+end_src - - and a tangling helper: - - #+begin_src emacs-lisp - (require 'org) - (defun jao-load-org (file) - (let ((file (concat (file-name-sans-extension file) ".org"))) - (org-babel-load-file (expand-file-name file jao-emacs-dir)))) - #+end_src - - Finally, we load either init.org or its tangled version from - ~jao-emacs-dir~: - - #+begin_src emacs-lisp - (jao-load-org "init") - #+end_src - - You can tangle this readme to generate the minimal init.el file above. - -* Configuration as a set of literate files - -- [[./init.org][init.org]]: main configuration as a literate org file; it uses - (besides lots of packages), many of my libraries in [[./lib][lib]], and loads - on demand the other org files below. -- [[./completion.org][completion.org]]: completion setup using corfu, vertico, consult and - friends. -- [[./org.org][org.org]] org mode configuration. -- [[./blog.org][blog.org]]: blogging using org-static-blog. -- [[./email.org][email.org]]: email handling in emacs. -- [[./gnus.org][gnus.org]]: email using gnus. -- [[./notmuch.org][notmuch.org]]: email using notmuch. -- [[./eww.org][eww.org]]: browsing with eww. -- [[./exwm.org][exwm.org]]: configuration for exwm, loaded when ~jao-exwmn-enable~ is - called. - -The [[./attic][attic]] contains other literate configuration files not currently -used by init.org, like [[./attic/counsel.org][counsel.org]] for old ivy-based completion, or -[[file:attic/w3m.org][w3m.org]] for an emacs-w3m configuration i used for many years. +- [[./init.el][init.el]]: main init file; it uses (besides ELPA packages loaded via + ~use-package~), my unpackaged libraries in [[./lib][lib]], and loads on demand + the other custom files below. + +- [[./custom/jao-custom-completion.el][custom/jao-custom-completion.el]]: completion setup using vertico, + consult and friends. +- [[./custom/jao-custom-org.el][custom/jao-custom-org.el]] org mode configuration. +- [[./custom/jao-custom-blog.el][custom/jao-custom-blog.el]]: blogging using org-static-blog. +- [[./custom/jao-custom-email.el][custom/jao-custom-email.el]]: generic email handling in emacs. +- [[./custom/jao-custom-notmuch.el][custom/jao-custom-notmuch.el]]: notmuch-specific configuration. +- [[./custom/jao-custom-eww.el][custom/jao-custom-eww.el]]: browsing with eww. +- [[./custom/jao-custom-exwm.el][custom/jao-custom-exwm.el]]: configuration for exwm. + +The [[./attic][attic]] contains other configuration files not currently used by +~init.el~, some of them (in the [[file:attic/orgs/][orgs subdir]]) using a literate babel org +format i used to use. |