|
17 hours ago | |
---|---|---|
data | 4 weeks ago | |
lib | 17 hours ago | |
.gitignore | 4 weeks ago | |
blog.org | 2 days ago | |
consult.org | 18 hours ago | |
counsel.org | 4 weeks ago | |
exwm.org | 5 days ago | |
gnus.org | 2 weeks ago | |
init.org | 18 hours ago | |
org.org | 18 hours ago | |
readme.org | 2 weeks ago |
Emacs configuration and personal packages
This is the emacs standard init file, which will load (maybe
tangled) init.org the file, 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 literate-elisp is
installed, we load instead directly the org file. It's because of
that that we start by setting up packages.
Here's the directory where a checkout of this repo live:
(defvar jao-emacs-dir (expand-file-name "~/etc/emacs"))
followed by package.el's initialisation:
(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/") ("org" . "https://orgmode.org/elpa/"))) (add-to-list 'package-archives a t)) (package-initialize)
and a tangling helper:
(defun jao-maybe-tangle (basename) (let ((el (expand-file-name (format "%s.el" basename) jao-emacs-dir)) (org (expand-file-name (format "%s.org" basename) jao-emacs-dir))) (when (file-newer-than-file-p org el) (require 'ob-tangle) (org-babel-tangle-file org el)) el))
Finally, we load either init.org or its tangled version from
jao-emacs-dir
:
(if (require 'literate-elisp nil t) (literate-elisp-load-file (expand-file-name "init.org" jao-emacs-dir)) (load-file (jao-maybe-tangle "init")))
You can tangle this readme to generate the minimal init.el file above.
init.org: main configuration as a literate org file; it uses (besides lots of packages), many of my libraries in lib, and loads on demand the other org files below.
org.org org mode configuration.
consult.org: completion setup using selectrum, consult and friends.
counsel.org: completion setup using ivy, counsel and friends.
blog.org: blogging using org-static-blog.
gnus.org: tangled to gnus.el automatically by init.org, so that it's ready for loading by Gnus.
exwm.org: configuration for exwm, loaded when jao-exwmn-enable
is
called.