;; Package configs (require 'package) (setq package-enable-at-startup nil) (setq package-archives '(("org" . "http://orgmode.org/elpa/") ("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "https://melpa.org/packages/"))) (package-initialize) ;; Bootstrap `use-package` (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) (require 'use-package) ;; Other configs (add-to-list 'exec-path "/usr/local/bin/") (setq make-backup-files nil) (setq auto-save-default nil) ;; Show matching parens (setq show-paren-delay 0) (show-paren-mode 1) ;; Paragraph movement (global-set-key (kbd "s-j") 'forward-paragraph) (global-set-key (kbd "s-k") 'backward-paragraph) ;; OrgMode Configs (setq org-html-validation-link nil) (setq org-todo-keywords '((sequence "TODO" "WORKING" "HOLD" "|" "DONE"))) (setq org-todo-keyword-faces '(("TODO" . "blue") ("WORKING" . "yellow") ("HOLD" . "red") ("DONE" . "green"))) ;; UI configurations (scroll-bar-mode -1) (tool-bar-mode -1) (tooltip-mode -1) (menu-bar-mode -1) (global-linum-mode 1) (add-to-list 'default-frame-alist '(font . "mononoki-12")) (add-to-list 'default-frame-alist '(height . 24)) (add-to-list 'default-frame-alist '(width . 80)) ;; Vim mode (use-package evil :ensure t :config (evil-mode 1)) (use-package evil-escape :ensure t :init (setq-default evil-escape-key-sequence "jk") :config (evil-escape-mode 1)) ;; Theme (use-package doom-themes :ensure t :config (load-theme 'doom-one t)) ;; Helm (use-package helm :ensure t :init (setq helm-M-x-fuzzy-match t helm-mode-fuzzy-match t helm-buffers-fuzzy-matching t helm-recentf-fuzzy-match t helm-locate-fuzzy-match t helm-semantic-fuzzy-match t helm-imenu-fuzzy-match t helm-completion-in-region-fuzzy-match t helm-candidate-number-list 80 helm-split-window-in-side-p t helm-move-to-line-cycle-in-source t helm-echo-input-in-header-line t helm-autoresize-max-height 0 helm-autoresize-min-height 20) :config (helm-mode 1)) ;; RipGrep (use-package helm-rg :ensure t) ;; Projectile (use-package projectile :ensure t :init (setq projectile-require-project-root nil) :config (projectile-mode 1)) ;; Helm Projectile (use-package helm-projectile :ensure t :init (setq helm-projectile-fuzzy-match t) :config (helm-projectile-on)) ;; All The Icons (use-package all-the-icons :ensure t) ;; NeoTree (use-package neotree :ensure t :init (setq neo-theme (if (display-graphic-p) 'icons 'arrow))) ;; Which Key (use-package which-key :ensure t :init (setq which-key-separator " ") (setq which-key-prefix-prefix "+") :config (which-key-mode)) ;; Custom keybinding (use-package general :ensure t :config (general-define-key :states '(normal visual insert emacs) :prefix "SPC" :non-normal-prefix "M-SPC" "/" '(helm-projectile-rg :which-key "ripgrep") "TAB" '(switch-to-prev-buffer :which-key "previous buffer") "SPC" '(helm-M-x :which-key "M-x") "pf" '(helm-projectile-find-file :which-key "find files") "pp" '(helm-projectile-switch-project :which-key "switch project") "pb" '(helm-projectile-switch-to-buffer :which-key "switch buffer") "pr" '(helm-show-kill-ring :which-key "show kill ring") ;; Buffers "bb" '(helm-mini :which-key "buffers list") ;; Window "wl" '(windmove-right :which-key "move right") "wh" '(windmove-left :which-key "move left") "wk" '(windmove-up :which-key "move up") "wj" '(windmove-down :which-key "move bottom") "w/" '(split-window-right :which-key "split right") "w-" '(split-window-below :which-key "split bottom") "wx" '(delete-window :which-key "delete window") ;; NeoTree "ft" '(neotree-toggle :which-key "toggle neotree") ;; Others "at" '(ansi-term :which-key "open terminal") )) ;; Fancy titlebar for MacOS (add-to-list 'default-frame-alist '(ns-transparent-titlebar . t)) (add-to-list 'default-frame-alist '(ns-appearance . dark)) (setq ns-use-proxy-icon nil) (setq frame-title-format nil) (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. '(package-selected-packages (quote (general which-key helm doom-themes evil use-package)))) (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. )