Skip to content

Instantly share code, notes, and snippets.



Last active Oct 28, 2019
What would you like to do?
.emacs (booz allen computer verz)
;;; package --- Jack's emacs config
;;; Commentary:
;; "change will come"
;; 8/14/14 ~
;;; Code:
;; Start Melpa!
(require 'package)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
(not (gnutls-available-p))))
(proto (if no-ssl "http" "https")))
;; Comment/uncomment these two lines to enable/disable MELPA and MELPA Stable as desired
(add-to-list 'package-archives (cons "melpa" (concat proto "://")) t)
;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://")) t)
(when (< emacs-major-version 24)
;; For important compatibility libraries like cl-lib
(add-to-list 'package-archives '("gnu" . (concat proto "://")))))
(require 'eshell)
(setq eshell-path-env (concat (getenv "PATH") "/Users/jackkillilea/pxerl5/bin:/Users/jackkillilea/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools"))
;; testing themes
;;(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/caroline-theme/")
;;(add-to-list 'load-path "~/.emacs.d/themes/caroline-theme/")
;;(load-theme 'caroline t)
;; ;; load theme customization
;; (add-to-list 'custom-theme-load-path "~/.emacs.d/themes/moe-theme/") ;; theme loading
;; (add-to-list 'load-path "~/.emacs.d/themes/moe-theme/")
;;(require 'moe-theme)
;; (setq moe-theme-highlight-buffer-id nil)
;; solarized theme
;; make the fringe stand out from the background
(setq solarized-distinct-fringe-background t)
;; ;; Don't change the font for some headings and titles
;; (setq solarized-use-variable-pitch nil)
;; ;; make the modeline high contrast
(setq solarized-high-contrast-mode-line t)
;; ;; Use less bolding
(setq solarized-use-less-bold t)
;; ;; Use more italics
(setq solarized-use-more-italic t)
;; ;; Use less colors for indicators such as git:gutter, flycheck and similar
(setq solarized-emphasize-indicators nil)
;; ;; Don't change size of org-mode headlines (but keep other size-changes)
(setq solarized-scale-org-headlines nil)
;; Avoid all font-size changes
;; (setq solarized-height-minus-1 1.0)
;; (setq solarized-height-plus-1 1.0)
;; (setq solarized-height-plus-2 1.0)
;; (setq solarized-height-plus-3 1.0)
;; (setq solarized-height-plus-4 1.0)
(load-theme 'solarized-light t)
;; cherrys
;;(load-theme 'cherry-blossom t)
;;cyberpunk theme
;;(load-theme 'cyberpunk t)
;;cyberpunk 2019
;;(load-theme 'cyberpunk-2019 t)
;;melancholy theme
;;(load-theme 'melancholy t)
;; dracula theme
;; (add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
;; (load-theme 'dracula t)
;; add Node.js to PATH!
(setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin"))
(setq exec-path (append exec-path '("/usr/local/bin")))
;; Cask
;; Starting to use Cask for dependency management.
;;(require 'cask "~/.cask/cask.el")
;; load paths for vendor "mode" addons
;;(add-to-list 'auto-mode-alist '("\\.\\([pP][Llm]\\|al\\)\\'" . cperl-mode))
;;(add-to-list 'interpreter-mode-alist '("perl" . cperl-mode))
;;(add-to-list 'interpreter-mode-alist '("perl5" . cperl-mode))
;;(add-to-list 'interpreter-mode-alist '("miniperl" . cperl-mode))
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
;;(add-to-list 'auto-mode-alist '("\\.coffee$" . coffee-mode))
;;(add-to-list 'auto-mode-alist '("\\.cs\\'" . csharp-mode))
;;(add-to-list 'auto-mode-alist '("\\.moon$" . moonscript-mode))
;;(add-to-list 'auto-mode-alist '("\\.less\\'" . less-css-mode))
(add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode))
(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))
(add-to-list 'auto-mode-alist '("\\.groovy\\'" . groovy-mode))
;;(add-to-list 'auto-mode-alist '("Cakefile" . coffee-mode))
;;(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
(add-to-list 'auto-mode-alist '("\\.json\\'" . web-mode))
;;(add-to-list 'auto-mode-alist '("\\.js\\'" . jsx-mode))
(add-to-list 'auto-mode-alist '("components\\/.*\\.js\\'" . rjsx-mode))
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . rjsx-mode))
(add-to-list 'auto-mode-alist '("\\.jsx\\'" . rjsx-mode))
(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
(add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.hbs\\'" . web-mode)) ;; handlebars to web-mode
(add-to-list 'auto-mode-alist '("\\.cshtml\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.[agj]sp\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode))
(add-to-list 'auto-mode-alist '("\\.yam\\'" . yaml-mode))
(add-hook 'rust-mode-hook #'racer-mode)
;;(add-hook 'racer-mode-hook #'eldoc-mode)
(add-hook 'racer-mode-hook #'company-mode)
(require 'rust-mode)
(require 'cargo)
(with-eval-after-load 'rust-mode
(add-hook 'flycheck-mode-hook #'flycheck-rust-setup))
(require 'racer)
(define-key rust-mode-map (kbd "TAB") #'company-indent-or-complete-common)
(add-hook 'rust-mode-hook
(lambda ()
(local-set-key (kbd "C-c <tab>") #'rust-format-buffer)))
;;(setq company-tooltip-align-annotations t)
(setq racer-rust-src-path "/Users/jackkillilea/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/src")
(add-hook 'rust-mode-hook 'cargo-minor-mode)
;;(add-to-list 'load-path "/path/to/rust-mode/")
(autoload 'rust-mode "rust-mode" nil t)
;;(add-to-list 'load-path "~/.emacs.d/vendor/coffee-mode")
;;(add-to-list 'load-path "~/.emacs.d/vendor/jade-mode") ;; jade mode kk
;;(add-to-list 'load-path "~/.emacs.d/vendor/functionlist.el") ;; check this eh
;;(add-to-list 'load-path "~/.emacs.d/vendor/erc-desktop-notifications") ;; erc-desktop-notifcations
;;(add-to-list 'load-path "~/.emacs.d/vendor/moonscript-mode") ; moonscript syntax
;;(add-to-list 'load-path "~/.emacs.d/vendor/less-css-mode") ; less css syntax
;;(add-to-list 'load-path "~/.emacs.d/vendor/markdown-mode") ; markdown syntax
;;(add-to-list 'load-path "~/.emacs.d/vendor/ace-jump-mode") ; jump mode
;;(add-to-list 'load-path "~/.emacs.d/vendor/twittering-mode") ; twittering mode
;;(add-to-list 'load-path "~/.emacs.d/vendor/csharp-mode") ; c# mode
;;(add-to-list 'load-path "~/.emacs.d/vendor/alert") ; alerts!
(add-to-list 'load-path "~/.emacs.d/vendor/helm") ;; helm!
;;(add-to-list 'load-path "~/.emacs.d/vendor/jquery-doc.el") ;; jquery docs
;;(add-to-list 'load-path "~/.emacs.d/vendor/omnisharp-emacs") ;; Omnisharp for Emacs!
;;(add-to-list 'load-path "~/.emacs.d/vendor/use-package") ;; use-package
(setq tab-width 2)
;; Golden Window Resize
(require 'golden-ratio "~/.emacs.d/snippets/golden-ratio.el")
(golden-ratio-mode 1);
(require 'helm-config)
(helm-mode 1) ;; global helm mode
(helm-autoresize-mode t) ;; auto resize
;; helm projectile
;;(require 'projectile)
;(projectile-mode +1)
;;(setq projectile-completion-system 'helm)
;; display time in emacs
(display-time-mode 1)
(menu-bar-mode -99) ;; menu bar hide!
;; ‘C-mouse-3 to access as a popup menu
;; display paren matching
(show-paren-mode 1)
;; ERC notifications!
;;(add-to-list 'erc-modules 'notifications)
;;(erc-notifications-enable) ;; erc notifyc
;;(erc-notifications-mode 1) ;; annd we enable it
; autoload for markdown editing
(autoload 'markdown-mode "markdown-mode"
"Major mode for editing Markdown files" t)
;; fixing ansi-term with zsh
(setq system-uses-terminfo nil)
;; quick fix for ansi-term for autocomplete (yassnippet blocks it... oh well)
;;(add-hook 'term-mode-hook (lambda()
;; (setq yas-dont-activate t)))
; shift select awesome
;;(setq org-support-shift-select t)
; set css tab indenting
;;(setq css-indent-offset 4)
;; global flycheck!
(add-hook 'after-init-hook #'global-flycheck-mode)
;; global company mode
(add-hook 'after-init-hook 'global-company-mode)
;; adding jQuery Docs
(add-hook 'coffee-mode-hook 'jquery-doc-setup)
(add-hook 'js2-mode 'jquery-doc-setup)
;; eclim!
(require 'eclim)
(add-hook 'java-mode-hook 'eclim-mode)
(setq eclim-executable "/Users/jackkillilea/.p2/pool/plugins/org.eclim_2.8.0/bin/eclim")
;; for Java Gradle
(require 'gradle-mode)
(add-hook 'java-mode-hook '(lambda() (gradle-mode 1)))
;; Company Mode
(require 'company-emacs-eclim)
;; Dockerfile Mode
(require 'dockerfile-mode)
(add-to-list 'auto-mode-alist '("Dockerfile\\'" . dockerfile-mode))
;; omni-sharp hook add for C#!
;;(add-hook 'csharp-mode-hook 'omnisharp-mode)
;; inital messsage gone
(setq initial-scratch-message nil)
;; Org Jira
(setq jiralib-url "")
(setq org-directory "~/Booz")
(setq org-default-notes-file "~/Booz/")
;; Capture templates for: TODO tasks, Notes, appointments, phone calls, meetings, and org-protocol
(setq org-capture-templates
(quote (("t" "todo" entry (file "~/Booz/")
"* TODO %?\n%U\n%a\n" :clock-in t :clock-resume t)
("r" "respond" entry (file "~/Booz/")
"* NEXT Respond to %:from on %:subject\nSCHEDULED: %t\n%U\n%a\n" :clock-in t :clock-resume t :immediate-finish t)
("n" "note" entry (file "~/Booz/")
"* %? :NOTE:\n%U\n%a\n" :clock-in t :clock-resume t)
("j" "Journal" entry (file+datetree "~/Booz/")
"* %?\n%U\n" :clock-in t :clock-resume t)
("w" "org-protocol" entry (file "~/Booz/")
"* TODO Review %c\n%U\n" :immediate-finish t)
("m" "Meeting" entry (file "~/Booz/")
"* MEETING with %? :MEETING:\n%U" :clock-in t :clock-resume t)
("p" "Phone call" entry (file "~/Booz/")
"* PHONE %? :PHONE:\n%U" :clock-in t :clock-resume t)
("h" "Habit" entry (file "~/Booz/")
"* NEXT %?\n%U\n%a\nSCHEDULED: %(format-time-string \"<%Y-%m-%d %a .+1d/3d>\")\n:PROPERTIES:\n:STYLE: habit\n:REPEAT_TO_STATE: NEXT\n:END:\n"))))
;; gnus desktop notify helper
;;(setq gnus-desktop-notify-function 'gnus-desktop-notify-exec
;; gnus-desktop-notify-exec-program "growlnotify -a -m")
; org to markdown exporting
(eval-after-load "org"
'(require 'ox-md nil t))
;; require "modes"
;;(require 'cc-mode)
;;(require 'gnus-desktop-notify) ;; desktop notify
;;(require 'alert) ;; alerts!
;;(require 'jquery-doc)
(require 'react-snippets) ;; reactJS snippets
(require 'web-mode) ;; web-mode!
(require 'yaml-mode) ;; yaml duh
(require 'js2-mode) ;; javascript two mode!
(require 'prettier-js) ;; prettier js on save!
;;(require 'csharp-mode) ;; c# mode baby
;;(require 'less-css-mode)
;;(require 'erc) ;; erc
;;(require 'ace-jump-mode)
;;(require 'coffee-mode)
;;(require 'package)
;;(require 'org)
;;(require 'org-remember)
;;(require 'moonscript-mode)
;;(require 'moonscriptrepl-mode)
;;(require 'twittering-mode)
;;(require 'alpaca)
(require 'flycheck)
;;(require 'jade-mode) ; jade mode idiot
;;(require 'use-package) ;; "Use Package" - Github Module
; cperl-mode defalias !
(defalias 'perl-mode 'cperl-mode)
;; Perl6 Mode
;;(use-package perl6-mode
;; :ensure t
;; :defer t)
;; Perl6 Flycheck shit
;;(use-package flycheck
;; :ensure t
;; :defer t
;; :init (add-hook 'prog-mode-hook 'flycheck-mode)
;; :config
;; (use-package flycheck-perl6
;; :ensure t))
;; *** PerlySense Config ***
;; The PerlySense prefix key (unset only if needed, like for \C-o)
;;(global-unset-key "\C-o")
;;(setq ps/key-prefix "\C-o")
;; *** PerlySense load (don't touch) ***
;;(setq ps/external-dir (shell-command-to-string "perly_sense external_dir"))
;;(if (string-match "Devel.PerlySense.external" ps/external-dir)
;; (progn
;; (message
;; "PerlySense elisp files at (%s) according to perly_sense, loading..."
;; ps/external-dir)
;; (setq load-path (cons
;; (expand-file-name
;; (format "%s/%s" ps/external-dir "emacs")
;; ) load-path))
;; (load "perly-sense")
;; )
;; (message "Could not identify PerlySense install dir.
;;Is Devel::PerlySense installed properly?
;;Does 'perly_sense external_dir' give you a proper directory? (%s)" ps/external-dir)
;; )
; Control how emacs deals with backup files
(setq backup-directory-alist `(("." . "~/.filesaves")))
; set c-mode for all .go and .cmd type files
(setq auto-mode-alist (cons '("\\.text$" . text-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.txt$" . text-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.doc$" . text-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.awk$" . awk-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.perl$" . perl-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.pl$" . perl-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.C$" . c++-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.cpp$" . c++-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.cxx$" . c++-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.tcl$" . tcl-mode) auto-mode-alist))
(display-time-mode 1) ; display time, duh!
;; yasnippet loading (:
;;(add-to-list 'load-path "~/.emacs.d/elpa/yasnippet-")
(require 'yasnippet)
(yas-global-mode 1)
(require 'react-snippets)
;; auto-complete c-headers
(add-to-list 'load-path "~/.emacs.d/vendor/auto-complete-c")
(defun my:ac-c-headers-init ()
(require 'auto-complete-c-headers)
(add-to-list 'ac-sources 'ac-source-c-headers))
(add-hook 'c++-mode-hook 'my:ac-c-headers-init)
(add-hook 'c-mode-hook 'my:ac-c-headers-init)
;; require auto-complete
;;(require 'auto-complete-config)
;;(ac-set-trigger-key "TAB")
;;(ac-set-trigger-key "<tab>")
(setq web-mode-markup-indent-offset 2)
(setq web-mode-css-indent-offset 2)
(defun my-web-mode-hook ()
"Hooks for Web mode."
(setq web-mode-markup-indent-offset 2)
(setq web-mode-css-indent-offset 2)
(add-hook 'web-mode-hook 'my-web-mode-hook)
; ----- C Code PLUGINS -----
;;(setq-default c-basic-offset 2 c-default-style "linux")
;;(setq-default tab-width 2 indent-tabs-mode t)
;;(define-key c-mode-base-map (kbd "RET") 'newline-and-indent)
; ----- END C Code PLUGINS -----
;; Setting default size for emacs
(add-to-list 'default-frame-alist '(height . 90))
(add-to-list 'default-frame-alist '(width . 271))
;; Show line-number in the mode line
(line-number-mode 1)
;; Show column-number in the mode line
(column-number-mode 1)
;; Company Mode Documentation Popup
;;(company-quickhelp-mode 1)
; ---- CUSTOM VARS -----
;; 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.
["#eee8d5" "#dc322f" "#859900" "#b58900" "#268bd2" "#d33682" "#2aa198" "#839496"])
'(column-number-mode t)
'(compilation-message-face (quote default))
'(cperl-close-paren-offset -4)
'(cperl-continued-statement-offset 4)
'(cperl-indent-level 2)
'(cperl-indent-parens-as-block t)
'(cperl-tab-always-indent t)
'(cua-global-mark-cursor-color "#2aa198")
'(cua-normal-cursor-color "#657b83")
'(cua-overwrite-cursor-color "#b58900")
'(cua-read-only-cursor-color "#859900")
("a8245b7cc985a0610d71f9852e9f2767ad1b852c2bdea6f4aadc12cce9c4d6d0" "d91ef4e714f05fff2070da7ca452980999f5361209e679ee988e3c432df24347" "13d20048c12826c7ea636fbe513d6f24c0d43709a761052adbca052708798ce3" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" "1e7e097ec8cb1f8c3a912d7e1e0331caeed49fef6cff220be63bd2a6ba4cc365" default)))
(autojoin button completion fill irccontrols list log match menu move-to-prompt netsplit networks noncommands notify notifications readonly ring stamp track)))
'(fci-rule-color "#eee8d5")
'(highlight-changes-colors (quote ("#d33682" "#6c71c4")))
(solarized-color-blend it "#fdf6e3" 0.25)
("#b58900" "#2aa198" "#dc322f" "#6c71c4" "#859900" "#cb4b16" "#268bd2"))))
'(highlight-symbol-foreground-color "#586e75")
(("#eee8d5" . 0)
("#B4C342" . 20)
("#69CABF" . 30)
("#69B7F0" . 50)
("#DEB542" . 60)
("#F2804F" . 70)
("#F771AC" . 85)
("#eee8d5" . 100))))
("#DEB542" "#F2804F" "#FF6E64" "#F771AC" "#9EA0E5" "#69B7F0" "#69CABF" "#B4C342")))
("#fdf6e3" "#fdf6e3" "#fdf6e3" "#fdf6e3" "#fdf6e3" "#fdf6e3" "#fdf6e3" "#fdf6e3")))
'(hl-paren-colors (quote ("#2aa198" "#b58900" "#268bd2" "#6c71c4" "#859900")))
'(magit-diff-use-overlays nil)
("#dc322f" "#cb4b16" "#b58900" "#546E00" "#B4C342" "#00629D" "#2aa198" "#d33682" "#6c71c4")))
(("d" todo "DELEGATED" nil)
("w" todo "WAITING" nil)
("W" agenda ""
((org-agenda-ndays 21)))
("A" agenda ""
(lambda nil
(quote notregexp)
(org-agenda-ndays 1)
(org-agenda-overriding-header "Today's Priority #A tasks: ")))
("u" alltodo ""
(lambda nil
(quote scheduled)
(quote deadline)
(quote regexp)
(org-agenda-overriding-header "Unscheduled TODO entries: "))))))
'(org-agenda-files (quote ("~/Booz/")))
'(org-agenda-ndays 7)
'(org-agenda-show-all-dates t)
'(org-agenda-skip-deadline-if-done t)
'(org-agenda-skip-scheduled-if-done t)
'(org-agenda-start-on-weekday nil)
'(org-deadline-warning-days 14)
'(org-default-notes-file "~/VT/")
'(org-fast-tag-selection-single-key (quote expert))
'(org-remember-store-without-prompt t)
((116 "* TODO %?
%u" "~/VT/" "Tasks")
(110 "* %u %?" "~/VT/" "Notes"))))
'(org-reverse-note-order t)
(org-jira exec-path-from-shell 0blayout cargo flycheck-rust racer rust-mode melancholy-theme groovy-mode cyberpunk-2019-theme cyberpunk-theme cherry-blossom-theme projectile solarized-theme smartparens twittering-mode scss-mode tide react-snippets yasnippet-snippets rjsx-mode prettier-js js2-mode dracula-theme magit yaml-mode dockerfile-mode docker gradle-mode company-emacs-eclim ac-emacs-eclim eclim auto-complete company helm-perldoc web-mode markdown-mode moe-theme flycheck helm helm-ebdb)))
'(pos-tip-background-color "#eee8d5")
'(pos-tip-foreground-color "#586e75")
'(remember-annotation-functions (quote (org-remember-annotation)))
'(remember-handler-functions (quote (org-remember-handler)))
'(scroll-bar-mode nil)
'(smartrep-mode-line-active-bg (solarized-color-blend "#859900" "#657b83" 0.2))
'(term-default-bg-color "#fdf6e3")
'(term-default-fg-color "#657b83")
'(tool-bar-mode nil)
'(vc-annotate-background nil)
'(vc-annotate-background-mode nil)
((20 . "#dc322f")
(40 . "#c9485ddd1797")
(60 . "#bf7e73b30bcb")
(80 . "#b58900")
(100 . "#a5a58ee30000")
(120 . "#9d9d91910000")
(140 . "#9595943e0000")
(160 . "#8d8d96eb0000")
(180 . "#859900")
(200 . "#67119c4632dd")
(220 . "#57d79d9d4c4c")
(240 . "#489d9ef365ba")
(260 . "#3963a04a7f29")
(280 . "#2aa198")
(300 . "#288e98cbafe2")
(320 . "#27c19460bb87")
(340 . "#26f38ff5c72c")
(360 . "#268bd2"))))
'(vc-annotate-very-old-color nil)
(unspecified "#fdf6e3" "#eee8d5" "#990A1B" "#dc322f" "#546E00" "#859900" "#7B6000" "#b58900" "#00629D" "#268bd2" "#93115C" "#d33682" "#00736F" "#2aa198" "#657b83" "#839496")))
["#eee8d5" "#dc322f" "#859900" "#b58900" "#268bd2" "#d33682" "#2aa198" "#073642"])
["#fdf6e3" "#cb4b16" "#93a1a1" "#839496" "#657b83" "#6c71c4" "#586e75" "#002b36"]))
;; C# mode helper!
(defun my-csharp-mode-hook ()
(electric-pair-mode 1))
(add-hook 'csharp-mode-hook 'my-csharp-mode-hook)
; ---- 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.
'(helm-selection ((t (:background "#606a92" :distant-foreground "black")))))
;; default font
;; Iosevka 14...
(set-frame-font "Unifont 14" nil t)
;; stop startup message from appearing blah
(setq inhibit-startup-message t)
;number lines baby
(global-linum-mode t)
(defun copy-file-path ()
"Put the current file name on the clipboard."
(let ((filename (if (equal major-mode 'dired-mode)
(file-name-directory default-directory)
(when filename
(gui-select-text filename))))
(defun eshell/clear ()
"Clear the eshell buffer."
(let ((inhibit-read-only t))
(defun enable-minor-mode (my-pair)
"Enable minor mode if filename match the regexp. MY-PAIR is a cons cell (regexp . minor-mode)."
(if (buffer-file-name)
(if (string-match (car my-pair) buffer-file-name)
(funcall (cdr my-pair)))))
(add-hook 'js2-mode-hook 'prettier-js-mode)
(add-hook 'web-mode-hook 'prettier-js-mode)
(add-hook 'js2-mode-hook #'smartparens-mode)
(add-hook 'js-mode-hook 'js2-minor-mode)
(add-hook 'js-mode-hook 'prettier-js-mode)
(add-to-list 'interpreter-mode-alist '("node" . js2-mode))
(setq tab-width 2)
(setq js-indent-level 2)
(setq css-indent-offset 2)
;; disable jshint since we prefer eslint checking
(setq-default flycheck-disabled-checkers
(append flycheck-disabled-checkers
;; use eslint with web-mode for jsx files
(flycheck-add-mode 'javascript-eslint 'web-mode)
(flycheck-add-mode 'javascript-eslint 'js-mode)
;; customize flycheck temp file prefix
(setq-default flycheck-temp-prefix ".flycheck")
;; disable json-jsonlist checking for json files
(setq-default flycheck-disabled-checkers
(append flycheck-disabled-checkers
(defun setup-tide-mode ()
;; "Enable Tide mode stuff."
(flycheck-mode +1)
(setq flycheck-check-syntax-automatically '(save mode-enabled))
(eldoc-mode +1)
(tide-hl-identifier-mode +1))
;; aligns annotation to the right hand side
(setq company-tooltip-align-annotations t)
;; formats the buffer before saving
(add-hook 'before-save-hook 'tide-format-before-save)
(add-hook 'js2-mode-hook #'setup-tide-mode)
(add-hook 'rjsx-mode #'setup-tide-mode)
(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)
;; JSX help
;;(add-to-list 'auto-mode-alist '("\\.jsx\\'" . rjsx-mode))
;;(add-hook 'rjsx-mode-hook
;; (lambda ()
;; (when (string-equal "jsx" (file-name-extension buffer-file-name))
;; (setup-tide-mode))))
;; enable typescript-tslint checker
;;(flycheck-add-mode 'typescript-tslint 'web-mode)
;; ---- END JS PLUGINS ----- ;;
;; ---- START MAIL SETTINGS ----- ;;
;; Configure Outbound Mail
;; Tell the program who you are..
(setq user-full-name "jrK")
(setq user-mail-address "")
(require 'smtpmail)
;; fixing gnutls and shit please
(setq gnutls-algorithm-priority "NORMAL:%COMPAT")
;;Tell Emacs to use GNUTLS instead of STARTTLS
;;to authenticate when sending mail.
(setq starttls-use-gnutls t)
;;Tell Emacs about your mail server and credentials
(setq send-mail-function 'smtpmail-send-it
message-send-mail-function 'smtpmail-send-it
'(("" 587 nil nil))
(expand-file-name "~/.authinfo")
smtpmail-default-smtp-server ""
smtpmail-smtp-server ""
smtpmail-smtp-service 587
smtpmail-debug-info t)
(require 'smtpmail)
;; Perl Newsgroup, yo
; load `message' now so I can override functions
(require 'message)
(defun message-check-news-syntax ()
"Check the syntax of the message."
;; We narrow to the headers and check them first.
;; Check the body.
; missin ya
(y-or-n-p "Post the message? ")
;; ---- END MAIL SETTINGS ---- ;;
(defun sudo-edit (&optional arg)
"Edit currently visited file as root.
With a prefix ARG prompt for a file to visit.
Will also prompt for a file to visit if current
buffer is not visiting a file."
(interactive "P")
(if (or arg (not buffer-file-name))
(find-file (concat "/sudo:root@localhost:"
(ido-read-file-name "Find file(as root): ")))
(find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name))))
(defun eshell/clear ()
"Clear the eshell buffer babygirl."
(let ((inhibit-read-only t))
;; okay, sendmail shit
(setq message-send-mail-function 'message-send-mail-with-sendmail)
(setq sendmail-program "/usr/local/bin/msmtp")
(setq gnus-permanently-visible-groups ".*")
;;; Set some sane defaults for VM’s replies and forwarding
vm-forwarding-subject-format "[forwarded from %F] %s"
vm-forwarding-digest-type "rfc934"
vm-in-reply-to-format nil
"On %w, %m %d, %y at %h (%z), %F wrote:n"
vm-reply-subject-prefix "Re: "
vm-mail-header-from "jrK <>"
;; ---- END MAIL SETTINGS ---- ;;
;; Custom Keybinds (Command is super key)
(global-set-key (kbd "s-<right>") 'move-end-of-line ) ; Command + Right Arrow // End of Line
(global-set-key (kbd "s-<left>") 'move-beginning-of-line ) ; Command + Left Arrow // Beginning of Line
;;(global-set-key (kbd "s-o") 'mail-other-frame ) ; Command + "O" // Opens Mail
;;(global-set-key (kbd "M-s-t") 'other-window ) ; Command + "t" // other window
(global-set-key (kbd "M-s-r") 'previous-multiframe-window) ; Command + "r" // previous window
(global-set-key (kbd "s-l") 'list-buffers ) ; Command + "l" // Buffer list
(global-set-key (kbd "H-j") 'switch-to-buffer-other-window ) ; FN + "J" // Swap Buffers
(global-set-key (kbd "s-k") 'delete-window ) ; FN + "k" // Kill window
(global-set-key (kbd "H-k") 'kill-buffer ) ; FN + "k" // Kill Buffer
(global-set-key (kbd "S-s-<return>") 'ansi-term) ; Shell
(global-set-key (kbd "H-n") 'split-window-below) ; Split Window Below (vertical)
(global-set-key (kbd "s-P") 'magit-status) ; magit git system
(global-set-key (kbd "s-o") 'org-agenda) ; org mode agenda
(global-set-key (kbd "s-g") 'goto-line) ; go to a specific line
(global-set-key (kbd "M-O") 'copy-file-path) ; copies file path to clipboard
(global-set-key (kbd "C-c a") 'org-agenda) ; org agenda
;;(global-set-key (kbd "C-c 0") 'ace-jump-mode) ; jump mode (:
(global-set-key (kbd "C-c c") 'org-capture) ; launch org capture
(global-set-key (kbd "M-x") 'helm-M-x)
(global-set-key (kbd "C-x C-f") 'helm-find-files) ; helm find files
(global-set-key (kbd "C-x C-k k") 'helm-show-kill-ring) ; showing helm kill ring
;;(global-set-key (kbd "\t") 'company-complete) ; company mode autocomplete
;;(global-set-key (kbd "<backtab>") 'company--begin-inhibit-commands) ; company list commands
(global-set-key (kbd "C-x -") 'shrink-window) ; resize window reconfigure
(global-set-key (kbd "C-SPC") 'set-mark-command) ; set marker
(global-set-key (kbd "C-o") 'open-line) ; open line, duh
(global-set-key (kbd "s-t") 'other-window)
(global-set-key (kbd "s-H") 'golden-ratio) ; Meta + Shift + h - auto resize window (for magit bug?)
;; global indenting ;;
(setq web-mode-markup-indent-offset 2)
(setq web-mode-css-indent-offset 2)
(setq web-mode-code-indent-offset 2)
(setq js-indent-level 2)
(setq js2-basic-offset 2)
(provide '.emacs)
;;; .emacs ends here
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment