X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/7538956fa487b757a40080ee145b9e2abb4142c6..e602de376faa029e9ff7bb1240b60b0c73bf97e0:/init.org diff --git a/init.org b/init.org index 55e8269..96a9d6f 100644 --- a/init.org +++ b/init.org @@ -9,9 +9,21 @@ :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 @@ -22,6 +34,21 @@ 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. +** 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 :tangle no +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]] @@ -319,13 +346,34 @@ See [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.htm ** Defaults +*** Time and battery in mode-line + +Enable displaying time and battery in the mode-line, since I'm not +using the Xfce panel anymore. Also, I don't need to see the load +average on a regular basis, so disable that. + +#+begin_src emacs-lisp +(use-package time + :ensure nil + :init + (setq display-time-default-load-average nil) + :config + (display-time-mode)) + +(use-package battery + :ensure nil + :config + (display-battery-mode)) +#+end_src + *** 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)) +(fringe-mode nil) #+end_src *** Disable disabled commands @@ -460,14 +508,15 @@ Roll your own modal mode *** [[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]] @@ -519,39 +568,40 @@ There's no way I could top that, so I won't attempt to. **** 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=