Skip to content

Instantly share code, notes, and snippets.

@matthew-ball
Created December 8, 2014 00:46
Show Gist options
  • Save matthew-ball/24d0af07fb1f99a3e6df to your computer and use it in GitHub Desktop.
Save matthew-ball/24d0af07fb1f99a3e6df to your computer and use it in GitHub Desktop.
(defgroup user-variables nil "User variables.")
(defcustom user-notes-file "~/Documents/notes.org" "File for user's notes." :group 'user-variables)
(defcustom user-journal-file "~/Documents/journal.org" "File for user's journal." :group 'user-variables)
(defcustom user-journal-directory "~/Documents/.journal/" "Directory for user's journal files." :group 'user-variables)
(defcustom user-archive-file "~/Documents/.archive.org" "Directory for archiving user's completed tasks." :group 'user-variables)
(defcustom user-home-directory "~/" "User home directory." :group 'user-variables)
(defcustom user-documents-directory "~/Documents/" "User documents directory." :group 'user-variables)
(when (display-graphic-p)
;; (load-theme 'tango)
(set-face-attribute 'default nil :height 90))
;; (menu-bar-mode -1)
(tool-bar-mode -1)
;; (scroll-bar-mode -1)
(size-indication-mode nil)
(blink-cursor-mode -1)
(tooltip-mode -1)
(set-fringe-mode '(1 . 0))
(add-hook 'text-mode-hook #'turn-on-visual-line-mode)
(setq visual-line-fringe-indicators '(left-curly-arrow nil))
(toggle-indicate-empty-lines)
(setq inhibit-startup-message t
inhibit-startup-echo-area-message t
mouse-yank-at-point t
completion-ignore t
line-number-mode nil
column-number-mode nil
size-indication-mode nil
read-file-name-completion-ignore-case t
auto-compression-mode t
message-log-max 500
suggest-key-bindings nil
confirm-nonexistent-file-or-buffer nil)
(fset 'yes-or-no-p 'y-or-n-p)
(file-name-shadow-mode 1)
(delete-selection-mode 1)
(cua-mode 1)
(set-language-environment "UTF-8")
(require 'package)
(package-initialize)
(setq load-prefer-new t)
(setq package-archives '(("melpa" . "http://melpa.org/packages/")
("gnu" . "http://elpa.gnu.org/packages/")))
(defun install-packages (&rest packages)
(mapcar
#'(lambda (package)
(if (package-installed-p packages)
nil
(if (y-or-n-p (format "Package %s is missing. Install it? " package))
(package-install package)
package)))
packages))
(install-packages 'smex 'smart-mode-line 'org-journal 'undo-tree)
(require 'recentf)
(setq recentf-save-file (expand-file-name (concat user-emacs-directory "recent-files"))
recentf-max-saved-items 500
recentf-max-menuu-items 25)
(recentf-mode t)
(require 'ido)
(ido-mode 'both)
(setq ido-enable-flex-matchinq t
ido-enable-regexp t
ido-use-virtual-buffers t
ido-create-new-buffer 'always
ido-ignore-extensions t
ido-case-fold t
ido-max-work-directory-list 500
ido-max-work-file-list 500
ido-max-prospects 7
ido-work-directory-list-file (expand-file-name (concat user-emacs-directory "ido-cache"))
ido-work-directory-list `(,(expand-file-name user-home-directory)
,(expand-file-name user-documents-directory))
ido-show-dot-for-dired t)
(require 'flyspell)
(setq flyspell-issue-welcome-flag nil)
(add-hook 'text-mode-hook 'turn-on-flyspell)
(require 'ispell)
(setq ispell-program-name "aspell")
(require 'org)
(setq org-return-follows-link t
org-completion-use-ido t
org-outline-path-complete-in-steps t
org-footnote-auto-adjust t
org-directory (expand-file-name user-documents-directory)
org-default-notes-file (expand-file-name user-notes-file)
org-archive-location (expand-file-name (concat user-archive-file "::* Archives"))
org-agenda-files `(,(expand-file-name user-notes-file)
,(expand-file-name user-journal-file))
org-hide-emphasis-markers t)
(defun custom-org-mode-keybindings ()
(global-set-key (kbd "C-c a") #'org-agenda)
(global-set-key (kbd "C-c c") #'org-capture))
(defun custom-org-mode ()
(org-toggle-pretty-entities)
(imenu-add-to-menubar "Imenu")
(custom-org-mode-keybindings))
(add-hook 'org-mode-hook #'custom-org-mode)
(require 'smex)
(setq smex-save-file (concat user-emacs-directory "smex-items"))
(smex-initialize)
(require 'smart-mode-line)
(sml/setup)
(require 'org-journal)
(setq org-journal-dir user-journal-directory)
(require 'undo-tree)
(global-undo-tree-mode)
(require 'ibuffer)
(global-set-key (kbd "C-x C-b") #'ibuffer)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment