:END:
This org file is my literate configuration for GNU Emacs, and is
-tangled to [[./init.el][init.el]]. Packages are installed and managed using [[https://github.com/emacscollective/borg][Borg]].
-
-** Installation
+tangled to [[./init.el][init.el]]. Packages are installed and managed using
+[[https://github.com/emacscollective/borg][Borg]]. Over the years, I've taken inspiration from configurations of
+many different people. Some of the configurations that I can remember
+off the top of my head are:
+
+- [[https://github.com/dieggsy/dotfiles][dieggsy/dotfiles]]: literate Emacs and dotfiles configuration, uses
+ straight.el for managing packages
+- [[https://github.com/dakra/dmacs][dakra/dmacs]]: literate Emacs configuration, using Borg for managing
+ packages
+- [[http://pages.sachachua.com/.emacs.d/Sacha.html][Sacha Chua's literate Emacs configuration]]
+- [[https://github.com/dakrone/eos][dakrone/eos]]
+- Ryan Rix's [[http://doc.rix.si/cce/cce.html][Complete Computing Environment]] ([[http://doc.rix.si/projects/fsem.html][about cce]])
+- [[https://github.com/jwiegley/dot-emacs][jwiegley/dot-emacs]]: nix-based configuration
+- [[https://github.com/wasamasa/dotemacs][wasamasa/dotemacs]]
+- [[https://github.com/hlissner/doom-emacs][Doom Emacs]]
I'd like to have a fully reproducible Emacs setup (part of the reason
why I store my configuration in this repository) but unfortunately out
window manager (via EXWM) and coming from bspwm, I'm too used to
having fast startup times.
+** Installation
+
+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]]
*** 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
-(fringe-mode '(3 . 1))
+;; (fringe-mode '(3 . 1))
#+end_src
*** Disable disabled commands
*** [[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]]
**** 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
-;; (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
-;; (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=