From f6bd936f91fccd51a1160f9fc012b23ab52c73b9 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Mon, 28 May 2018 09:23:25 -0700 Subject: Start moving away from Org mode --- emacs/.emacs.d/init.el | 151 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 emacs/.emacs.d/init.el (limited to 'emacs/.emacs.d/init.el') diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el new file mode 100644 index 0000000..058e86e --- /dev/null +++ b/emacs/.emacs.d/init.el @@ -0,0 +1,151 @@ +;;; init.el --- Tom-Emacs Interface -*- lexical-binding: t; -*- + +;; Copyright (C) 2018 Tom Willemse + +;; Author: Tom Willemse +;; Keywords: local + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; This is my Emacs configuration. It has gone through many iterations +;; before and may yet go through many more iterations. + +;;; Code: + +(require 'diminish) ; To hide minor mode lighters. +(require 'package) ; To load packages installed through ELPA. + +(defalias 'yes-or-no-p 'y-or-n-p) + +;;;; Visual initialization: + +;; In order to make the change from the default visuals to my +;; preferred setings as quick as possible, I put anything that will +;; have an immediate effect first. + +(add-to-list 'custom-theme-load-path + (locate-user-emacs-file "local-lisp/yoshi-theme")) + +(setq inhibit-startup-screen t) + +(setq default-frame-alist + (append default-frame-alist + '((font . "Fantasque Sans Mono-15") + (internal-border-width . 15)))) + +(menu-bar-mode -1) +(tool-bar-mode -1) +(scroll-bar-mode -1) + +(load-theme 'yoshi :no-confirm) + +;;;; Rest: + +(eval-and-compile + (mapc (lambda (d) (add-to-list 'load-path d)) + (directory-files + (locate-user-emacs-file "vendor-lisp/") t "^[^.]")) + + (add-to-list 'load-path (locate-user-emacs-file "local-lisp/")) + + (let ((loaddefs (locate-user-emacs-file "local-lisp/autoloads.el"))) + (when (file-exists-p loaddefs) + (load loaddefs)))) + +(setq package-archives + (append package-archives + '(("melpa" . "https://melpa.org/packages/") + ("org" . "http://orgmode.org/elpa/")))) + +(eval-and-compile (package-initialize)) + +(defvar init--backup-directory + (locate-user-emacs-file "data/backup-files/") + "The location for backup files.") + +(defvar init--auto-save-directory + (locate-user-emacs-file "data/auto-save-files/") + "The location for auto-save files.") + +(defvar init--auto-save-list-prefix + (locate-user-emacs-file "data/auto-save-list/.saves-") + "Prefix for auto-save list files.") + +(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) + +(add-to-list 'auto-save-file-name-transforms + `(".*" ,init--auto-save-directory t) :append) + +(setq auto-save-list-file-prefix init--auto-save-list-prefix) + +(setq backup-directory-alist `((".*" . ,init--backup-directory))) + +(setq-default cursor-type '(bar . 2)) + +(setq indent-tabs-mode nil) + +(setq require-final-newline t) + +(setq sentence-end-double-space nil) + +(setq-default tab-width 4) + +(setq-default truncate-lines t) + +(setq user-full-name "Tom Willemse") +(setq user-mail-address "tom@ryuslash.org") + +(global-set-key (kbd "C-M-SPC") 'er/expand-region) +(global-set-key (kbd "C-c (") 'embrace-commander) +(global-set-key (kbd "C-c m") 'oni-hydra-magit/body) +(global-set-key (kbd "C-c o") 'oni-hydra-org/body) +(global-set-key (kbd "M-+") 'mc/mark-next-like-this) + +(global-unset-key (kbd "C-z")) + +(show-paren-mode) + +;;;; Destroy trailing whitespace: + +(require 'destroy-trailing-whitespace) +(global-destroy-trailing-whitespace-mode) + +;;;; Ivy: + +(require 'ivy) + +(ivy-mode) + +(diminish 'ivy-mode) + +;;;; Counsel: + +(require 'counsel) + +(setq counsel-find-file-ignore-regexp + (rx (or (and bos ".") + (and ".zwc" eos)))) + +(counsel-mode) + +(diminish 'counsel-mode) + +;;;; Lazy configurations: + +(with-eval-after-load 'bookmark (load "init/oni-bookmarks")) + +(provide 'init) +;;; init.el ends here -- cgit v1.2.3-54-g00ecf