summaryrefslogtreecommitdiff
path: root/init.el
blob: c47b604152d370bc6831c606026ddf1abf70c571 (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
(require 'site-gentoo)
(require 'use-package)
(require 'cl-lib)
(require 'seq)
(require 'server)
(require 'edebug)
(require 'xdg)

(global-unset-key (kbd "<left>"))
(global-unset-key (kbd "<right>"))
(global-unset-key (kbd "<up>"))
(global-unset-key (kbd "<down>"))
(global-unset-key (kbd "<C-left>"))
(global-unset-key (kbd "<C-right>"))
(global-unset-key (kbd "<C-up>"))
(global-unset-key (kbd "<C-down>"))
(global-set-key   (kbd "C-x k")     'kill-current-buffer)
(global-set-key   (kbd "C-x C-b")   'ibuffer)

(setq auth-source-save-behavior nil
      auto-save-default nil
      change-major-mode-with-file-name nil
      custom-buffer-indent 4
      custom-file "/dev/null"
      custom-theme-directory (file-name-concat user-emacs-directory "themes/")
      debugger 'edebug
      display-buffer-base-action '(display-buffer-same-window display-buffer-reuse-window)
      initial-buffer-choice (lambda ()
                              (let ((initial-file (file-name-concat
                                                   user-emacs-directory
                                                   "initial-buffer")))
                                (if (file-exists-p initial-file)
                                    (find-file initial-file)
                                  (get-buffer-create "*scratch*"))))
      enable-local-variables :safe
      gc-cons-threshold (* 8 (expt 1024 2))
      inhibit-splash-screen t
      make-backup-files nil
      mouse-wheel-progressive-speed nil
      tab-width 4
      temporary-file-directory (file-name-concat (or (getenv "TMPDIR") "/tmp") ".emacs")
      use-package-always-demand t
      use-package-ensure-function 'ignore
      user-full-name "John Turner"
      user-mail-address "jturner.usa@gmail.com")

(setq-default create-lockfiles nil
              display-fill-column-indicator-column 120
              indent-tabs-mode nil)

(setq-default mode-line-format '("%*"
                                 " "
                                 (:eval (if buffer-file-name
                                            (abbreviate-file-name buffer-file-name)
                                          (buffer-name)))
                                 " "
                                 "(" mode-name ")"
                                 " "
                                 "(" (:eval (if server-process
                                                (process-name server-process)
                                              "_"))
                                 ")"))

(load-file (locate-user-emacs-file "lisp/packages.el"))

(cl-loop with packages-directory = (file-name-concat user-emacs-directory "packages")
         for package in (directory-files packages-directory t)
         unless (seq-contains-p '("." "..") (file-name-base package))
         do (load-file package))

(mkdir temporary-file-directory t)

(cua-mode 1)
(save-place-mode 1)
(show-paren-mode 1)
(recentf-mode 1)
(savehist-mode 1)
(when (featurep 'pixel-scroll)
  (pixel-scroll-mode 1))

(menu-bar-mode 0)
(scroll-bar-mode 0)
(tool-bar-mode 0)
(tooltip-mode 0)
(auto-save-mode 0)

(load-theme 'wombat)
(load-theme 'badger t)

(set-face-attribute
 'default nil
 :family "Noto Sans Mono"
 :foundry "GOOG"
 :slant 'normal)

(add-hook 'focus-out-hook 'garbage-collect)