diff options
| -rw-r--r-- | .bash_profile | 33 | ||||
| -rw-r--r-- | .emacs | 74 | ||||
| -rw-r--r-- | install.el | 14 |
3 files changed, 116 insertions, 5 deletions
diff --git a/.bash_profile b/.bash_profile index 959da38..7381c73 100644 --- a/.bash_profile +++ b/.bash_profile @@ -1,2 +1,31 @@ -export EDITOR=vim -export PATH=$HOME/.local/bin:$HOME/.cabal/bin:$PATH +export PATH=/Applications/Emacs.app/Contents/MacOS/:/Applications/Emacs.app/Contents/MacOS/bin:${PATH} +export PATH=${HOME}/.local/bin:${PATH} +export PATH=${HOME}/.idris2/bin:${PATH} +export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" +export GOPATH=${HOME}/go +alias ec="emacsclient -c" +alias g=git + +# from https://stackoverflow.com/questions/18880024/start-ssh-agent-on-login +SSH_ENV="$HOME/.ssh/environment" + +function start_agent { + echo "Initialising new SSH agent..." + /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" + echo succeeded + chmod 600 "${SSH_ENV}" + . "${SSH_ENV}" > /dev/null + /usr/bin/ssh-add; +} + +# Source SSH settings, if applicable + +if [ -f "${SSH_ENV}" ]; then + . "${SSH_ENV}" > /dev/null + #ps ${SSH_AGENT_PID} doesn't work under cywgin + ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { + start_agent; + } +else + start_agent; +fi @@ -21,13 +21,14 @@ (set-face-attribute 'default nil :background "white" :foreground "black" - :family "Monaco" + :family "Source Code Pro" :height 140) )) (global-set-key (kbd "C-x M-a") "α") (global-set-key (kbd "C-x M-b") "β") +(global-set-key (kbd "C-x M-d") "δ") (global-set-key (kbd "C-x M-l") "λ") (setq fill-column 132) @@ -71,6 +72,7 @@ (setq helm-autoresize-max-height 0) (setq helm-autoresize-min-height 20) +(setq helm-mode-fuzzy-match t) (helm-autoresize-mode 1) (helm-mode 1) @@ -288,3 +290,73 @@ ;; development mode (add-to-list 'load-path (concat (getenv "HOME") "/projects/idris/idris-mode")) (require 'idris-mode) + +;; projectile +(require 'projectile) +(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map) +(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) +(projectile-mode +1) + +;; elfeed +(use-package elfeed + :ensure t) + +(setq elfeed-feeds + '("https://abailly.github.io/atom.xml" + "http://planet.emacsen.org/atom.xml" + "https://reasonablypolymorphic.com/feed.rss")) + +(global-set-key (kbd "C-x w") 'elfeed) + +;; yaml +(require 'yaml-mode) + +;; javascript +(require 'js2-mode) +(require 'js2-refactor) +(require 'xref-js2) + +(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) + +(add-hook 'js2-mode-hook #'js2-refactor-mode) +(js2r-add-keybindings-with-prefix "C-c C-r") +(define-key js2-mode-map (kbd "C-k") #'js2r-kill) + +;; js-mode (which js2 is based on) binds "M-." which conflicts with xref, so +;; unbind it. +(define-key js-mode-map (kbd "M-.") nil) + +(add-hook 'js2-mode-hook (lambda () + (add-hook 'xref-backend-functions #'xref-js2-xref-backend nil t))) + +(require 'typescript-mode) +(require 'ansi-color) +(defun colorize-compilation-buffer () + (ansi-color-apply-on-region compilation-filter-start (point-max))) +(add-hook 'compilation-filter-hook 'colorize-compilation-buffer) + +(require 'web-mode) +(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode)) +(add-hook 'web-mode-hook + (lambda () + (when (string-equal "tsx" (file-name-extension buffer-file-name)) + (setup-tide-mode)))) + +;; enable typescript-tslint checker +(flycheck-add-mode 'typescript-tslint 'web-mode) + +;; supports .editorconfig file in project +(use-package editorconfig + :ensure t + :config + (editorconfig-mode 1)) + +;; elm +(require 'elm-mode) + +;; terraform +(require 'terraform-mode) + +;; shellcheck +;;http://www.skybert.net/emacs/bash-linting-in-emacs/ +(add-hook 'sh-mode-hook 'flycheck-mode) @@ -12,5 +12,15 @@ (unless (package-installed-p package) (package-install package))) - '(magit intero helm markdown-mode multiple-cursors expand-region yasnippet color-theme - elpy prop-menu google-translate)) + '(magit + intero + helm + markdown-mode + multiple-cursors + expand-region + yasnippet + color-theme + elpy + prop-menu + google-translate + use-package)) |
