From 53141b5d542de834321a5deccf9f88ee6b9ee997 Mon Sep 17 00:00:00 2001 From: brettlangdon Date: Sun, 30 Dec 2018 13:01:33 -0500 Subject: [PATCH] consolidate all core into init.el --- emacs.d/core.el | 58 ------------ emacs.d/funcs.el | 9 -- emacs.d/init.el | 220 +++++++++++++++++++++++++++++++++++++++++--- emacs.d/packages.el | 77 ---------------- emacs.d/startup.el | 27 ------ emacs.d/theme.el | 25 ----- 6 files changed, 208 insertions(+), 208 deletions(-) delete mode 100644 emacs.d/core.el delete mode 100644 emacs.d/funcs.el delete mode 100644 emacs.d/packages.el delete mode 100644 emacs.d/startup.el delete mode 100644 emacs.d/theme.el diff --git a/emacs.d/core.el b/emacs.d/core.el deleted file mode 100644 index 09f4506..0000000 --- a/emacs.d/core.el +++ /dev/null @@ -1,58 +0,0 @@ -;; Configure customization -(setq custom-file "~/.emacs.d/custom.el") -(load custom-file) - -;; Hide startup message -(setq inhibit-startup-message t) - -;; Configure package -(require 'package) - -(add-to-list 'package-archives - '("melpa-stable" . "https://stable.melpa.org/packages/") t) - -(package-initialize) - -(when (not package-archive-contents) - (package-refresh-contents)) - -(unless (package-installed-p 'use-package) - (package-refresh-contents) - (package-install 'use-package)) - -;; Configure use-package -;; https://github.com/jwiegley/use-package -(eval-when-compile - (require 'use-package)) -(setq use-package-always-ensure t) - -;; Disable backup files and auto-saving -(setq backup-inhibited t) -(setq auto-save-default nil) - -;; revert buffers automatically when underlying files are changed externally -(global-auto-revert-mode t) - -;; Subword mode -(global-subword-mode) - -;; Save place in file -(save-place-mode 1) - -;; Save history -(setq savehist-additional-variables '(mark-ring - global-mark-ring - search-ring - regexp-search-ring - extended-command-history) - savehist-autosave-interval 60 - enable-recursive-minibuffers t - history-length 1000) -(savehist-mode 1) - -;; smart tab behavior - indent or complete -(setq tab-always-indent 'complete) - -;; Custom functions -;; DEV: Load this last -(load "~/.emacs.d/funcs.el") diff --git a/emacs.d/funcs.el b/emacs.d/funcs.el deleted file mode 100644 index 1ead011..0000000 --- a/emacs.d/funcs.el +++ /dev/null @@ -1,9 +0,0 @@ -(defun enable-flycheck (hook) - (add-hook hook - ;; Flycheck - ;; http://www.flycheck.org/en/latest/index.html - `(lambda () - (use-package flycheck - :diminish flycheck-mode - :config - (flycheck-mode))))) diff --git a/emacs.d/init.el b/emacs.d/init.el index 5978167..8b747d7 100644 --- a/emacs.d/init.el +++ b/emacs.d/init.el @@ -1,16 +1,212 @@ -(eval-and-compile - (progn - ;; Startup optimizations - (load "~/.emacs.d/startup.el") +;; -- Startup optimizations -- +;; The below will increase the GC limits and remove the file name regex checker +;; for 5 seconds. This helps reduce the number of GC calls and the total time spent +;; per file loaded - ;; Configure core required setup - (load "~/.emacs.d/core.el") +;; Set garbage collection threshold +;; https://www.reddit.com/r/emacs/comments/3kqt6e/2_easy_little_known_steps_to_speed_up_emacs_start/ +(setq gc-cons-threshold-original gc-cons-threshold + gc-cons-percentage-original gc-cons-percentage) +(setq gc-cons-threshold (* 1024 1024 100) + gc-cons-percentage 0.6) - ;; Configure theme - (load "~/.emacs.d/theme.el") +;; Set file-name-handler-alist +;; https://www.reddit.com/r/emacs/comments/3kqt6e/2_easy_little_known_steps_to_speed_up_emacs_start/ +(setq file-name-handler-alist-original file-name-handler-alist) +(setq file-name-handler-alist nil) - ;; Configure global packages - (load "~/.emacs.d/packages.el") +;; Set deferred timer to reset them +;; https://emacs.stackexchange.com/a/34367 +(run-with-idle-timer + 5 nil + (lambda () + (setq gc-cons-threshold gc-cons-threshold-original) + (setq gc-cons-percentage gc-cons-percentage-original) + (setq file-name-handler-alist file-name-handler-alist-original) + (makunbound 'gc-cons-threshold-original) + (makunbound 'gc-cons-percentage-original) + (makunbound 'file-name-handler-alist-original) + (message "gc-cons-threshold and file-name-handler-alist restored"))) - ;; Load all layers - (mapc 'load (file-expand-wildcards "~/.emacs.d/layers/*/*.el")))) + +;; -- Core setup -- +(progn + ;; Configure customization + (setq custom-file "~/.emacs.d/custom.el") + (load custom-file) + + ;; Hide startup message + (setq inhibit-startup-message t) + + ;; Configure package + (require 'package) + + (add-to-list 'package-archives + '("melpa-stable" . "https://stable.melpa.org/packages/") t) + + (package-initialize) + + (when (not package-archive-contents) + (package-refresh-contents)) + + (unless (package-installed-p 'use-package) + (package-refresh-contents) + (package-install 'use-package)) + + ;; Configure use-package + ;; https://github.com/jwiegley/use-package + (eval-when-compile + (require 'use-package)) + (setq use-package-always-ensure t) + + ;; Disable backup files and auto-saving + (setq backup-inhibited t) + (setq auto-save-default nil) + + ;; revert buffers automatically when underlying files are changed externally + (global-auto-revert-mode t) + + ;; Subword mode + (global-subword-mode) + + ;; Save place in file + (save-place-mode 1) + + ;; Save history + (setq savehist-additional-variables '(mark-ring + global-mark-ring + search-ring + regexp-search-ring + extended-command-history) + savehist-autosave-interval 60 + enable-recursive-minibuffers t + history-length 1000) + (savehist-mode 1) + + ;; smart tab behavior - indent or complete + (setq tab-always-indent 'complete)) + + +;; -- Custom functions -- +(progn + (defun enable-flycheck (hook) + (add-hook hook + ;; Flycheck + ;; http://www.flycheck.org/en/latest/index.html + `(lambda () + (use-package flycheck + :diminish flycheck-mode + :config + (flycheck-mode)))))) + + +;; -- Theme/Style setup -- +(progn + (use-package monokai-theme + :config + (load-theme 'monokai t)) + + ;; Enable global line numbers + (global-linum-mode t) + + ;; Hide menu bar + (menu-bar-mode -1) + + ;; Highlight current line + (global-hl-line-mode t) + + ;; Enable center cursor + (use-package centered-cursor-mode + :load-path "vendor/" + :config + (global-centered-cursor-mode)) + + ;; Enable doom-modeline + ;; https://seagle0128.github.io/doom-modeline/ + (use-package doom-modeline + :ensure t + :defer t + :hook (after-init . doom-modeline-init))) + + +;; -- Global packages -- +(progn + ;; Configure osx-clipboard + ;; https://github.com/joddie/osx-clipboard-mode + (use-package osx-clipboard + :diminish osx-clipboard-mode + :config + (osx-clipboard-mode t)) + + ;; Configure helm + ;; https://emacs-helm.github.io/helm/ + (use-package helm-config + :ensure helm + :diminish helm-mode + :bind (("M-x" . helm-M-x) + ("C-x b" . helm-mini) + ("C-x C-f" . helm-find-files)) + :init + (setq helm-move-to-line-cycle-in-source t + helm-M-x-always-save-history t) + :config + (use-package helm-ag) + (helm-mode 1)) + + ;; Configure projectile + ;; https://www.projectile.mx/en/latest/ + (use-package projectile + :delight '(:eval (concat " " (projectile-project-name))) + :config + (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) + (projectile-global-mode +1) + ;; Use helm-projectile + :config + (setq projectile-completion-system 'helm + projectile-switch-project-action 'helm-projectile) + (helm-projectile-on)) + + ;; Configure helm-projectile + ;; https://github.com/bbatsov/helm-projectile + (use-package helm-projectile) + + + ;; Configure company-mode + ;; http://company-mode.github.io/ + (use-package company + :diminish company-mode + :init + (setq company-idle-delay 0.2 + company-minimum-prefix-length 2 + company-require-match nil + company-dabbrev-ignore-case nil + company-dabbrev-downcase nil) + :config + (global-company-mode)) + + + ;; Configure ws-butler + ;; https://github.com/lewang/ws-butler + (use-package ws-butler + :init + (setq ws-butler-keep-whitespace-before-point nil + require-final-newline t) + :config + (ws-butler-global-mode +1)) + + + ;; Configure diminish + ;; https://github.com/myrjola/diminish.el + (use-package diminish) + + + ;; Smartparens + ;; https://github.com/Fuco1/smartparens + (use-package smartparens + :diminish + :config + (smartparens-global-mode))) + + +;; -- Load layers -- +(mapc 'load (file-expand-wildcards "~/.emacs.d/layers/*/*.el")) diff --git a/emacs.d/packages.el b/emacs.d/packages.el deleted file mode 100644 index 8b689bd..0000000 --- a/emacs.d/packages.el +++ /dev/null @@ -1,77 +0,0 @@ -;; Global packages - -;; Configure osx-clipboard -;; https://github.com/joddie/osx-clipboard-mode -(use-package osx-clipboard - :diminish osx-clipboard-mode - :config - (osx-clipboard-mode t)) - -;; Configure helm -;; https://emacs-helm.github.io/helm/ -(use-package helm-config - :ensure helm - :diminish helm-mode - :bind (("M-x" . helm-M-x) - ("C-x b" . helm-mini) - ("C-x C-f" . helm-find-files)) - :init - (setq helm-move-to-line-cycle-in-source t - helm-M-x-always-save-history t) - :config - (use-package helm-ag) - (helm-mode 1)) - -;; Configure projectile -;; https://www.projectile.mx/en/latest/ -(use-package projectile - :delight '(:eval (concat " " (projectile-project-name))) - :config - (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) - (projectile-global-mode +1) - ;; Use helm-projectile - :config - (setq projectile-completion-system 'helm - projectile-switch-project-action 'helm-projectile) - (helm-projectile-on)) - -;; Configure helm-projectile -;; https://github.com/bbatsov/helm-projectile -(use-package helm-projectile) - - -;; Configure company-mode -;; http://company-mode.github.io/ -(use-package company - :diminish company-mode - :init - (setq company-idle-delay 0.2 - company-minimum-prefix-length 2 - company-require-match nil - company-dabbrev-ignore-case nil - company-dabbrev-downcase nil) - :config - (global-company-mode)) - - -;; Configure ws-butler -;; https://github.com/lewang/ws-butler -(use-package ws-butler - :init - (setq ws-butler-keep-whitespace-before-point nil - require-final-newline t) - :config - (ws-butler-global-mode +1)) - - -;; Configure diminish -;; https://github.com/myrjola/diminish.el -(use-package diminish) - - -;; Smartparens -;; https://github.com/Fuco1/smartparens -(use-package smartparens - :diminish - :config - (smartparens-global-mode)) diff --git a/emacs.d/startup.el b/emacs.d/startup.el deleted file mode 100644 index 32255d7..0000000 --- a/emacs.d/startup.el +++ /dev/null @@ -1,27 +0,0 @@ -;; Startup optimizations - -;; Set garbage collection threshold -;; https://www.reddit.com/r/emacs/comments/3kqt6e/2_easy_little_known_steps_to_speed_up_emacs_start/ -(setq gc-cons-threshold-original gc-cons-threshold - gc-cons-percentage-original gc-cons-percentage) -(setq gc-cons-threshold (* 1024 1024 100) - gc-cons-percentage 0.6) - -;; Set file-name-handler-alist -;; https://www.reddit.com/r/emacs/comments/3kqt6e/2_easy_little_known_steps_to_speed_up_emacs_start/ -(setq file-name-handler-alist-original file-name-handler-alist) -(setq file-name-handler-alist nil) - -;; Set deferred timer to reset them -;; https://emacs.stackexchange.com/a/34367 -(run-with-idle-timer - 5 nil - (lambda () - (setq gc-cons-threshold gc-cons-threshold-original) - (setq gc-cons-percentage gc-cons-percentage-original) - (setq file-name-handler-alist file-name-handler-alist-original) - (makunbound 'gc-cons-threshold-original) - (makunbound 'gc-cons-percentage-original) - (makunbound 'file-name-handler-alist-original) - (message "gc-cons-threshold and file-name-handler-alist restored"))) - diff --git a/emacs.d/theme.el b/emacs.d/theme.el deleted file mode 100644 index be4d87e..0000000 --- a/emacs.d/theme.el +++ /dev/null @@ -1,25 +0,0 @@ -(use-package monokai-theme - :config - (load-theme 'monokai t)) - -;; Enable global line numbers -(global-linum-mode t) - -;; Hide menu bar -(menu-bar-mode -1) - -;; Highlight current line -(global-hl-line-mode t) - -;; Enable center cursor -(use-package centered-cursor-mode - :load-path "vendor/" - :config - (global-centered-cursor-mode)) - -;; Enable doom-modeline -;; https://seagle0128.github.io/doom-modeline/ -(use-package doom-modeline - :ensure t - :defer t - :hook (after-init . doom-modeline-init))