(provide 'init) ;; set paths for executable ;; use mingw64 for aspell, poppler (pdf-tools), gcc (add-to-list 'exec-path "C:/msys64/usr/bin") (add-to-list 'exec-path "C:/msys64/mingw64/bin") (add-to-list 'exec-path "c:/Program Files/Racket") (setenv "PATH" (mapconcat #'identity exec-path path-separator)) ;; adding modules to load path (add-to-list 'load-path "~/.emacs.d/custom/") (add-to-list 'load-path "~/.emacs.d/elpa/") ;; load your modules (require 'setup-applications) (require 'setup-communication) (require 'setup-convenience) (require 'setup-data) (require 'setup-development) (require 'setup-editing) (require 'setup-environment) (require 'setup-external) (require 'setup-faces) (require 'setup-files) (require 'setup-help) (require 'setup-programming) (require 'setup-text) (require 'setup-local) ;; setting up aspell (require 'ispell) (setq-default ispell-program-name "aspell") ;; Repos (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/")) ;; (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")) ;; use-package (package-initialize) (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) (eval-when-compile (require 'use-package)) ;; auto-package-update (use-package auto-package-update :config (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; zenburn theme (use-package zenburn-theme :ensure t :config (load-theme 'zenburn t) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; helm (use-package helm-config :ensure helm :bind (("M-x" . helm-M-x) ("C-x C-f" . helm-find-files) ("M-y" . helm-show-kill-ring) ("C-x b" . helm-mini) ("C-c h o" . helm-occur)) :config (setq helm-M-x-fuzzy-match t) (setq helm-buffers-fuzzy-matching t helm-recentf-fuzzy-match t) (setq helm-split-window-in-side-p t ; open helm buffer inside current window, not occupy whole other window helm-move-to-line-cycle-in-source t ; move to end or beginning of source when reaching top or bottom of source. helm-ff-search-library-in-sexp t ; search for library in `require' and `declare-function' sexp. helm-scroll-amount 8 ; scroll 8 lines other window using M-/M- helm-ff-file-name-history-use-recentf t helm-echo-input-in-header-line t) (defun spacemacs//helm-hide-minibuffer-maybe () "Hide minibuffer in Helm session if we use the header line as input field." (when (with-helm-buffer helm-echo-input-in-header-line) (let ((ov (make-overlay (point-min) (point-max) nil nil t))) (overlay-put ov 'window (selected-window)) (overlay-put ov 'face (let ((bg-color (face-background 'default nil))) `(:background ,bg-color :foreground ,bg-color))) (setq-local cursor-type nil)))) (add-hook 'helm-minibuffer-set-up-hook 'spacemacs//helm-hide-minibuffer-maybe) (helm-mode 1) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; undo-tree (use-package undo-tree :ensure t :config (global-undo-tree-mode) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; volatile highlights (use-package volatile-highlights :ensure t :config (volatile-highlights-mode t) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; yasnippet (use-package yasnippet :ensure t :config (yas-global-mode 1) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; ggtags (use-package ggtags :ensure t :config (add-hook 'c-mode-common-hook (lambda (when (derived-mode-p 'c-mode 'c++-mode 'java-mode) (ggtags-mode 1)))) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; workgroups2 (use-package workgroups :ensure t :config (workgroups-mode 1) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; smartparens (use-package smartparens :ensure t :diminish smartparens-mode :config (progn (require 'smartparens-config) (smartparens-global-mode 1)) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; clean-aindent-mode (use-package clean-aindent-mode :ensure t :hook prog-mode :config (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; company config (use-package company :ensure t :init (global-company-mode) :config (add-hook 'c-mode-common-hook (lambda () (define-key c-mode-base-map [(tab)] 'company-complete))) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) (use-package company-c-headers :ensure t :config (add-to-list 'company-backends 'company-c-headers) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; projectile config (use-package projectile :ensure t :bind (("C-c p" . projectile-command-map)) :config (projectile-global-mode) (setq projectile-completion-system 'helm) (setq projectile-indexing-method 'alien) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) (use-package helm-projectile :ensure t :config (helm-projectile-on) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; magit config (use-package magit :commands magit-get-top-dir :bind (("C-x g s" . magit-status) ("C-x g f" . magit-file-log) ("C-x g h" . magit-log) ("C-x g c" . magit-branch) ("C-x g t" . magit-tag)) :init (progn ;; make magit status go full-screen but remember previous window ;; settings ;; from: http://whattheemacsd.com/setup-magit.el-01.html (defadvice magit-status (around magit-fullscreen activate) (window-configuration-to-register :magit-fullscreen) ad-do-it (delete-other-windows)) ;; Close popup when commiting - this stops the commit window ;; hanging around ;; From: http://git.io/rPBE0Q (defadvice git-commit-commit (after delete-window activate) (delete-window)) (defadvice git-commit-abort (after delete-window activate) (delete-window)) ;; these two force a new line to be inserted into a commit window, ;; which stops the invalid style showing up. ;; From: http://git.io/rPBE0Q (defun magit-commit-mode-init () (when (looking-at "\n") (open-line 1))) (add-hook 'git-commit-mode-hook 'magit-commit-mode-init)) :config (progn ;; restore previously hidden windows (defadvice magit-quit-window (around magit-restore-screen activate) (let ((current-mode major-mode)) ad-do-it ;; we only want to jump to register when the last seen buffer ;; was a magit-status buffer. (when (eq 'magit-status-mode current-mode) (jump-to-register :magit-fullscreen)))) (defun magit-maybe-commit (&optional show-options) "Runs magit-commit unless prefix is passed" (interactive "P") (if show-options (magit-key-mode-popup-committing) (magit-commit))) (define-key magit-mode-map "c" 'magit-maybe-commit) ;; major mode for editing `git rebase -i` files (use-package rebase-mode) ;; magit settings (setq ;; use ido to look for branches magit-completing-read-function 'magit-ido-completing-read ;; don't put "origin-" in front of new branch names by default magit-default-tracking-name-function 'magit-default-tracking-name-branch-only ;; open magit status in same window as current buffer magit-status-buffer-switch-function 'switch-to-buffer ;; highlight word/letter changes in hunk diffs magit-diff-refine-hunk t ;; ask me if I want to include a revision when rewriting magit-rewrite-inclusive 'ask ;; ask me to save buffers magit-save-some-buffers t ;; pop the process buffer if we're taking a while to complete magit-process-popup-time 10 ;; ask me if I want a tracking upstream magit-set-upstream-on-push 'askifnotset ) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe))) ;; flycheck (use-package flycheck :ensure t :init (global-flycheck-mode) :config (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) (use-package flycheck-pos-tip :ensure t :after flycheck :config (flycheck-pos-tip-mode) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; nyan mode (use-package nyan-mode :if window-system :ensure t :config (nyan-mode)) ;; semantic refactor (use-package srefactor :ensure t :config (semantic-mode 1) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; guide-key (use-package guide-key :ensure t :config (setq guide-key/guide-key-sequence '("C-x" "C-c" "M-g" "C-h")) (setq guide-key/recursive-key-sequence-flag t) (setq guide-key/popup-window-position 'bottom) (guide-key-mode 1) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; x86 lookup (use-package x86-lookup :ensure t :init (setq x86-lookup-pdf "D:/Coding/x86-instructions.pdf") :bind ("C-h x" . x86-lookup) :config (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; org-bullets (use-package org-bullets :ensure t :hook org-mode :config (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) ;; pdf-tools (use-package pdf-tools :ensure t :config (pdf-tools-install) (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) (use-package org :ensure t :config (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) (use-package tex :ensure auctex :config (setq auto-package-update-delete-old-versions t) (setq auto-package-update-hide-results t) (auto-package-update-maybe)) (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. '(custom-safe-themes (quote ("ec5f697561eaf87b1d3b087dd28e61a2fc9860e4c862ea8e6b0b77bd4967d0ba" default))) '(package-selected-packages (quote (auctex zenburn-theme org flycheck-pos-tip flycheck rtags racket-mode geiser auto-package-update use-package pdf-tools org-bullets x86-lookup ztree yasnippet workgroups2 volatile-highlights undo-tree srefactor smartparens nyan-mode magit ibuffer-vc helm-projectile guide-key ggtags diff-hl company-c-headers clean-aindent-mode)))) (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. )