summaryrefslogtreecommitdiff
path: root/README.org
blob: a7929437b0ce707a0f3a099dcec091fea7f6f046 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#+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