diff --git a/emacs b/emacs index 52357ef..0423fbe 100644 --- a/emacs +++ b/emacs @@ -1,160 +1,29 @@ ;; -*- mode: Emacs-Lisp; -*- -(add-to-list 'load-path "~/.emacs.d") -(add-to-list 'load-path "~/.emacs.d/naquadah-theme") -(add-to-list 'load-path "~/.emacs.d/auto-complete-clang") -;; Requires -(require 'uniquify) -(require 'autopair) -(require 'color-theme) -(require 'flymake) -(require 'color-theme-gruber-darker) -(require 'minimap) -(require 'column-marker) -(require 'color-theme-weirdness) -(require 'auto-complete-clang) +(setq load-dir "~/.emacs.d/") +(setq myfiles (directory-files load-dir nil ".el$")) -;; Auto complete -(require 'auto-complete-config) -(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict") -(ac-config-default) - -;; Autoloads -(autoload 'vala-mode - "vala-mode.elc" "A Major mode for editing Vala files" t) -(autoload 'csharp-mode - "csharp-mode.elc" "A Major mode for editing C# files" t) -(autoload 'javascript-mode - "javascript.elc" "A Major mode for editing JavaScript files" t) -(autoload 'sqlplus-mode - "sqlplus.elc" "A Major mode for communicating with Oracle" t) -(autoload 'batch-mode - "batch-mode.elc" "A Major mode for editing Batch files" t) -(autoload 'rainbow-mode - "rainbow-mode.elc" "A Minor mode for showing colors inline" t) -(autoload 'lua-mode - "lua-mode.elc" "A Major mode for editing Lua files" t) - -;; Platform specifics -(if (eq system-type 'gnu/linux) ; if we're running linux - (set-frame-font "-*-tamsyn-medium-*-*-*-15-*-*-*-*-80-*-*")) - -;; Variables -(setq - inhibit-startup-message t ; don't show welcom screen - require-final-newline t ; always append a newline to a file, if - ; it doesn't have one - font-lock-maximum-decoration t ; denotes my interest in maximum - ; possible fontification - uniquify-buffer-name-style 'reverse ; reverse uniquify file names - backup-directory-alist `((".*" . ,temporary-file-directory)) - ; backup file location - auto-save-file-name-transforms `((".*" ,temporary-file-directory t)) - ; autosave file location - inhibit-default-init t) -(setq-default indent-tabs-mode nil) ; spaces, no tabs - -(fset 'yes-or-no-p 'y-or-n-p) ; switch yes or no answers to y or n - ; answers - -;; Mode settings -( tool-bar-mode -1) ; no toolbar -( menu-bar-mode -1) ; no menu -( line-number-mode -1) ; don't show line numbers in splitter -( global-linum-mode t) ; show line numbers in gutter -( column-number-mode t) ; show column numbers in splitter -(global-font-lock-mode t) ; show syntax highlighting -( show-paren-mode t) ; show matching parens -( autopair-global-mode ) ; enable autopair mode -(delete-selection-mode t) ; delete selection upon typing -(global-auto-complete-mode -1) ; don't enable autocomplete for - ; everything - -;; Keybindings -(global-set-key "\C-m" 'newline-and-indent) ; Automatically indent on newline -(global-set-key (kbd "C-x n r") 'narrow-to-region ) -(global-set-key [C-tab] 'hs-toggle-hiding ) -(global-set-key (kbd "") 'compile) - -;; File associations -(add-to-list 'auto-mode-alist '("\\.vala$" . vala-mode)) -(add-to-list 'auto-mode-alist '("\\.vapi$" . vala-mode)) -(add-to-list 'auto-mode-alist '("\\.cs$" . csharp-mode)) -(add-to-list 'auto-mode-alist '("\\.bat$" . batch-mode)) -(add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode)) - -(add-to-list 'file-coding-system-alist '("\\.vala$" . utf-8)) -(add-to-list 'file-coding-system-alist '("\\.vapi$" . utf-8)) +(while myfiles + (let ((myfilename (concat load-dir (car myfiles)))) + (if (not (file-exists-p (concat myfilename "c"))) + (byte-compile-file myfilename)) + (load (substring myfilename 0 (- (length myfilename) 3))) + (setq myfiles (cdr myfiles)))) (add-to-list 'compilation-finish-functions 'my-comp-finish-function) -;; Color theme -(require 'naquadah-theme) - -;; Test for frame fonts -(defun setup-system-frame-colours (&rest frame) - (let ((f (if (car frame) - (car frame) - (selected-frame)))) - (progn - (set-frame-font "-*-tamsyn-medium-*-*-*-15-*-*-*-*-80-*-*")))) -(require 'server) -(defadvice server-create-window-system-frame - (after set-system-frame-colours ()) - "Set custom frame colours when creating the first frame on a display" - (message "Running after frame-initialize") - (setup-system-frame-colours)) -(ad-activate 'server-create-window-system-frame) -(add-hook 'after-make-frame-functions 'setup-system-frame-colours t) - -;; Hooks -(add-hook 'find-file-hook 'flymake-find-file-hook) -(add-hook 'after-save-hook - (lambda () - (setq fname (buffer-file-name)) - (setq suffix (file-name-extension fname)) - - (if (string-equal suffix "el") - (byte-compile-file fname)))) -;;; C -(add-hook 'c-mode-hook - (lambda () - (hs-minor-mode t) - (column-marker-1 80) -; (auto-complete-mode) -; (setq ac-sources '(ac-source-clang)) - )) -;;; CSS -(add-hook 'css-mode-hook - (lambda () - (rainbow-mode))) -;;; Emacs Lisp -(add-hook 'emacs-lisp-mode-hook - (lambda () - (auto-complete-mode t))) -;;; Interactive Lisp -(add-hook 'lisp-interaction-mode-hook - (lambda () - (auto-complete-mode t))) -;;; Org -;(add-hook 'org-mode-hook -; (lambda () -; (flyspell-mode 1) -; (auto-fill-mode 1) -; (message "org-mode started"))) - (custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. -) + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(org-agenda-files (quote ("~/Documents/main.org" "~/Documents/aethon/aethon.org")))) (custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. -) + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) ;;; This was installed by package-install.el. diff --git a/emacs.d/00-paths.el b/emacs.d/00-paths.el new file mode 100644 index 0000000..722b8c8 --- /dev/null +++ b/emacs.d/00-paths.el @@ -0,0 +1,3 @@ +(add-to-list 'load-path "~/.emacs.d/elisp") +(add-to-list 'load-path "~/.emacs.d/naquadah-theme") +(add-to-list 'load-path "~/.emacs.d/auto-complete-clang") diff --git a/emacs.d/10-file-associations.el b/emacs.d/10-file-associations.el new file mode 100644 index 0000000..00084f4 --- /dev/null +++ b/emacs.d/10-file-associations.el @@ -0,0 +1,8 @@ +(add-to-list 'auto-mode-alist '("\\.vala$" . vala-mode)) +(add-to-list 'auto-mode-alist '("\\.vapi$" . vala-mode)) +(add-to-list 'auto-mode-alist '("\\.cs$" . csharp-mode)) +(add-to-list 'auto-mode-alist '("\\.bat$" . batch-mode)) +(add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode)) + +(add-to-list 'file-coding-system-alist '("\\.vala$" . utf-8)) +(add-to-list 'file-coding-system-alist '("\\.vapi$" . utf-8)) diff --git a/emacs.d/10-keys.el b/emacs.d/10-keys.el new file mode 100644 index 0000000..2736887 --- /dev/null +++ b/emacs.d/10-keys.el @@ -0,0 +1,5 @@ +(global-set-key "\C-m" 'newline-and-indent) + ; Automatically indent on newline +(global-set-key (kbd "C-x n r") 'narrow-to-region) +(global-set-key [C-tab] 'hs-toggle-hiding) +(global-set-key (kbd "") 'compile) diff --git a/emacs.d/10-modules.el b/emacs.d/10-modules.el new file mode 100644 index 0000000..3db81b7 --- /dev/null +++ b/emacs.d/10-modules.el @@ -0,0 +1,16 @@ +(require 'minimap) +(require 'naquadah-theme) +;(require 'auto-complete-clang) + +(autoload 'vala-mode + "vala-mode" "A Major mode for editing Vala files" t) +(autoload 'csharp-mode + "csharp-mode" "A Major mode for editing C# files" t) +(autoload 'javascript-mode + "javascript" "A Major mode for editing JavaScript files" t) +(autoload 'sqlplus-mode + "sqlplus" "A Major mode for communicating with Oracle" t) +(autoload 'batch-mode + "batch-mode" "A Major mode for editing Batch files" t) +(autoload 'lua-mode + "lua-mode" "A Major mode for editing Lua files" t) diff --git a/emacs.d/10-settings.el b/emacs.d/10-settings.el new file mode 100644 index 0000000..1877c58 --- /dev/null +++ b/emacs.d/10-settings.el @@ -0,0 +1,42 @@ +(if (eq system-type 'gnu/linux) ; if we're running linux + (set-frame-font "-*-tamsyn-medium-*-*-*-15-*-*-*-*-80-*-*")) + +(setq inhibit-startup-message t) ; don't show welcome screen +(setq require-final-newline t) ; always append a newline to a file, if it doesn't have one +(setq font-lock-maximum-decoration t) ; denotes my interest in maximum possible fontification +(setq inhibit-default-init t) ; don't load default init +(setq indent-tabs-mode nil) ; spaces, no tabs + +(setq backup-directory-alist `((".*" . ,temporary-file-directory))) + ; backup file location +(setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t))) + ; autosave file location + +(fset 'yes-or-no-p 'y-or-n-p) ; switch yes or no to y or n + +(tool-bar-mode -1) ; no toolbar +(menu-bar-mode -1) ; no menubar +(line-number-mode -1) ; don't show line number in splitter +(global-linum-mode t) ; show them in the gutter +(column-number-mode t) ; show column number in splitter +(global-font-lock-mode t) ; show syntax highlighting, old +(show-paren-mode t) ; show matching parens +(delete-selection-mode t) ; delete selection upon typing + +;; Byte-compile elisp files on save +(add-hook 'after-save-hook + (lambda () + (let ((fname (buffer-file-name))) + (let ((suffix (file-name-extension fname))) + (if (string-equal suffix "el") + (byte-compile-file fname)))))) + + + + + + + + + + diff --git a/emacs.d/20-auto-complete.el b/emacs.d/20-auto-complete.el new file mode 100644 index 0000000..5d8fb59 --- /dev/null +++ b/emacs.d/20-auto-complete.el @@ -0,0 +1,12 @@ +(require 'auto-complete-config) +(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") +(ac-config-default) + +(global-auto-complete-mode -1) + +(add-hook 'emacs-lisp-mode-hook + (lambda() + (auto-complete-mode t))) +(add-hook 'lisp-interaction-mode-hook + (lambda () + (auto-complete-mode t))) diff --git a/emacs.d/20-autopair.el b/emacs.d/20-autopair.el new file mode 100644 index 0000000..abc330c --- /dev/null +++ b/emacs.d/20-autopair.el @@ -0,0 +1,3 @@ +(require 'autopair) + +(autopair-global-mode) diff --git a/emacs.d/20-column-marker.el b/emacs.d/20-column-marker.el new file mode 100644 index 0000000..902e8e0 --- /dev/null +++ b/emacs.d/20-column-marker.el @@ -0,0 +1,5 @@ +(require 'column-marker) + +(add-hook 'c-mode-hook + (lambda () + (column-marker-1 80))) diff --git a/emacs.d/20-flymake.el b/emacs.d/20-flymake.el new file mode 100644 index 0000000..5dad1a9 --- /dev/null +++ b/emacs.d/20-flymake.el @@ -0,0 +1,2 @@ +(require 'flymake) +(add-hook 'find-file-hook 'flymake-find-file-hook) diff --git a/emacs.d/20-org.el b/emacs.d/20-org.el new file mode 100644 index 0000000..ccface5 --- /dev/null +++ b/emacs.d/20-org.el @@ -0,0 +1,21 @@ +(require 'org-crypt) + +(setq org-todo-keywords '((sequence "TODO" "IN PROGRESS" "|" "DONE"))) +(setq org-ditaa-jar-path "/usr/share/java/ditaa/ditaa-0_9.jar") +(setq org-babel-load-languages '((ditaa . t))) +(setq org-confirm-babel-evaluate nil) +(setq org-tags-exclude-from-inheritance '("crypt")) +(setq org-crypt-key "33E8CC1CC4") + ; GPG key used for encryption + +(global-set-key "\C-cl" 'org-store-link) +(global-set-key "\C-cc" 'org-capture) +(global-set-key "\C-ca" 'org-agenda) + +;; Encrypt all entries before saving +(org-crypt-use-before-save-magic) + +(add-hook 'org-mode-hook + (lambda () + (flyspell-mode 1) + (auto-fill-mode 1))) diff --git a/emacs.d/20-rainbow.el b/emacs.d/20-rainbow.el new file mode 100644 index 0000000..af635c8 --- /dev/null +++ b/emacs.d/20-rainbow.el @@ -0,0 +1,6 @@ +(autoload 'rainbow-mode "rainbow-mode" + "A Minor mode for showing colors inline" t) + +(add-hook 'css-mode-hook + (lambda () + (rainbow-mode))) diff --git a/emacs.d/20-uniquify.el b/emacs.d/20-uniquify.el new file mode 100644 index 0000000..0c31a56 --- /dev/null +++ b/emacs.d/20-uniquify.el @@ -0,0 +1,4 @@ +(require 'uniquify) + + ; reverse uniquify file names +(setq uniquify-buffer-name-style 'reverse) diff --git a/emacs.d/30-frame-fonts.el b/emacs.d/30-frame-fonts.el new file mode 100644 index 0000000..af4c9bf --- /dev/null +++ b/emacs.d/30-frame-fonts.el @@ -0,0 +1,15 @@ +;; Test for frame fonts +(defun setup-system-frame-colours (&rest frame) + (let ((f (if (car frame) + (car frame) + (selected-frame)))) + (progn + (set-frame-font "-*-tamsyn-medium-*-*-*-15-*-*-*-*-80-*-*")))) +(require 'server) +(defadvice server-create-window-system-frame + (after set-system-frame-colours ()) + "Set custom frame colours when creating the first frame on a display" + (message "Running after frame-initialize") + (setup-system-frame-colours)) +(ad-activate 'server-create-window-system-frame) +(add-hook 'after-make-frame-functions 'setup-system-frame-colours t) diff --git a/emacs.d/40-c-mode.el b/emacs.d/40-c-mode.el new file mode 100644 index 0000000..212db93 --- /dev/null +++ b/emacs.d/40-c-mode.el @@ -0,0 +1,3 @@ +(add-hook 'c-mode-hook + (lambda () + (hs-minor-mode t))) diff --git a/emacs.d/auto-complete-config.el b/emacs.d/elisp/auto-complete-config.el similarity index 100% rename from emacs.d/auto-complete-config.el rename to emacs.d/elisp/auto-complete-config.el diff --git a/emacs.d/auto-complete.el b/emacs.d/elisp/auto-complete.el similarity index 100% rename from emacs.d/auto-complete.el rename to emacs.d/elisp/auto-complete.el diff --git a/emacs.d/autopair.el b/emacs.d/elisp/autopair.el similarity index 100% rename from emacs.d/autopair.el rename to emacs.d/elisp/autopair.el diff --git a/emacs.d/batch-mode.el b/emacs.d/elisp/batch-mode.el similarity index 100% rename from emacs.d/batch-mode.el rename to emacs.d/elisp/batch-mode.el diff --git a/emacs.d/color-theme-gruber-darker.el b/emacs.d/elisp/color-theme-gruber-darker.el similarity index 100% rename from emacs.d/color-theme-gruber-darker.el rename to emacs.d/elisp/color-theme-gruber-darker.el diff --git a/emacs.d/color-theme-vibrant-ink.el b/emacs.d/elisp/color-theme-vibrant-ink.el similarity index 100% rename from emacs.d/color-theme-vibrant-ink.el rename to emacs.d/elisp/color-theme-vibrant-ink.el diff --git a/emacs.d/color-theme-weirdness.el b/emacs.d/elisp/color-theme-weirdness.el similarity index 100% rename from emacs.d/color-theme-weirdness.el rename to emacs.d/elisp/color-theme-weirdness.el diff --git a/emacs.d/color-theme.el b/emacs.d/elisp/color-theme.el similarity index 100% rename from emacs.d/color-theme.el rename to emacs.d/elisp/color-theme.el diff --git a/emacs.d/column-marker.el b/emacs.d/elisp/column-marker.el similarity index 100% rename from emacs.d/column-marker.el rename to emacs.d/elisp/column-marker.el diff --git a/emacs.d/csharp-mode.el b/emacs.d/elisp/csharp-mode.el similarity index 100% rename from emacs.d/csharp-mode.el rename to emacs.d/elisp/csharp-mode.el diff --git a/emacs.d/functions.el b/emacs.d/elisp/functions.el similarity index 100% rename from emacs.d/functions.el rename to emacs.d/elisp/functions.el diff --git a/emacs.d/javascript.el b/emacs.d/elisp/javascript.el similarity index 100% rename from emacs.d/javascript.el rename to emacs.d/elisp/javascript.el diff --git a/emacs.d/lua-mode.el b/emacs.d/elisp/lua-mode.el similarity index 100% rename from emacs.d/lua-mode.el rename to emacs.d/elisp/lua-mode.el diff --git a/emacs.d/manage-org.el b/emacs.d/elisp/manage-org.el similarity index 100% rename from emacs.d/manage-org.el rename to emacs.d/elisp/manage-org.el diff --git a/emacs.d/minimap.el b/emacs.d/elisp/minimap.el similarity index 100% rename from emacs.d/minimap.el rename to emacs.d/elisp/minimap.el diff --git a/emacs.d/popup.el b/emacs.d/elisp/popup.el similarity index 100% rename from emacs.d/popup.el rename to emacs.d/elisp/popup.el diff --git a/emacs.d/rainbow-mode.el b/emacs.d/elisp/rainbow-mode.el similarity index 100% rename from emacs.d/rainbow-mode.el rename to emacs.d/elisp/rainbow-mode.el diff --git a/emacs.d/sqlplus.el b/emacs.d/elisp/sqlplus.el similarity index 100% rename from emacs.d/sqlplus.el rename to emacs.d/elisp/sqlplus.el diff --git a/emacs.d/tabbar.el b/emacs.d/elisp/tabbar.el similarity index 100% rename from emacs.d/tabbar.el rename to emacs.d/elisp/tabbar.el diff --git a/emacs.d/vala-mode.el b/emacs.d/elisp/vala-mode.el similarity index 100% rename from emacs.d/vala-mode.el rename to emacs.d/elisp/vala-mode.el diff --git a/emacs.d/zenburn.el b/emacs.d/elisp/zenburn.el similarity index 100% rename from emacs.d/zenburn.el rename to emacs.d/elisp/zenburn.el