#+title: Emacs Config #+property: header-args :tangle init.el #+author: Dominik Kaiser * Package Management #+begin_src elisp (require 'package) (setq package-archives '(("melpa" . "https://melpa.org/packages/") ("melpa-stable" . "https://stable.melpa.org/packages/") ("org" . "https://orgmode.org/elpa/") ("elpa" . "https://elpa.gnu.org/packages/"))) (package-initialize) (unless package-archive-contents (package-refresh-contents)) (unless (package-installed-p 'use-package) (package-install 'use-package)) (require 'use-package) (setq use-package-always-ensure t) #+end_src * Basic UI ** Remove bars #+begin_src elisp (menu-bar-mode -1) (scroll-bar-mode -1) (tool-bar-mode -1) (tooltip-mode -1) ;; disable tooltips #+end_src ** Line numbers #+begin_src elisp (add-hook 'prog-mode-hook #'display-line-numbers-mode) (setq display-line-numbers-type 'relative) #+end_src ** Remove startup message #+begin_src elisp (setq inhibit-startup-message t) #+end_src ** Set visible bell #+begin_src elisp (setq visible-bell t) #+end_src ** Fringes #+begin_src elisp (set-fringe-mode 10) #+end_src ** Theme #+begin_src elisp (use-package doom-themes :config (load-theme 'doom-solarized-dark t)) #+end_src ** Modeline *** Doom modeline #+begin_src elisp (use-package doom-modeline :ensure t :init (doom-modeline-mode 1)) #+end_src *** Display columns #+begin_src elisp (column-number-mode) #+end_src * Completion ** Ivy #+begin_src elisp (use-package ivy :bind (("C-s" . swiper) :map ivy-minibuffer-map ("TAB" . ivy-alt-done)) :config (ivy-mode 1)) #+end_src *** Ivy-rich #+begin_src elisp (use-package ivy-rich :init (ivy-rich-mode 1)) #+end_src ** Counsel #+begin_src elisp (use-package counsel :bind (("M-x" . counsel-M-x) ("C-x b" . counsel-ibuffer) ("C-x C-f" . counsel-find-file)) :config (setq ivy-initial-inputs-alist nil)) ;; Don't start searches with ^ #+end_src * Helpers ** which-key #+begin_src elisp (use-package which-key :init (which-key-mode) :config (setq which-key-idle-delay 0.3)) #+end_src * Org-mode ** Visuals *** Block highlighting These settings ensure that block highlights aren't visible when collapsed. #+begin_src elisp (custom-set-faces '(org-block-begin-line ((t (:inherit default :background nil)))) '(org-block-end-line ((t (:inherit default :background nil))))) #+end_src *** Indentation #+begin_src elisp (setq org-startup-indented t) #+end_src * 42 ** Header #+begin_src elisp (load "~/.config/emacs/42header.el") #+end_src