Compare commits
12 Commits
6d563572d2
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9903f5bed5 | |||
| 7425547c74 | |||
|
c7b7d1f086
|
|||
|
327c2f94c5
|
|||
|
68d71a6fe2
|
|||
|
2d655e06bd
|
|||
|
ecfa2ce7d8
|
|||
|
c4dc41f881
|
|||
|
11277ea67a
|
|||
|
ec29b8ca0e
|
|||
|
788ab5e5eb
|
|||
|
aa64a52205
|
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Basic Configuration
|
#+title: Emacs — Basic Configuration
|
||||||
#+setupfile: ../headers
|
#+setupfile: ../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/basic-config.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/basic-config.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Basic Configuration
|
* Basic Configuration
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Custom Elisp
|
#+title: Emacs — Custom Elisp
|
||||||
#+setupfile: ../headers
|
#+setupfile: ../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/custom-elisp.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/custom-elisp.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Custom Elisp
|
* Custom Elisp
|
||||||
|
|||||||
+19
-52
@@ -78,8 +78,6 @@ block.
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Loading All Configuration Modules
|
** Loading All Configuration Modules
|
||||||
Here are all my Emacs configuration modules, each dedicated to a
|
|
||||||
specific aspect of my Emacs configuration.
|
|
||||||
|
|
||||||
#+name: emacs-modules
|
#+name: emacs-modules
|
||||||
| Module Name | Config Page |
|
| Module Name | Config Page |
|
||||||
@@ -100,58 +98,27 @@ specific aspect of my Emacs configuration.
|
|||||||
| =visual-config.el= | [[file:./packages/visual-config.org][Packages — Visual Configuration]] |
|
| =visual-config.el= | [[file:./packages/visual-config.org][Packages — Visual Configuration]] |
|
||||||
| =keybindings.el= | [[file:./keybindings.org][Keybindings]] |
|
| =keybindings.el= | [[file:./keybindings.org][Keybindings]] |
|
||||||
|
|
||||||
#+name: modules
|
#+name: generate-modules
|
||||||
#+begin_src emacs-lisp :tangle no :cache yes :var modules=emacs-modules :exports none :results list
|
#+begin_src emacs-lisp :tangle no :cache yes :var modules=emacs-modules :exports none
|
||||||
(mapcar (lambda (module) (string-trim (car module) "=" "="))
|
(mapconcat (lambda (line)
|
||||||
modules)
|
(concat "\"" (string-trim (car line) "=" "=") "\""))
|
||||||
|
modules
|
||||||
|
" ")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+RESULTS[1c6034eb268577137e95a6f828c249fc306943b1]: modules
|
#+RESULTS[05f9bb535bec2ba84390cc118600323683f51e7c]: generate-modules
|
||||||
- basic-config.el
|
: "basic-config.el" "custom-elisp.el" "package-manager.el" "keybinding-managers.el" "applications.el" "autocompletion.el" "editing.el" "emacs-builtin.el" "helpful.el" "latex.el" "misc.el" "org.el" "programming.el" "visual-config.el" "keybindings.el"
|
||||||
- custom-elisp.el
|
|
||||||
- package-manager.el
|
|
||||||
- keybinding-managers.el
|
|
||||||
- applications.el
|
|
||||||
- autocompletion.el
|
|
||||||
- editing.el
|
|
||||||
- emacs-builtin.el
|
|
||||||
- helpful.el
|
|
||||||
- latex.el
|
|
||||||
- misc.el
|
|
||||||
- org.el
|
|
||||||
- programming.el
|
|
||||||
- visual-config.el
|
|
||||||
- keybindings.el
|
|
||||||
|
|
||||||
The first thing Emacs does is verify if any of these modules need to
|
#+begin_src emacs-lisp :noweb yes
|
||||||
be byte-compiled again, i.e. if the =.el= file is younger than its
|
(dolist (module '(<<generate-modules()>>))
|
||||||
corresponding =.elc= file. If so, the =.el= file is byte-compiled.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp :var modules=modules :results none
|
|
||||||
(defun my/mtime (file)
|
|
||||||
"Get the modification time of FILE as a timestamp."
|
|
||||||
(let* ((current-time-list nil)
|
|
||||||
(attr (file-attributes file))
|
|
||||||
(time-attr (file-attribute-modification-time attr)))
|
|
||||||
(/ (car time-attr) (cdr time-attr))))
|
|
||||||
|
|
||||||
;; `modules' is a variable created by org-mode from the table of modules
|
|
||||||
(let* ((config-dir (expand-file-name "user-lisp" user-emacs-directory))
|
|
||||||
(modules (mapcar (lambda (module)
|
|
||||||
(file-name-sans-extension (expand-file-name module config-dir)))
|
|
||||||
modules)))
|
|
||||||
(dolist (module modules)
|
|
||||||
(let* ((el-file (concat module ".el"))
|
|
||||||
(elc-file (concat module ".elc"))
|
|
||||||
(el-last-change (my/mtime el-file))
|
|
||||||
(elc-last-change (if (file-exists-p elc-file) (my/mtime elc-file) 0)))
|
|
||||||
(when (> el-last-change elc-last-change)
|
|
||||||
(byte-compile-file el-file)))))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Now we can load them.
|
|
||||||
#+begin_src emacs-lisp :var modules=modules :results none
|
|
||||||
(dolist (module (mapcar #'file-name-sans-extension modules))
|
|
||||||
(load (expand-file-name module
|
(load (expand-file-name module
|
||||||
(expand-file-name "user-lisp" user-emacs-directory))))
|
(expand-file-name "lisp" user-emacs-directory))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* TODOs :noexport:
|
||||||
|
** TODO advise ~evil-insert~ in eshell
|
||||||
|
Advise ~evil-insert~ to go to the end of the buffer while in
|
||||||
|
~eshell-mode~.
|
||||||
|
|
||||||
|
** DONE Get started with org-roam
|
||||||
|
CLOSED: [2023-06-17 Sat 13:38]
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Keybinding Managers
|
#+title: Emacs — Keybinding Managers
|
||||||
#+setupfile: ../headers
|
#+setupfile: ../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/keybinding-managers.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/keybinding-managers.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Keybinding Managers
|
* Keybinding Managers
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Keybindings
|
#+title: Emacs — Keybindings
|
||||||
#+setupfile: ../headers
|
#+setupfile: ../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/keybindings.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/keybindings.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Keybindings
|
* Keybindings
|
||||||
@@ -263,7 +263,7 @@ I also have some keybindings dedicated to opening specific files.
|
|||||||
"fI" '((lambda ()
|
"fI" '((lambda ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(quick-find-files nil
|
(quick-find-files nil
|
||||||
(expand-file-name "user-lisp" user-emacs-directory)
|
(expand-file-name "lisp" user-emacs-directory)
|
||||||
"el"))
|
"el"))
|
||||||
:which-key "elisp config"
|
:which-key "elisp config"
|
||||||
:package quick-find-files)
|
:package quick-find-files)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Package Manager
|
#+title: Emacs — Package Manager
|
||||||
#+setupfile: ../headers
|
#+setupfile: ../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/package-manager.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/package-manager.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Package Manager
|
* Package Manager
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — Applications
|
#+title: Emacs — Packages — Applications
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/applications.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/applications.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Applications
|
* Applications
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — Autocompletion
|
#+title: Emacs — Packages — Autocompletion
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/autocompletion.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/autocompletion.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Autocompletion
|
* Autocompletion
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — Editing
|
#+title: Emacs — Packages — Editing
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/editing.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/editing.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — Emacs Built-ins
|
#+title: Emacs — Packages — Emacs Built-ins
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/emacs-builtin.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/emacs-builtin.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — EXWM (Deprecated)
|
#+title: Emacs — Packages — EXWM (Deprecated)
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/exwm.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/exwm.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* EXWM (Deprecated)
|
* EXWM (Deprecated)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — Making My Life Easier
|
#+title: Emacs — Packages — Making My Life Easier
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/helpful.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/helpful.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Making my life easier
|
* Making my life easier
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — LaTeX
|
#+title: Emacs — Packages — LaTeX
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/latex.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/latex.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* LaTeX
|
* LaTeX
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — Misc
|
#+title: Emacs — Packages — Misc
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/misc.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/misc.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Misc
|
* Misc
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — Org Mode
|
#+title: Emacs — Packages — Org Mode
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/org.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/org.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Org-mode
|
* Org-mode
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — Programming
|
#+title: Emacs — Packages — Programming
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/programming.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/programming.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Programming
|
* Programming
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — Visual Configuration
|
#+title: Emacs — Packages — Visual Configuration
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/user-lisp/visual-config.el
|
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/visual-config.el
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* Visual Configuration
|
* Visual Configuration
|
||||||
|
|||||||
Generated
+504
-262
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user