;;; Emacs for the jaded vimmer ;; ;; Author: Henrik Lissner ;; URL: https://github.com/hlissner/emacs.d ;; ;;; Description: ;; ;; My emacs.d, which sets out to rustle emacs users' jimmies by making ;; emacs as vim-like as possible. ;; ;; Naming conventions: ;; * my-- ; interal defuns, meant for use via elisp ;; * my- ; interactive command, can be used via M-x ;; * my. ; commands with buffer side-effects (for keybinds) ;; * my: ; defuns meant to be used from Ex mode ;; * * ; for altering the visual state ;; ;;; Code: (defvar DEBUG-MODE nil) (defvar my-dir user-emacs-directory) (defvar my-core-dir (concat my-dir "core/")) (defvar my-modules-dir (concat my-dir "init/")) (defvar my-contrib-dir (concat my-dir "contrib/")) (defvar my-themes-dir (concat my-dir "themes/")) (defvar my-snippets-dir (concat my-dir "snippets/")) (defvar my-tmp-dir (concat my-dir ".cache/")) (defvar *dark-theme 'v0) (defvar *light-theme 'github) ; wtb better light theme... (defvar *fonts `(,(font-spec :family "Terminus (TTF)" :size 12 :antialias nil) ,(font-spec :family "Inconsolata" :size 14 :antialias t) ,(font-spec :family "Ubuntu Mono" :size 20 :antialias t) )) (push my-core-dir load-path) (push my-modules-dir load-path) (push my-contrib-dir load-path) ;; Add elisp and cask dirs to load-path (let ((default-directory my-contrib-dir)) (normal-top-level-add-subdirs-to-load-path)) (let ((default-directory (expand-file-name (concat ".cask/" emacs-version "/elpa/") my-dir))) (normal-top-level-add-subdirs-to-load-path)) (require 'use-package) (mapc 'require ;; ls init/{init,my}* | xargs basename | sed -e 's/\..*$//' '(core core-ui ; aesthetics core-evil ; evil-mode and its plugins core-editor ; expand-region, rotate-text, smartparens ;; init-auto-complete init-auto-insert ; for the lazy typis init-company ; see above init-dev ; general dev tools/settings init-fly ; fly(check|spell) init-git ; git-gutter + modes init-ido ; a search engine for your car keys init-helm ; a search engine for your life init-project ; project tools: dired, neotree init-cc ; C/C++/Obj-C madness ;; init-d ; D - It's C, but better! ;; init-cscope init-csharp init-lisp ; all things lisp; elisp, clojure ;; init-erlang ;; init-eshell init-go init-java ; the poster child for carpal tunnel syndome init-js ; alert("not java, javascript!") init-lua ; one-based indices? One-based indices. ;; init-org ; for fearless [organized] leader init-php ; making php less painful to work with init-python ; beautiful is better than ugly init-regex ; /^[^\s](meaning)[^\n]*/ init-ruby ; <3 init-scss ; @include magic; init-smalltalk ; nice weather we're having init-sh ; #!/bin/bash_your_head_in init-swift ; yay, emoji variables! init-text ; I got nothing... init-tmux ;; init-rust ;; init-vala init-web init-workgroups init-yasnippet ; type for me init-youtube ; tools for youtube vids my-defuns my-bindings my-commands my-settings )) ;; I've created a monster!