WWIV4O35A6J56CCAQ6EV3JCXDBAJYGEPU47Z6LOIYU3Q2XV4ZYFAC
RLKZ33HEPHQ6EAYJTQDHYOG7KE34XBH7V7TQ37BIU2DBCAFRPRJQC
Y7IHZBDEQPLKU3YWIT4G6USVRISTCREWFCUTOZHH7EGOXEKZE74AC
674WSHB4WR6RY67PKK53GYUBY22BRMFHYNRLOTWE66CWJI2RNMJAC
57YU55IK55Q4QDV45LD3ILNQDQV46NKLYK3HS6VWR2SDTOFSYXKAC
VSGSN57DJWUM5XTB76IDCPLWXQ7NWN2I25XROSZIFLF6PT5AVZOAC
ENHJRYRHN5J3OTJVNE5PE7T7BZLN2PUMUJUAHBR5GTDCBLJFEACQC
4A3FW2VDYDAXR74HTARJGTV46CJPBY4FCSY7OOBXLRJEQFA5WISAC
AT4I3XSN3KN4K56GP5ZV55NKYDZ7LFV4AHKMB3PHQCXN56SADVTAC
5FLTMCXWFLP6MI36R73NDC5ZZGKRB66IXOWY7ZTESTLC7M357H2QC
OOZ37CBOKZQJO3YP5EARYSJEVVNQZWLJFUFJ3EYCN6WFNSDZOQJAC
X3ADVUAO4IFDRTLGFIZWFP7AH7BGRGIYSAVMFXRMOFKWDXCQMJ2AC
ABAPG7RJP7HRSJC4KSAAUIX4BT35P7ELBRB5VUSV7VGEGY55LCPQC
ZQ73244MQYZ5GMIFPMSXRL3K5GMSGAODZAQLHO6IXHWDX5YZFYEQC
H422ETMTMO7EBV56GTOPZVI3R6TANANJD3MRM6V6NOMCFXXBKK4AC
6A4XQRMXW45BFPZDBXTBF32NGB2WPNRM5KNVI377MTBRA6AP54XAC
MTWL5VOWRJZVR262KDQLY6WXTH2OY7YANNXZ7BKLN2R7G7JKNSHQC
QBLVLMEM55CW32JBAJGVQEUMA2QOPNBHMP3XNCBR5RIMBNYUAOGAC
YJRO357HWCFSZXNWU7QUIX5N6Q7LPKDOU42PDEGOMG6SISDP4DZAC
RIA7ABJHVCBKK2LBAPE4TIO2U2ZU2DXXPFR3H4EFUHDPZURN4CJQC
ZQWZTCR4QNM6FIUOOVW6634DVSJEDHG6LWFTCZXKLNYEAO2TYODQC
NWUI3R7LW5J6OHRXUWW75FNUZIGBJAXIXR6UBUCX5PAQQSD4UISAC
XNWPJJB55F3YVIY2VGWCO4VRMUOK6KC5VRPHW4SKTI2BKMKVJUAQC
T43Q2EZ2JQWK4WMW7RRYU7MNP3QJJXW4BQKIQMRYFCGKHL7FJ7SQC
more info: http://stackoverflow.com/questions/22842016/launch-shell-script-on-login-in-mac-os-os-x
on a new machine, you must create a plist file like the one below and place it in
~/Library/LaunchAgents/
ex: ~/Libary/LaunchAgents/startscripts.plist
after you create the plist, run
launchctl load ~/Library/LaunchAgents/pathto.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>NAMEOFSCRIPTS</string>
<key>ProgramArguments</key>
<array>
<!-- YOUR LITERAL SCRIPT PATH HERE -->
<string>/Users/ccummings/script.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
#+TITLE: misc_layer layer
# The maximum height of the logo should be 200 pixels.
[[img/misc_layer.png]]
# TOC links should be GitHub style anchors.
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#install][Install]]
- [[#key-bindings][Key bindings]]
* Description
This layer does wonderful things:
- thing01
* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =misc_layer= to the existing =dotspacemacs-configuration-layers= list in this
file.
* Key bindings
| Key Binding | Description |
|-------------+----------------|
| ~SPC x x x~ | Does thing01 |
# Use GitHub URLs if you wish to link a Spacemacs documentation file or its heading.
# Examples:
# [[https://github.com/syl20bnr/spacemacs/blob/master/doc/VIMUSERS.org#sessions]]
# [[https://github.com/syl20bnr/spacemacs/blob/master/layers/%2Bfun/emoji/README.org][Link to Emoji layer README.org]]
# If space-doc-mode is enabled, Spacemacs will open a local copy of the linked file.
;;; packages.el --- misc_layer layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2017 Sylvain Benner & Contributors
;;
;; Author: Chris Cummings <chris@thesogu.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
;;; Commentary:
;; (defun python/post-init-company ()
;; (spacemacs|add-company-hook python-mode)
;; (spacemacs|add-company-hook inferior-python-mode)
;; (push '(company-files company-capf) company-backends-inferior-python-mode)
;; (add-hook 'inferior-python-mode-hook (lambda ()
;; (setq-local company-minimum-prefix-length 0)
;; (setq-local company-idle-delay 0.5))))
(defconst misc_layer-packages
'(company-mode)
)
(defun misc_layer/post-init-company ()
(push))
(defun _invoke_config ()
(setq helm-ag-base-command "rg --no-heading")
(add-hook
'web-mode-hook
#'(lambda () (enable-minor-mode-by-pattern '("\\.jsx?\\'" . prettier-js-mode))))
;; set javascript modes to indentation to two spaces
(setq-default
js2-basic-offset 2
css-indent-offset 2
web-mode-markup-indent-offset 2
web-mode-code-indent-offset 2
web-mode-attr-indent-offset 2)
(autoload 'notmuch "/usr/local/share/emacs/site-lisp/notmuch" "notmuch mail program" t)
(setq notmuch-command "notmuch-remote")
(setq smtpmail-multi-accounts
(quote ((work . ("ccummings@eventbrite.com"
"smtp.gmail.com"
587
"ccummings@eventbrite.com"
nil nil nil nil))
(personal . ("chris@thesogu.com"
"smtp.fastmail.com"
587
"chris@thesogu.com"
nil nil nil nil)))))
(setq smtpmail-multi-default-account 'work)
(setq smtpmail-multi-associations
(quote (("ccummings@eventbrite.com" work)
("chris@thesogu.com" personal))))
(setq send-mail-function 'smtpmail-multi-send-it)
(setq message-kill-buffer-on-exit t)
(setq smtpmail-debug-info t)
(setq smtpmail-debug-verbose t)
)
;;; packages.el --- personal-layer layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2017 Sylvain Benner & Contributors
;;
;; Author: Chris Cummings <chris@thesogu.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
;;; Commentary:
;; - Otherwise, PACKAGE is already referenced by another Spacemacs layer, so
;; define the functions `personal-layer/pre-init-PACKAGE' and/or
;; `personal-layer/post-init-PACKAGE' to customize the package as it is loaded.
;;; Code:
(defconst personal-layer-packages
'(
helm-ag
prettier-js
smtpmail-multi
web-mode
))
(defun personal-layer/init-prettier-js()
"Own prettier-js package.")
(defun personal-layer/init-smtpmail-multi()
"Own smtpmail-multi package.")
(defun personal-layer/post-init-helm-ag ()
"Configure helm-ag package."
(setq helm-ag-base-command "rg --no-heading"))
(defun personal-layer/post-init-web-mode ()
"Enable prettier-js-mode if using .js or .jsx buffer."
(add-to-list 'auto-mode-alist '("\\.js\\'" . web-mode))
(add-hook
'web-mode-hook
#'(lambda () (enable-minor-mode '("\\.js\\'" . prettier-js-mode)))))
;;; packages.el ends here
(configuration-layer/declare-layer 'ansible)
(configuration-layer/declare-layer 'auto-completion)
(configuration-layer/declare-layer 'better-defaults)
(configuration-layer/declare-layer 'common-lisp)
(configuration-layer/declare-layer 'csv)
(configuration-layer/declare-layer 'emacs-lisp)
(configuration-layer/declare-layer 'git)
(configuration-layer/declare-layer 'gtags)
(configuration-layer/declare-layer 'helm)
(configuration-layer/declare-layer 'html)
(configuration-layer/declare-layer 'javascript)
(configuration-layer/declare-layer 'markdown)
(configuration-layer/declare-layer 'org)
(configuration-layer/declare-layer 'php)
(configuration-layer/declare-layer 'python)
(configuration-layer/declare-layer 'python)
(configuration-layer/declare-layer 'react)
(configuration-layer/declare-layer 'ruby)
(configuration-layer/declare-layer 'rust)
(configuration-layer/declare-layer 'shell)
(configuration-layer/declare-layer 'shell-scripts)
(configuration-layer/declare-layer 'spell-checking)
(configuration-layer/declare-layer 'sql)
(configuration-layer/declare-layer 'syntax-checking)
(configuration-layer/declare-layer 'version-control)
(configuration-layer/declare-layer 'vimscript)
(configuration-layer/declare-layer 'yaml)
(defun _invoke_init ()
(defun enable-minor-mode-by-pattern (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)))))
(defun file-read-lines (path)
"Return a list of strings, one for each line in the file at `path`"
(with-temp-buffer
(insert-file-contents path)
(split-string (buffer-string) "\n" 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)))))
(setq dotspacemacs-themes '(spacemacs-light spacemacs-dark))
(setq dotspacemacs-helm-resize t)
(setq dotspacemacs-maximized-at-startup t)
(setq dotspacemacs-search-tools '("ag" "grep"))
(setq dotspacemacs-whitespace-cleanup 'trailing)
ansible
python
php
yaml
sql
ruby
html
vimscript
rust
shell-scripts
common-lisp
csv
python
personal-layer
;; ----------------------------------------------------------------
;; Example of useful layers you may want to use right away.
;; Uncomment some layer names and press <SPC f e R> (Vim style) or
;; <M-m f e R> (Emacs style) to install them.
;; ----------------------------------------------------------------
javascript
git
(markdown :variables markdown-live-preview-engine 'vmd)
org
react
(shell :variables
shell-default-height 30
shell-default-position 'bottom)
spell-checking
syntax-checking
version-control
;; git
;; markdown
;; org
;; (shell :variables
;; shell-default-height 30
;; shell-default-position 'bottom)
;; spell-checking
;; syntax-checking
;; version-control
(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)))))
)
)
(setq-default dotspacemacs-persistent-server t)
;; enable prettier-js-mode if using .js or .jsx buffer
(add-hook 'web-mode-hook #'(lambda () (enable-minor-mode '("\\.jsx?\\'" . prettier-js-mode))))
;; set javascript modes to indentation to two spaces
(setq-default
js2-basic-offset 2
css-indent-offset 2
web-mode-markup-indent-offset 2
web-mode-code-indent-offset 2
web-mode-attr-indent-offset 2))
(autoload 'notmuch "/usr/local/share/emacs/site-lisp/notmuch" "notmuch mail program" t)
(setq notmuch-command "notmuch-remote")
(setq smtpmail-multi-accounts
(quote ((work . ("ccummings@eventbrite.com"
"smtp.gmail.com"
587
"ccummings@eventbrite.com"
nil nil nil nil))
(personal . ("chris@thesogu.com"
"smtp.fastmail.com"
587
"chris@thesogu.com"
nil nil nil nil)))))
(setq smtpmail-multi-default-account 'work)
(setq smtpmail-multi-associations
(quote (("ccummings@eventbrite.com" work)
("chris@thesogu.com" personal))))
(setq send-mail-function 'smtpmail-multi-send-it)
(setq message-kill-buffer-on-exit t)
;; (setq smtpmail-debug-info t)
;; (setq smtpmail-debug-verbose t)
'(custom-safe-themes
(quote
("bffa9739ce0752a37d9b1eee78fc00ba159748f50dc328af4be661484848e476" "fa2b58bb98b62c3b8cf3b6f02f058ef7827a8e497125de0254f56e373abee088" default)))
'(evil-want-Y-yank-to-eol nil)
;; '(helm-ag-base-command "rg --no-heading")
'(notmuch-saved-searches
(quote
((:name "eventbrite_inbox" :query "(not (tag:api_support or tag:low_priority)) and tag:eventbrite and tag:inbox")
(:name "api_support_inbox" :query "(not (tag:low_priority or tag:not_api or tag:api_answered or tag:replied) tag:eventbrite and tag:inbox and tag:api_support")
(:name
#("personal_inbox" 0 14
(ws-butler-chg chg))
:query "tag:personal and tag:inbox and not (tag:low_priority and tag:spam)"))))
(anzu transient lv dash f async goto-chg iedit avy helm-rg powerline hydra parent-mode jinja2-mode company-ansible ansible-doc ansible smartparens evil helm helm-core projectile yapfify yaml-mode xterm-color web-mode web-beautify vmd-mode vimrc-mode unfill toml-mode tagedit sql-indent smtpmail-multi smeargle slime-company slime slim-mode shell-pop scss-mode sass-mode rvm ruby-tools ruby-test-mode rubocop rspec-mode robe rbenv rake racer pyvenv pytest pyenv-mode py-isort pug-mode prettier-js pip-requirements phpunit phpcbf php-extras php-auto-yasnippets orgit org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download mwim multi-term mmm-mode minitest markdown-toc magit-gitflow livid-mode skewer-mode simple-httpd live-py-mode json-mode json-snatcher json-reformat js2-refactor multiple-cursors js2-mode js-doc insert-shebang hy-mode htmlize helm-pydoc helm-gtags helm-gitignore helm-css-scss helm-company helm-c-yasnippet haml-mode gnuplot gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link git-gutter-fringe+ git-gutter-fringe fringe-helper git-gutter+ git-gutter gh-md ggtags fuzzy flyspell-correct-helm flyspell-correct flycheck-rust flycheck-pos-tip pos-tip flycheck fish-mode evil-magit magit magit-popup git-commit ghub with-editor eshell-z eshell-prompt-extras esh-help emmet-mode drupal-mode php-mode diff-hl dactyl-mode cython-mode csv-mode company-web web-completion-data company-tern dash-functional tern company-statistics company-shell company-anaconda company common-lisp-snippets coffee-mode chruby cargo markdown-mode rust-mode bundler inf-ruby auto-yasnippet yasnippet auto-dictionary anaconda-mode pythonic ac-ispell auto-complete ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint indent-guide hungry-delete hl-todo highlight-parentheses highlight-numbers highlight-indentation helm-themes helm-swoop helm-projectile helm-mode-manager helm-make helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-indent-plus evil-iedit-state evil-exchange evil-escape evil-ediff evil-args evil-anzu eval-sexp-fu elisp-slime-nav dumb-jump diminish define-word column-enforce-mode clean-aindent-mode auto-highlight-symbol auto-compile aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line)))
'(safe-local-variable-values (quote ((python-backend . lsp))))
'(send-mail-function (quote smtpmail-send-it))
'(smtpmail-smtp-server "smtp.gmail.com")
'(smtpmail-smtp-service 25))
(yapfify yaml-mode xterm-color web-mode web-beautify vimrc-mode unfill toml-mode tagedit sql-indent smtpmail-multi smeargle slime-company slime slim-mode shell-pop scss-mode sass-mode rvm ruby-tools ruby-test-mode rubocop rspec-mode robe rbenv rake racer pyvenv pytest pyenv-mode py-isort pug-mode prettier-js pip-requirements phpunit phpcbf php-extras php-auto-yasnippets orgit org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download mwim multi-term mmm-mode minitest markdown-toc magit-gitflow magit-popup livid-mode skewer-mode simple-httpd live-py-mode json-mode json-snatcher json-reformat js2-refactor multiple-cursors js2-mode js-doc jinja2-mode insert-shebang hy-mode htmlize helm-pydoc helm-gtags helm-gitignore helm-css-scss helm-company helm-c-yasnippet haml-mode gnuplot gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link git-gutter-fringe+ git-gutter-fringe fringe-helper git-gutter+ git-gutter gh-md ggtags fuzzy flyspell-correct-helm flyspell-correct flycheck-rust flycheck-pos-tip pos-tip flycheck fish-mode evil-magit magit transient git-commit with-editor eshell-z eshell-prompt-extras esh-help emmet-mode drupal-mode php-mode diff-hl dactyl-mode cython-mode csv-mode company-web web-completion-data company-tern dash-functional tern company-statistics company-shell company-ansible company-anaconda company common-lisp-snippets coffee-mode chruby cargo markdown-mode rust-mode bundler inf-ruby auto-yasnippet yasnippet auto-dictionary ansible-doc ansible anaconda-mode pythonic ac-ispell auto-complete ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint indent-guide hydra lv hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation helm-themes helm-swoop helm-projectile projectile pkg-info epl helm-mode-manager helm-make helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist highlight evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu elisp-slime-nav dumb-jump f dash s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async))))
;;; .spacemacs ends here
# link spacemacs snippets if spacemacs is installed
test -d $HOME/.emacs.d/private && \
# link spacemacs layers and snippets if spacemacs is installed
if test -d $HOME/.emacs.d/private; then
for layer_dir in `ls $dotfiles/spacemacs/layers/`; do
ln -fs $dotfiles/spacemacs/layers/$layer_dir $HOME/.emacs.d/private/
done