add some documentation
[~bandali/configs] / init.org
index 371ec1e..e5149a3 100644 (file)
--- a/init.org
+++ b/init.org
@@ -22,13 +22,26 @@ to my init time; which is unacceptable for me: I use Emacs as my
 window manager (via EXWM) and coming from bspwm, I'm too used to
 having fast startup times.
 
 window manager (via EXWM) and coming from bspwm, I'm too used to
 having fast startup times.
 
+To use this config for your Emacs, first you need to clone this repo,
+then bootstrap Borg, tell Borg to retrieve package submodules, and
+byte-compiled the packages. Something along these lines should work:
+
+#+begin_src sh
+git clone https://github.com/aminb/dotfiles ~/.emacs.d
+cd ~/.emacs.d
+make bootstrap-borg
+make tangle-init
+make bootstrap
+make build
+#+end_src
+
 * Contents                                                   :toc_1:noexport:
 
 - [[#about][About]]
 - [[#header][Header]]
 - [[#initial-setup][Initial setup]]
 - [[#core][Core]]
 * Contents                                                   :toc_1:noexport:
 
 - [[#about][About]]
 - [[#header][Header]]
 - [[#initial-setup][Initial setup]]
 - [[#core][Core]]
-- [[#post-init][Post initialization]]
+- [[#post-initialization][Post initialization]]
 - [[#footer][Footer]]
 
 * Header
 - [[#footer][Footer]]
 
 * Header
@@ -264,7 +277,6 @@ contain the mess.
         `((".*" ,(no-littering-expand-var-file-name "auto-save/") t))))
 #+end_src
 
         `((".*" ,(no-littering-expand-var-file-name "auto-save/") t))))
 #+end_src
 
-
 ** Custom file (=custom.el=)
 
 I'm not planning on using the custom file much, but even so, I
 ** Custom file (=custom.el=)
 
 I'm not planning on using the custom file much, but even so, I
@@ -287,15 +299,15 @@ Let's use [[https://github.com/purcell/exec-path-from-shell][exec-path-from-shel
 in my shell.
 
 #+begin_src emacs-lisp
 in my shell.
 
 #+begin_src emacs-lisp
-;; (use-package exec-path-from-shell
-;;   :defer 1
-;;   :init
-;;   (setq exec-path-from-shell-check-startup-files nil)
-;;   :config
-;;   (exec-path-from-shell-initialize)
-;;   ;; while we're at it, let's fix access to our running ssh-agent
-;;   (exec-path-from-shell-copy-env "SSH_AGENT_PID")
-;;   (exec-path-from-shell-copy-env "SSH_AUTH_SOCK"))
+(use-package exec-path-from-shell
+  :defer 1
+  :init
+  (setq exec-path-from-shell-check-startup-files nil)
+  :config
+  (exec-path-from-shell-initialize)
+  ;; while we're at it, let's fix access to our running ssh-agent
+  (exec-path-from-shell-copy-env "SSH_AGENT_PID")
+  (exec-path-from-shell-copy-env "SSH_AUTH_SOCK"))
 #+end_src
 
 ** Server
 #+end_src
 
 ** Server
@@ -322,11 +334,11 @@ See [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.htm
 
 *** Smaller fringe
 
 
 *** Smaller fringe
 
-Set fringe to a small value so we don't have big borders in EXWM, but
-can still see the =diff-hl= colors in the fringe.
+Might want to set the fringe to a smaller value, especially if using
+EXWM. I'm fine with the default for now.
 
 #+begin_src emacs-lisp
 
 #+begin_src emacs-lisp
-(fringe-mode '(3 . 1))
+;; (fringe-mode '(3 . 1))
 #+end_src
 
 *** Disable disabled commands
 #+end_src
 
 *** Disable disabled commands
@@ -461,14 +473,15 @@ Roll your own modal mode
 *** [[https://github.com/ch11ng/exwm][EXWM]] (window manager)
 
 #+begin_src emacs-lisp
 *** [[https://github.com/ch11ng/exwm][EXWM]] (window manager)
 
 #+begin_src emacs-lisp
-;; (use-package exwm
-;;   :config
-;;   (require 'exwm-config)
-;;   (exwm-config-default)
-;;   (require 'exwm-systemtray)
-;;   (exwm-systemtray-enable)
-;;   (require 'exwm-randr)
-;;   (exwm-randr-enable))
+(use-package exwm
+  :demand t
+  :config
+  (require 'exwm-config)
+  (exwm-config-default)
+  (require 'exwm-systemtray)
+  (exwm-systemtray-enable)
+  (require 'exwm-randr)
+  (exwm-randr-enable))
 #+end_src
 
 *** [[https://orgmode.org/][Org mode]]
 #+end_src
 
 *** [[https://orgmode.org/][Org mode]]
@@ -520,39 +533,40 @@ There's no way I could top that, so I won't attempt to.
 **** Ivy
 
 #+begin_src emacs-lisp
 **** Ivy
 
 #+begin_src emacs-lisp
-;; (use-package ivy
-;;   :bind
-;;   (:map ivy-minibuffer-map
-;;         ([escape] . keyboard-escape-quit)
-;;         ("C-j"    . ivy-next-line)
-;;         ("C-k"    . ivy-previous-line)
-;;         ([S-up]   . ivy-previous-history-element)
-;;         ([S-down] . ivy-next-history-element)
-;;         ("DEL"    . ivy-backward-delete-char))
-;;   :config
-;;   (ivy-mode 1))
+(use-package ivy
+  :bind
+  (:map ivy-minibuffer-map
+        ([escape] . keyboard-escape-quit)
+        ("C-j"    . ivy-next-line)
+        ("C-k"    . ivy-previous-line)
+        ([S-up]   . ivy-previous-history-element)
+        ([S-down] . ivy-next-history-element)
+        ("DEL"    . ivy-backward-delete-char))
+  :config
+  (ivy-mode 1))
 #+end_src
 
 **** Swiper
 
 #+begin_src emacs-lisp
 #+end_src
 
 **** Swiper
 
 #+begin_src emacs-lisp
-;; (use-package swiper
-;;   :bind (([remap isearch-forward]  . swiper)
-;;      ([remap isearch-backward] . swiper)))
+(use-package swiper
+  :bind (([remap isearch-forward]  . swiper)
+        ([remap isearch-backward] . swiper)))
 #+end_src
 
 **** Counsel
 
 #+begin_src emacs-lisp
 #+end_src
 
 **** Counsel
 
 #+begin_src emacs-lisp
-;; (use-package counsel
-;;   :bind (([remap execute-extended-command] . counsel-M-x)
-;;      ([remap find-file] . counsel-find-file)
-;;      ("s-r"     . counsel-recentf)
-;;      :map minibuffer-local-map
-;;      ("C-r" . counsel-minibuffer-history))
-;;   :config
-;;   (counsel-mode 1)
-;;   (defalias 'locate #'counsel-locate))
+(use-package counsel
+  :defer 1.5
+  :bind (([remap execute-extended-command] . counsel-M-x)
+         ([remap find-file] . counsel-find-file)
+         ("s-r"     . counsel-recentf)
+         :map minibuffer-local-map
+        ("C-r" . counsel-minibuffer-history))
+  :config
+  (counsel-mode 1)
+  (defalias 'locate #'counsel-locate))
 #+end_src
 
 * Borg's =layer/essentials=
 #+end_src
 
 * Borg's =layer/essentials=
@@ -638,7 +652,7 @@ TODO: break this giant source block down into individual org sections.
 
 * Post initialization
 :PROPERTIES:
 
 * Post initialization
 :PROPERTIES:
-:CUSTOM_ID: post-init
+:CUSTOM_ID: post-initialization
 :END:
 
 Display how long it took to load the init file.
 :END:
 
 Display how long it took to load the init file.