summaryrefslogtreecommitdiffstats
path: root/emacs/init.el
blob: b60224ca5013763213702afaf5ced7f5a88ac28d (plain) (blame)
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
;; (require "lib.el")
(require 'package)

(setq package-archives
      '(("gnu"   . "https://elpa.gnu.org/packages/")
        ("melpa" . "https://melpa.org/packages/")))

(setq package-check-signature nil)
(package-initialize)

(unless (package-installed-p 'use-package)
  (package-refresh-contents)
  (package-install 'use-package))

(require 'use-package)
(setq use-package-always-ensure t)

;; Startup
(setq inhibit-startup-screen t
      inhibit-startup-message t
      inhibit-startup-echo-area-message t
      ring-bell-function 'ignore
      use-dialog-box nil)

;; Cursor
(setq cursor-type 'hbar)
(blink-cursor-mode 1)

;; Line wrapping
(setq-default word-wrap nil)
(setq truncate-lines t)

;; Auto-revert buffers when files change on disk
(global-auto-revert-mode 1)

;; Visual tweaks
(set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?┃))
(global-hl-line-mode 1)

;; Font
(set-face-attribute 'default nil
                    :font "Liberation Mono"
                    :height 150 
                    :foreground "#C4A882"
                    :background "#000000")

;; Colors
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(cursor ((t (:background "#F0A030"))))
 '(font-lock-builtin-face ((t (:foreground "#D4A030"))))
 '(font-lock-comment-face ((t (:foreground "#6B5A45"))))
 '(font-lock-constant-face ((t (:foreground "#9B7040"))))
 '(font-lock-function-name-face ((t (:foreground "#C4A882"))))
 '(font-lock-keyword-face ((t (:foreground "#D48B30"))))
 '(font-lock-preprocessor-face ((t (:foreground "#C05020"))))
 '(font-lock-string-face ((t (:foreground "#B86030"))))
 '(font-lock-type-face ((t (:foreground "#B87040"))))
 '(font-lock-variable-name-face ((t (:foreground "#C4A882"))))
 '(font-lock-warning-face ((t (:foreground "#DC4A20"))))
 '(hl-line ((t (:background "#1F1610"))))
 '(isearch ((t (:background "#3D2B1A" :foreground "#C4A882"))))
 '(lazy-highlight ((t (:background "#3D2B1A"))))
 '(line-number ((t (:foreground "#5A4A38"))))
 '(line-number-current-line ((t (:foreground "#D48B30"))))
 '(mode-line ((t (:background "#C4A882" :foreground "#5A4A38" :box nil))))
 '(region ((t (:background "#3A0A00"))))
 '(vertical-border ((t (:foreground "#333333")))))

;; Evil mode
(use-package evil
  :init
  (setq evil-want-integration t
        evil-want-keybinding nil
        evil-undo-system 'undo-redo)
  :config
  (evil-mode 1)
  (setq evil-normal-state-cursor '(box "#F0A030")
        evil-insert-state-cursor '(box "#C04018")
        evil-visual-state-cursor '(box "#D48B30")))

(use-package evil-collection
  :after evil
  :config (evil-collection-init))

;; Window movement
(global-set-key (kbd "C-h") 'windmove-left)
(global-set-key (kbd "C-l") 'windmove-right)
(global-set-key (kbd "C-j") 'windmove-up)
(global-set-key (kbd "C-k") 'windmove-down)

(global-ede-mode t)
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(ede-project-directories
   '("/Users/nasr/Dev/asteroids" "/Users/nasr/Dev/asteroids/src"
     "/Users/nasr/Dev/compiler")))