From 4cc885ddfea114116a3fe5f09a7fe406f3997642 Mon Sep 17 00:00:00 2001 From: David Florness Date: Mon, 21 May 2018 15:25:25 -0600 Subject: [PATCH] Cleanup lisp code --- init.el | 31 +++++++++++++++++++++++++++---- lisp/setup-appearance.el | 18 ++++++++++++++++++ lisp/setup-defaults.el | 2 ++ lisp/setup-dev.el | 1 - lisp/setup-helm.el | 1 + lisp/setup-keys.el | 2 +- lisp/setup-lisp.el | 5 +++-- lisp/setup-packages.el | 20 +++++++++++++------- 8 files changed, 65 insertions(+), 15 deletions(-) diff --git a/init.el b/init.el index 839f161..6bb1176 100644 --- a/init.el +++ b/init.el @@ -12,6 +12,7 @@ (load-file "~/.emacs.d/lisp/setup-packages.el") + (require 'setup-keys) (require 'setup-appearance) (require 'setup-dev) @@ -21,6 +22,7 @@ (require 'setup-python) (require 'setup-treemacs) + (use-package dashboard :init (add-hook 'after-init-hook 'dashboard-refresh-buffer) @@ -33,18 +35,21 @@ (setq dashboard-startup-banner 'logo) (dashboard-setup-startup-hook)) + ;;; Winner mode: allows for undoing and redoing of windoow configurations ;;; C-c : undo ;;; C-c : redo (winner-mode t) + ;;; Allow easily switching windows with Shift-{left,right,up,down} (windmove-default-keybindings) + ;;; Don't make backup files (setq make-backup-files nil) -;;; Markdown mode + (use-package markdown-mode :ensure t :commands (markdown-mode gfm-mode) @@ -53,6 +58,8 @@ ("\\.markdown\\'" . markdown-mode)) :init (setq markdown-command "multimarkdown")) + +;;; a minor mode for dealing with pairs (use-package smartparens :ensure t :config @@ -60,14 +67,16 @@ (require 'smartparens-config) (smartparens-global-mode t))) -;;; Magit: a Git Porcelain inside Emacs + +;;; magit: a Git Porcelain (use-package magit :ensure t :bind (("C-x g" . magit-status) ("C-x M-g" . magit-dispatch-popup))) -;;; Syntax/error checking for GNU Emacs + +;;; Syntax/error checking (use-package flycheck :ensure t :init @@ -76,6 +85,7 @@ (evil-define-key 'normal flycheck-error-list-mode-map (kbd "q") 'quit-window))) + ;;; Quickhelp (documentation lookup) for company (use-package company-quickhelp :ensure t @@ -85,16 +95,19 @@ (setq company-quickhelp-idle-delay 1) (company-quickhelp-mode 1))) + ;;; Yasnippet: yet another snippet extension (use-package yasnippet :ensure t :config (yas-global-mode 1)) + (use-package yasnippet-snippets :ensure t :after yasnippet) + ;;; Setup duckduckgo search engine (use-package engine-mode :ensure t @@ -104,6 +117,7 @@ :keybinding "d") (engine-mode)) + ;;; Org mode for keeping notes, todo lists, planning, and fast ;;; documenting (use-package org @@ -142,6 +156,7 @@ (org . t) (gnuplot . t))))) + ;;; UTF-8 bullets for org-mode (use-package org-bullets :ensure t @@ -150,6 +165,7 @@ (progn (add-hook 'org-mode-hook 'org-bullets-mode))) + (use-package org-contacts :after org :config @@ -173,27 +189,32 @@ (which-key-mode)) +;;; functions to manage packages on linux distros (use-package system-packages :ensure t) -;;; mu4e email client +;;; setup the mu4e email client (when (file-exists-p "~/scripts/setup-mu4e.el") (load-file "~/scripts/setup-mu4e.el")) +;;; statistics software and R-lang integration (use-package ess :ensure t) +;;; TeX/LaTeX (use-package tex :ensure auctex) +;;; ability to insert random text (use-package lorem-ipsum :ensure t) +;;; number windows to easily switch between them (use-package winum :ensure t :config @@ -206,11 +227,13 @@ (add-to-list 'load-path d t)) (add-to-list 'Info-directory-list "~/.local/share/info/") + ;;; Start Emacs Daemon (require 'server) (unless (server-running-p) (server-start)) + (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. diff --git a/lisp/setup-appearance.el b/lisp/setup-appearance.el index e37414c..83df499 100644 --- a/lisp/setup-appearance.el +++ b/lisp/setup-appearance.el @@ -6,9 +6,11 @@ ;;; Code: + ;;; Change frame title (setq frame-title-format "emacs") + ;;; Font (set-frame-font (font-spec @@ -18,33 +20,43 @@ :width 'normal) nil t) + ;;; Disable menu bar (menu-bar-mode 0) + ;;; Disable scroll bar (scroll-bar-mode 0) + ;;; Disable tool bar (tool-bar-mode 0) + ;;; Turn off cursor blinking (blink-cursor-mode 0) + ;;; Show column number next to line number in mode line (column-number-mode) + ;;; Highlight parentheses (show-paren-mode) + ;;; Highlight stuff with M-s h (global-hi-lock-mode 1) + ;;; Move mouse if it gets in the way of the cursor (mouse-avoidance-mode 'animate) + ;;; Spell check in comments and strings (flyspell-prog-mode) + ;;; Custom themes ;; Default theme (unless (package-installed-p 'monokai-theme) @@ -52,18 +64,24 @@ (load-theme 'monokai t t) (when (display-graphic-p) (enable-theme 'monokai)) + + ;; Alternate theme (bright) (unless (package-installed-p 'leuven-theme) (package-install 'leuven-theme)) (load-theme 'leuven t t) + + ;; Theme for late-at-night (unless (package-installed-p 'solarized-theme) (package-install 'solarized-theme)) (load-theme 'solarized-dark t t) + (use-package pretty-mode :ensure t :hook ((emacs-lisp-mode python) . turn-on-pretty-mode)) + (provide 'setup-appearance) ;;; setup-appearance.el ends here diff --git a/lisp/setup-defaults.el b/lisp/setup-defaults.el index 05f5ec5..ed00fb9 100644 --- a/lisp/setup-defaults.el +++ b/lisp/setup-defaults.el @@ -6,7 +6,9 @@ ;;; Code: + (setq-default fill-column 80) + (provide 'setup-defaults) ;;; setup-defaults.el ends here diff --git a/lisp/setup-dev.el b/lisp/setup-dev.el index 48affd2..d00b52e 100644 --- a/lisp/setup-dev.el +++ b/lisp/setup-dev.el @@ -26,7 +26,6 @@ (setq ;; use gdb-many-windows by default gdb-many-windows t - ;; Non-nil means display source file contatining the main routine at startup gdb-show-main t) diff --git a/lisp/setup-helm.el b/lisp/setup-helm.el index 2286aa1..802a219 100644 --- a/lisp/setup-helm.el +++ b/lisp/setup-helm.el @@ -91,6 +91,7 @@ (evil-define-key 'normal helm-gtags-mode-map (kbd "C-c >") 'helm-gtags-next-history))) + ;;; Helm extension for projectile (use-package helm-projectile :ensure t diff --git a/lisp/setup-keys.el b/lisp/setup-keys.el index e862dd9..3ab7372 100644 --- a/lisp/setup-keys.el +++ b/lisp/setup-keys.el @@ -67,11 +67,11 @@ ;;; I don't always know where my frames are, and I want a way to kill ;;; Emacs 100% of the time (global-set-key (kbd "C-x C-c") 'save-buffers-kill-emacs) - (global-set-key (kbd "") (lambda () (interactive) (kill-buffer) (delete-window))) + (use-package evil-matchit :ensure t :init diff --git a/lisp/setup-lisp.el b/lisp/setup-lisp.el index 5d0c94d..6c10692 100644 --- a/lisp/setup-lisp.el +++ b/lisp/setup-lisp.el @@ -14,8 +14,9 @@ (dolist (map `(,emacs-lisp-mode-map ;; ,ielm-map ,lisp-interaction-mode-map)) - (evil-define-key 'normal map (kbd "M-.") 'elisp-slime-nav-find-elisp-thing-at-point) - (evil-define-key 'normal map (kbd "M-,") 'pop-tag-mark)))) + (with-eval-after-load 'evil + (evil-define-key 'normal map (kbd "M-.") 'elisp-slime-nav-find-elisp-thing-at-point) + (evil-define-key 'normal map (kbd "M-,") 'pop-tag-mark))))) (use-package auto-compile diff --git a/lisp/setup-packages.el b/lisp/setup-packages.el index aa1c7d7..759c451 100644 --- a/lisp/setup-packages.el +++ b/lisp/setup-packages.el @@ -6,33 +6,39 @@ ;;; Code: + (require 'package) (require 'tls) + (setq tls-checktrust t) + (setq-default package-archives '(("gnu" . "https://elpa.gnu.org/packages/"))) -;;; Add melpa archive + +;;; Add org and melpa package archives (let* ((no-ssl (and (memq system-type '(windows-nt ms-dos)) - (not (gnutls-available-p)))) - (url (concat (if no-ssl "http" "https") "://melpa.org/packages/"))) - (add-to-list 'package-archives (cons "melpa" url) t)) + (not (gnutls-available-p)))) + (melpa-url (concat (if no-ssl "http" "https") "://melpa.org/packages/")) + (org-url (concat (if no-ssl "http" "https") "://orgmode.org/elpa/"))) + (add-to-list 'package-archives (cons "melpa" melpa-url)) + (add-to-list 'package-archives (cons "org" org-url))) -;;; Add org archive -(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) ;;; Load and activate lisp packages (package-initialize) + ;;; Fetch the list of available packages (unless package-archive-contents (package-refresh-contents)) + ;;; Install use-package for easy package configuration (unless (package-installed-p 'use-package) (package-install 'use-package)) -(require 'use-package) +(require 'use-package) ;;; setup-packages.el ends here -- 2.38.4