Browse Source
Added some functionality to emacs
Added some functionality to emacs
Emacs init.el now supports switching themes with the [f3] key.master
Drew Short
9 years ago
3 changed files with 165 additions and 114 deletions
@ -1,98 +1,149 @@ |
|||||
;; Set enironment information |
|
||||
(setq user-full-name "Drew Short") |
|
||||
(setq user-email-address "warrick@sothr.com") |
|
||||
|
|
||||
;; Set UTF-8 as the default encoding |
|
||||
(prefer-coding-system 'utf-8) |
|
||||
(setq coding-system-for-read 'utf-8) |
|
||||
(setq coding-system-for-write 'utf-8) |
|
||||
|
|
||||
;; Load common lisp |
|
||||
(require 'cl) |
|
||||
|
|
||||
;; Package management |
|
||||
(load "package") |
|
||||
(package-initialize) |
|
||||
(defvar sothr/packages '(auto-complete |
|
||||
better-defaults |
|
||||
cyberpunk-theme |
|
||||
gist |
|
||||
magit |
|
||||
markdown-mode |
|
||||
org |
|
||||
org-ac |
|
||||
org-autolist |
|
||||
org-bullets |
|
||||
org-doing |
|
||||
projectile |
|
||||
slime |
|
||||
go-mode |
|
||||
rust-mode |
|
||||
yaml-mode) |
|
||||
"Default packages") |
|
||||
|
|
||||
;; Repositories |
|
||||
(add-to-list 'package-archives |
|
||||
'("melpa" . "http://melpa.milkbox.net/packages/") t) |
|
||||
|
|
||||
(setq package-archive-enable-alist '(("melpa" deft magit))) |
|
||||
|
|
||||
;; Advice from the melpa site for a package dependency validation error in emacs 24 |
|
||||
;;(defadvice package-compute-transaction |
|
||||
;; (before package-compute-transaction-reverse (package-list requirements) activate compile) |
|
||||
;; "reverse the requirements" |
|
||||
;; (setq requirements (reverse requirements)) |
|
||||
;; (print requirements)) |
|
||||
|
|
||||
;; Make sure default packages are installed |
|
||||
(defun sothr/packages-installed-p () |
|
||||
(loop for pkg in sothr/packages |
|
||||
when (not (package-installed-p pkg)) do (return nil) |
|
||||
finally (return t))) |
|
||||
|
|
||||
;; This is the logic that runs the above function |
|
||||
(unless (sothr/packages-installed-p) |
|
||||
(message "%s" "Refreshing package database...") |
|
||||
(package-refresh-contents) |
|
||||
(dolist (pkg sothr/packages) |
|
||||
(when (not (package-installed-p pkg)) |
|
||||
(package-install pkg)))) |
|
||||
|
|
||||
;; Markdown Mode Configuration |
|
||||
(autoload 'markdown-mode "markdown-mode" |
|
||||
"Major mode for editing Markdown files" t) |
|
||||
(add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode)) |
|
||||
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode)) |
|
||||
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode)) |
|
||||
|
|
||||
;; Set the markdown processor to grip |
|
||||
;; pip3 install grip |
|
||||
(setq markdown-command "grip --export -") |
|
||||
|
|
||||
;; Default configuration for auto-complete |
|
||||
(ac-config-default) |
|
||||
|
|
||||
;; Make all files show a linenum |
|
||||
(global-linum-mode) |
|
||||
|
|
||||
;; Configure SLIME |
|
||||
;; Inferior Lisp interpreter is found at $CL_BIN |
|
||||
(setq inferior-lisp-program (getenv "CL_BIN")) |
|
||||
(setq slime-contribs '(slime-fancy)) |
|
||||
|
|
||||
;; Load my default theme |
|
||||
(load-theme 'cyberpunk t) |
|
||||
(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. |
|
||||
'(package-selected-packages |
|
||||
(quote |
|
||||
(org-doing org-bullets org-autolist org-ac better-defaults yaml-mode slime rust-mode projectile markdown-mode magit go-mode gist cyberpunk-theme auto-complete)))) |
|
||||
(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. |
|
||||
) |
|
||||
|
;; Set enironment information |
||||
|
(setq user-full-name "Drew Short") |
||||
|
(setq user-email-address "warrick@sothr.com") |
||||
|
|
||||
|
;; Set UTF-8 as the default encoding |
||||
|
(prefer-coding-system 'utf-8) |
||||
|
(setq coding-system-for-read 'utf-8) |
||||
|
(setq coding-system-for-write 'utf-8) |
||||
|
|
||||
|
;; Load common lisp |
||||
|
(require 'cl) |
||||
|
|
||||
|
;; Package management |
||||
|
(load "package") |
||||
|
(package-initialize) |
||||
|
(defvar sothr/packages '(auto-complete |
||||
|
better-defaults |
||||
|
cyberpunk-theme |
||||
|
gist |
||||
|
magit |
||||
|
markdown-mode |
||||
|
neotree |
||||
|
org |
||||
|
org-ac |
||||
|
org-autolist |
||||
|
org-bullets |
||||
|
org-doing |
||||
|
projectile |
||||
|
slime |
||||
|
go-mode |
||||
|
rust-mode |
||||
|
yaml-mode) |
||||
|
"Default packages") |
||||
|
|
||||
|
;; Repositories |
||||
|
(add-to-list 'package-archives |
||||
|
'("melpa" . "http://melpa.milkbox.net/packages/") t) |
||||
|
|
||||
|
(setq package-archive-enable-alist '(("melpa" deft magit))) |
||||
|
|
||||
|
;; Advice from the melpa site for a package dependency validation error in emacs 24 |
||||
|
;;(defadvice package-compute-transaction |
||||
|
;; (before package-compute-transaction-reverse (package-list requirements) activate compile) |
||||
|
;; "reverse the requirements" |
||||
|
;; (setq requirements (reverse requirements)) |
||||
|
;; (print requirements)) |
||||
|
|
||||
|
;; Make sure default packages are installed |
||||
|
(defun sothr/packages-installed-p () |
||||
|
(loop for pkg in sothr/packages |
||||
|
when (not (package-installed-p pkg)) do (return nil) |
||||
|
finally (return t))) |
||||
|
|
||||
|
;; This is the logic that runs the above function |
||||
|
(unless (sothr/packages-installed-p) |
||||
|
(message "%s" "Refreshing package database...") |
||||
|
(package-refresh-contents) |
||||
|
(dolist (pkg sothr/packages) |
||||
|
(when (not (package-installed-p pkg)) |
||||
|
(package-install pkg)))) |
||||
|
|
||||
|
;; Markdown Mode Configuration |
||||
|
(autoload 'markdown-mode "markdown-mode" |
||||
|
"Major mode for editing Markdown files" t) |
||||
|
(add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode)) |
||||
|
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode)) |
||||
|
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode)) |
||||
|
|
||||
|
;; Set the markdown processor to grip |
||||
|
;; pip3 install grip |
||||
|
(setq markdown-command "grip --export -") |
||||
|
|
||||
|
;; Set NeoTree to toggle with F8 |
||||
|
(global-set-key [f8] 'neotree-toggle) |
||||
|
|
||||
|
;; Default configuration for auto-complete |
||||
|
(ac-config-default) |
||||
|
|
||||
|
;; Make all files show a linenum |
||||
|
(global-linum-mode) |
||||
|
|
||||
|
;; Configure SLIME |
||||
|
;; Inferior Lisp interpreter is found at $CL_BIN |
||||
|
(setq inferior-lisp-program (getenv "CL_BIN")) |
||||
|
(setq slime-contribs '(slime-fancy)) |
||||
|
|
||||
|
;; Load my default theme |
||||
|
;(load-theme 'cyberpunk t) |
||||
|
|
||||
|
;; A method create a lambda that switches between |
||||
|
;; themes with the press of a button |
||||
|
;; Emcas requires explicit closures otherwise they're |
||||
|
;; abandoned at runtime and cryptic errors occur |
||||
|
(let ((next nil) (themes nil)) |
||||
|
(defun make-theme-switcher (theme_list) |
||||
|
(setf themes theme_list) |
||||
|
#'(lambda () |
||||
|
(setf next (pop themes)) |
||||
|
;; Move the first entry in the list to the last |
||||
|
(setf themes (append themes (list next))) |
||||
|
;; Load the theme that was next in the list |
||||
|
(load-theme next t)))) |
||||
|
|
||||
|
;; create a function to loop over and apply themes |
||||
|
(setf load-next-theme (make-theme-switcher '(cyberpunk adwaita))) |
||||
|
|
||||
|
;; Load the first theme as the default theme |
||||
|
(funcall load-next-theme) |
||||
|
|
||||
|
;; Toggle theme switch with F3 |
||||
|
(global-set-key [f3] (lambda () |
||||
|
(interactive) |
||||
|
(funcall load-next-theme))) |
||||
|
|
||||
|
;; Windows specific configuration |
||||
|
;; A Linux environment is assumed by default |
||||
|
(defun windows-config () |
||||
|
;; When running in Windows, we want to use an alternate shell so we |
||||
|
;; can be more unixy. |
||||
|
(setq shell-file-name "c:/Tools/msys64/usr/bin/zsh") |
||||
|
(setq explicit-shell-file-name shell-file-name) |
||||
|
(setq explicit-zsh-args '("--login" "-i")) ; Make sure the shell is in the home |
||||
|
(setenv "HOME" "c:/tools/msys64/home/neria") ; Set the home environment correctly |
||||
|
(setenv "PATH" |
||||
|
(concat ".:/usr/local/bin:/msys64/bin:/bin:" |
||||
|
(replace-regexp-in-string " " "\\\\ " |
||||
|
(replace-regexp-in-string "\\\\" "/" |
||||
|
(replace-regexp-in-string "\\([A-Za-z]\\):" "/\\1" |
||||
|
(getenv "PATH"))))))) |
||||
|
|
||||
|
;; Windows specific configurations |
||||
|
; (cond |
||||
|
; ((string-equal system-type "windows-nt") ; MS Windows System |
||||
|
; (windows-config))) |
||||
|
|
||||
|
(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. |
||||
|
'(package-selected-packages |
||||
|
(quote |
||||
|
(org-doing org-bullets org-autolist org-ac better-defaults yaml-mode slime rust-mode projectile markdown-mode magit go-mode gist cyberpunk-theme auto-complete)))) |
||||
|
(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. |
||||
|
) |
@ -1,2 +1,2 @@ |
|||||
rem start graphical emacs in daemon mode on startup |
|
||||
runemacs --daemon |
|
||||
|
rem start graphical emacs in daemon mode on startup |
||||
|
runemacs --daemon |
@ -1,14 +1,14 @@ |
|||||
rem ************************************************************* |
|
||||
rem * Windows Sync Script * |
|
||||
rem * v0.1 * |
|
||||
rem * Drew Short * |
|
||||
rem ************************************************************* * |
|
||||
|
|
||||
echo "************************************************************" |
|
||||
echo "* Windows Sync Script *" |
|
||||
echo "* v0.1 *" |
|
||||
echo "* *" |
|
||||
echo "* Requires the following environment variables to be set: *" |
|
||||
echo "* $DOTFILES_HOME = Dotfiles directory to keep in sync *" |
|
||||
echo "* DOTFILES_TARGET = " |
|
||||
echo "************************************************************" |
|
||||
|
rem ************************************************************* |
||||
|
rem * Windows Sync Script * |
||||
|
rem * v0.1 * |
||||
|
rem * Drew Short * |
||||
|
rem ************************************************************* * |
||||
|
|
||||
|
echo "************************************************************" |
||||
|
echo "* Windows Sync Script *" |
||||
|
echo "* v0.1 *" |
||||
|
echo "* *" |
||||
|
echo "* Requires the following environment variables to be set: *" |
||||
|
echo "* $DOTFILES_HOME = Dotfiles directory to keep in sync *" |
||||
|
echo "* DOTFILES_TARGET = " |
||||
|
echo "************************************************************" |
Write
Preview
Loading…
Cancel
Save
Reference in new issue