mirror of https://github.com/Chizi123/.emacs.d.git

Chizi123
2018-12-02 de19205372db8d8fbaa6746c09ea5a848dff67c1
commit | author | age
424743 1 (setq inhibit-startup-message t)
C 2
5cb5f7 3 ;; set paths for executable
9c4cf0 4 ;; use mingw64 for aspell, poppler (pdf-tools), gcc, ghostscript
5cb5f7 5 (add-to-list 'exec-path "C:/msys64/usr/bin")
C 6 (add-to-list 'exec-path "C:/msys64/mingw64/bin")
707431 7 (add-to-list 'exec-path "c:/Program Files/Racket")
5cb5f7 8 (setenv "PATH" (mapconcat #'identity exec-path path-separator))
C 9
10 ;; adding modules to load path
11 (add-to-list 'load-path "~/.emacs.d/custom/")
707431 12 (add-to-list 'load-path "~/.emacs.d/elpa/")
5cb5f7 13
C 14 ;; load your modules
15 (require 'setup-applications)
16 (require 'setup-communication)
17 (require 'setup-convenience)
18 (require 'setup-data)
19 (require 'setup-development)
20 (require 'setup-editing)
21 (require 'setup-environment)
22 (require 'setup-external)
23 (require 'setup-faces)
24 (require 'setup-files)
25 (require 'setup-help)
26 (require 'setup-programming)
27 (require 'setup-text)
28 (require 'setup-local)
29
be0bc3 30 ;; set default font
C 31 (set-default-font "DejaVu Sans Mono-10")
32
5cb5f7 33 ;; setting up aspell
C 34 (require 'ispell)
35 (setq-default ispell-program-name "aspell")
9c4cf0 36 (add-hook 'latex-mode-hook 'flyspell-mode)
C 37 (add-hook 'latex-mode-hook 'flyspell-buffer)
38 (add-hook 'org-mode-hook 'flyspell-mode)
39 (add-hook 'org-mode-hook 'flyspell-buffer)
5cb5f7 40
a4b917 41 ;; Repos
5cb5f7 42 (require 'package)
a4b917 43 (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
de1920 44 (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
a4b917 45 (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/"))
C 46
47 ;; use-package
5cb5f7 48 (package-initialize)
a4b917 49 (unless (package-installed-p 'use-package)
C 50   (package-refresh-contents)
51   (package-install 'use-package))
52
53 (eval-when-compile
54   (require 'use-package))
5cb5f7 55
707431 56 ;; auto-package-update
C 57 (use-package auto-package-update
9c4cf0 58   :ensure t
707431 59   :config
e75a20 60   (setq auto-package-update-delete-old-versions t)
C 61   (setq auto-package-update-hide-results t)
62   (auto-package-update-maybe))
63
64 ;; zenburn theme
65 (use-package zenburn-theme
66   :ensure t
67   :config
de1920 68   (load-theme 'zenburn t))
707431 69
5cb5f7 70 ;; helm
707431 71 (use-package helm-config
C 72   :ensure helm
73   :bind (("M-x" . helm-M-x)
74      ("C-x C-f" . helm-find-files)
75      ("M-y" . helm-show-kill-ring)
76      ("C-x b" . helm-mini)
77      ("C-c h o" . helm-occur))
78   :config
79   (setq helm-M-x-fuzzy-match t)
80   (setq helm-buffers-fuzzy-matching t
81     helm-recentf-fuzzy-match    t)
82   (setq helm-split-window-in-side-p           t ; open helm buffer inside current window, not occupy whole other window
83     helm-move-to-line-cycle-in-source     t ; move to end or beginning of source when reaching top or bottom of source.
84     helm-ff-search-library-in-sexp        t ; search for library in `require' and `declare-function' sexp.
85     helm-scroll-amount                    8 ; scroll 8 lines other window using M-<next>/M-<prior>
86     helm-ff-file-name-history-use-recentf t
87     helm-echo-input-in-header-line t)
88   (defun spacemacs//helm-hide-minibuffer-maybe ()
89     "Hide minibuffer in Helm session if we use the header line as input field."
90     (when (with-helm-buffer helm-echo-input-in-header-line)
91       (let ((ov (make-overlay (point-min) (point-max) nil nil t)))
92     (overlay-put ov 'window (selected-window))
93     (overlay-put ov 'face
94                      (let ((bg-color (face-background 'default nil)))
95                        `(:background ,bg-color :foreground ,bg-color)))
96     (setq-local cursor-type nil))))
97   (add-hook 'helm-minibuffer-set-up-hook
98             'spacemacs//helm-hide-minibuffer-maybe)
de1920 99   (helm-mode 1))
be0bc3 100
C 101 ;; CEDET
102 (use-package semantic
103   :config
104   (global-semanticdb-minor-mode 1)
105   (global-semantic-idle-scheduler-mode 1)
106   (global-semantic-idle-summary-mode 1)
107   (semantic-mode 1))
108
109 (use-package ede
110   :config
ffe3f5 111   (global-ede-mode t))
C 112
be0bc3 113
C 114 (setq
115  ;; use gdb-many-windows by default
116  gdb-many-windows t
117
118  ;; Non-nil means display source file containing the main routine at startup
de1920 119  gdb-show-main t)
5cb5f7 120
9d27fc 121 ;; undo-tree
707431 122 (use-package undo-tree
C 123   :ensure t
124   :config
de1920 125   (global-undo-tree-mode))
5cb5f7 126
9d27fc 127 ;; volatile highlights
707431 128 (use-package volatile-highlights
C 129   :ensure t
130   :config
de1920 131   (volatile-highlights-mode t))
5cb5f7 132
9d27fc 133 ;; yasnippet
707431 134 (use-package yasnippet
C 135   :ensure t
136   :config
de1920 137   (yas-global-mode 1))
5cb5f7 138
9d27fc 139 ;; ggtags
707431 140 (use-package ggtags
C 141   :ensure t
142   :config
143   (add-hook 'c-mode-common-hook
144             (lambda
145           (when (derived-mode-p 'c-mode 'c++-mode 'java-mode)
de1920 146         (ggtags-mode 1)))))
5cb5f7 147
9d27fc 148 ;; workgroups2
658093 149 (use-package workgroups2
707431 150   :ensure t
C 151   :config
de1920 152   (workgroups-mode 1))
5cb5f7 153
9d27fc 154 ;; smartparens
707431 155 (use-package smartparens
C 156   :ensure t
157   :diminish smartparens-mode
158   :config
159   (progn
160     (require 'smartparens-config)
de1920 161     (smartparens-global-mode 1)))
5cb5f7 162
C 163 ;; clean-aindent-mode
707431 164 (use-package clean-aindent-mode
C 165   :ensure t
de1920 166   :hook prog-mode)
5cb5f7 167
C 168 ;; company config
707431 169 (use-package company
C 170   :ensure t
171   :init (global-company-mode)
172   :config
173   (add-hook 'c-mode-common-hook
174         (lambda ()
de1920 175           (define-key c-mode-base-map  [(tab)] 'company-complete))))
178ab9 176
C 177 (use-package company-c-headers
178   :ensure t
9c4cf0 179   :after company
178ab9 180   :config
de1920 181   (add-to-list 'company-backends 'company-c-headers))
9c4cf0 182
C 183 (use-package company-math
184   :ensure t
185   :after company
186   :config
de1920 187   (add-to-list 'company-backends 'company-math-symbols-unicode))
5cb5f7 188
C 189 ;; projectile config
707431 190 (use-package projectile
C 191   :ensure t
192   :bind (("C-c p" . projectile-command-map))
193   :config
194   (projectile-global-mode)
195   (setq projectile-completion-system 'helm)
de1920 196   (setq projectile-indexing-method 'alien))
5cb5f7 197
707431 198 (use-package helm-projectile
C 199   :ensure t
200   :config
de1920 201   (helm-projectile-on))
5cb5f7 202
C 203 ;; magit config
707431 204 (use-package magit
be0bc3 205   :ensure t
707431 206   :commands magit-get-top-dir
510642 207   :bind ("C-x g" . magit-status)
707431 208   :init
C 209   (progn
210     ;; make magit status go full-screen but remember previous window
211     ;; settings
212     ;; from: http://whattheemacsd.com/setup-magit.el-01.html
213     (defadvice magit-status (around magit-fullscreen activate)
214       (window-configuration-to-register :magit-fullscreen)
215       ad-do-it
216       (delete-other-windows))
217
218     ;; Close popup when commiting - this stops the commit window
219     ;; hanging around
220     ;; From: http://git.io/rPBE0Q
221     (defadvice git-commit-commit (after delete-window activate)
222       (delete-window))
223
224     (defadvice git-commit-abort (after delete-window activate)
225       (delete-window))
226
227   :config
228   (progn
229     ;; restore previously hidden windows
230     (defadvice magit-quit-window (around magit-restore-screen activate)
231       (let ((current-mode major-mode))
232         ad-do-it
233         ;; we only want to jump to register when the last seen buffer
234         ;; was a magit-status buffer.
235         (when (eq 'magit-status-mode current-mode)
be0bc3 236           (jump-to-register :magit-fullscreen)))))
707431 237
be0bc3 238   ;; magit settings
C 239   (setq
240    ;; don't put "origin-" in front of new branch names by default
241    magit-default-tracking-name-function 'magit-default-tracking-name-branch-only
242    ;; open magit status in same window as current buffer
243    magit-status-buffer-switch-function 'switch-to-buffer
244    ;; highlight word/letter changes in hunk diffs
245    magit-diff-refine-hunk t
246    ;; ask me if I want to include a revision when rewriting
247    magit-rewrite-inclusive 'ask
248    ;; ask me to save buffers
249    magit-save-some-buffers t
250    ;; pop the process buffer if we're taking a while to complete
251    magit-process-popup-time 10
252    ;; ask me if I want a tracking upstream
253    magit-set-upstream-on-push 'askifnotset
de1920 254    )))
5cb5f7 255
C 256 ;; flycheck
707431 257 (use-package flycheck
C 258   :ensure t
de1920 259   :init (global-flycheck-mode))
5cb5f7 260
707431 261 (use-package flycheck-pos-tip
C 262   :ensure t
263   :after flycheck
264   :config
de1920 265   (flycheck-pos-tip-mode))
5cb5f7 266
2a15f9 267 (use-package flycheck-clang-analyzer
C 268   :ensure t
269   :after flycheck
270   :config
de1920 271   (flycheck-clang-analyzer-setup))
2a15f9 272
5cb5f7 273 ;; nyan mode
707431 274 (use-package nyan-mode
C 275   :if window-system
276   :ensure t
277   :config
278   (nyan-mode))
5cb5f7 279
C 280 ;; semantic refactor
2a15f9 281 (use-package srefactor
C 282   :ensure t
283   :bind (("M-RET o" . 'srefactor-lisp-one-line)
284      ("M-RET m" . 'srefactor-lisp-format-sexp)
285      ("M-RET d" . 'srefactor-lisp-format-defun)
286      ("M-RET b" . 'srefactor-lisp-format-buffer)
287      :map c-mode-base-map
288           ("M-RET" . 'srefactor-refactor-at-point)
289           :map c++-mode-map
de1920 290           ("M-RET" . 'srefactor-refactor-at-point)))
5cb5f7 291
629a86 292 ;; which-key
C 293 (use-package which-key
707431 294   :ensure t
C 295   :config
629a86 296   (which-key-mode)
de1920 297   (which-key-setup-side-window-bottom))
8f6f27 298
a4b917 299 ;; x86 lookup
707431 300 (use-package x86-lookup
C 301   :ensure t
302   :init
303   (setq x86-lookup-pdf "D:/Coding/x86-instructions.pdf")
de1920 304   :bind ("C-h x" . x86-lookup))
8f6f27 305
c655ee 306 ;; org-bullets
707431 307 (use-package org-bullets
C 308   :ensure t
309   :config
de1920 310   (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
c655ee 311
a4b917 312 ;; pdf-tools
707431 313 (use-package pdf-tools
C 314   :ensure t
315   :config
de1920 316   (pdf-tools-install))
707431 317
2a15f9 318 ;; org
707431 319 (use-package org
C 320   :ensure t
321   :config
de1920 322   (setq org-src-tab-acts-natively t))
8f6f27 323
2a15f9 324 ;; tex/AUCTex
178ab9 325 (use-package tex
C 326   :ensure auctex
327   :config
2a15f9 328   (setq TeX-auto-save t)
C 329   (setq TeX-parse-self t)
9c4cf0 330   (setq doc-view-ghostscript-program "c:/msys64/mingw64/bin/gswin32c.exe")
de1920 331   (setq preview-gs-command "c:/msys64/mingw64/bin/gs.exe"))
9c4cf0 332
C 333 ;; latex-preview-pane
334 (use-package latex-preview-pane
335   :ensure t
336   :config
de1920 337   (latex-preview-pane-enable))
178ab9 338
424743 339 ;; plantuml
C 340 (use-package plantuml-mode
341   :ensure t
342   :init
de1920 343   (setq plantuml-jar-path "c:/ProgramData/chocolatey/lib/plantuml/tools/plantuml.jar"))
C 344
ffe3f5 345 (custom-set-variables
C 346  ;; custom-set-variables was added by Custom.
347  ;; If you edit it by hand, you could mess it up, so be careful.
348  ;; Your init file should contain only one such instance.
349  ;; If there is more than one, they won't work right.
de1920 350  '(ede-project-directories (quote ("c:/Users/joelg/.emacs.d")))
C 351  '(package-selected-packages
352    (quote
353     (zenburn-theme yasnippet x86-lookup workgroups2 which-key volatile-highlights use-package undo-tree srefactor smartparens racket-mode popwin plantuml-mode pdf-tools org-bullets org nyan-mode magit latex-preview-pane helm-projectile ggtags flycheck-pos-tip flycheck-clang-analyzer company-math company-c-headers clean-aindent-mode auto-package-update auctex))))
ffe3f5 354 (custom-set-faces
C 355  ;; custom-set-faces was added by Custom.
356  ;; If you edit it by hand, you could mess it up, so be careful.
357  ;; Your init file should contain only one such instance.
358  ;; If there is more than one, they won't work right.
359  )