update zsh and emacs config

This commit is contained in:
Grant Hunter 2022-07-04 15:16:44 -06:00
parent 6d43136113
commit 17f92c388a
3 changed files with 434 additions and 300 deletions

4
emacs.d/.gitignore vendored
View File

@ -7,3 +7,7 @@ recentf
.lsp-session-v1 .lsp-session-v1
auto-save-list/ auto-save-list/
.mc-lists.el .mc-lists.el
eln-cache/
history
*.eld
straight/

View File

@ -1,248 +1,19 @@
;; This is only needed once, near the top of the file (setq-default auto-save-file-name-transforms `((".*" ,temporary-file-directory t))
backup-directory-alist `((".*" . ,temporary-file-directory))
(eval-when-compile undo-tree-history-directory-alist `((".*" . ,temporary-file-directory))
(require 'package) confirm-kill-emacs 'y-or-n-p frame-title-format "%F %b " gc-cons-threshold (* (* 1
(setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") 128)
("melpa" . "https://melpa.org/packages/"))) 1024
(package-install 'use-package) 1024) ;; 100mb
(require 'use-package)) indent-tabs-mode nil inhibit-splash-screen t inhibit-startup-message t
lazy-highlight-cleanup nil make-backup-files nil read-process-output-max (* 1 (* 1024
(package-initialize) 1024))
;; 1mb
ring-bell-function 'ignore uniquify-buffer-name-style 'forward
use-package-always-ensure t vc-follow-symlinks t warning-minimum-level
;; This is only needed once, near the top of the file :error whitespace-line-column 500)
(eval-when-compile
(require 'use-package))
(use-package all-the-icons
:ensure t
:if (display-graphic-p))
(use-package yasnippet
:ensure t
:init
(yas-global-mode 1))
(use-package pyvenv
:ensure t
:init
(setenv "WORKON_HOME" "~/.pyenv/versions"))
(use-package lsp-mode
:ensure t
:init
(setq lsp-keymap-prefix "C-c l"
lsp-use-plists t)
:hook ((js-mode . lsp-deferred)
(rust-mode . lsp-deferred)
(python-mode . lsp-deferred)
(swift-mode . lsp-deferred))
:commands (lsp lsp-deferred)
:config
(setq lsp-idle-delay 0.500))
;; (use-package lsp-jedi
;; :ensure t
;; :config
;; (with-eval-after-load "lsp-mode"
;; (add-to-list 'lsp-disabled-clients 'pyls)
;; (add-to-list 'lsp-enabled-clients 'jedi)))
;; (use-package lsp-pyright
;; :ensure t
;; :hook (python-mode . (lambda ()
;; (require 'lsp-pyright)
;; (lsp-deferred))))
(use-package lsp-python-ms
:ensure t
:init (setq lsp-python-ms-auto-install-server t)
:hook (python-mode . (lambda ()
(require 'lsp-python-ms)
(lsp-deferred))))
(use-package python-black
:ensure t
:after python
:hook (python-mode . python-black-on-save-mode-enable-dwim))
(use-package python-isort
:ensure t
:after python
:hook (python-mode . python-isort-on-save-mode))
(use-package lsp-sourcekit
:ensure t
:after lsp-mode
:config
(setq lsp-sourcekit-executable "/usr/local/bin/sourcekit-lsp"))
(use-package lsp-ui
:ensure t
:commands lsp-ui-mode
:config
(define-key lsp-ui-mode-map [remap xref-find-definitions] #'lsp-ui-peek-find-definitions)
(define-key lsp-ui-mode-map [remap xref-find-references] #'lsp-ui-peek-find-references))
(use-package company
:ensure t
:hook (after-init-hook . global-company-mode)
:init
(setq company-dabbrev-downcase nil
company-idle-delay 0.0
company-minimum-prefix-length 1
company-format-margin-function nil)
(global-company-mode t)
:config
(push 'company-lsp company-backends))
(use-package helm
:ensure t
:bind(("M-x" . helm-M-x)
("C-x b" . helm-mini)
("C-x C-b" . helm-buffers-list)
("C-x C-f" . helm-find-files)
("C-x C-r" . helm-recentf)
("M-y" . helm-show-kill-ring))
:config
(require 'helm-config)
(helm-mode 1)
(setq helm-autoresize-max-height 20)
(setq helm-autoresize-max-height 20)
(helm-autoresize-mode 1)
:commands helm-lsp-workspace-symbol
)
(use-package helm-lsp
:ensure t
:commands helm-lsp-workspace-symbol)
(use-package helm-projectile
:ensure t)
(use-package helm-swoop
:ensure t
:bind(("C-s" . helm-swoop)
("M-i" . helm-swoop-back-to-last-point))
:config
(define-key helm-swoop-map (kbd "C-r") 'helm-previous-line)
(define-key helm-swoop-map (kbd "C-s") 'helm-next-line)
(define-key helm-multi-swoop-map (kbd "C-r") 'helm-previous-line)
(define-key helm-multi-swoop-map (kbd "C-s") 'helm-next-line)
(setq helm-swoop-split-window-function 'helm-default-display-buffer)
(setq helm-swoop-pre-input-function
(lambda () ""))
)
(use-package projectile
:ensure t
:config
(setq projectile-enable-caching t
projectile-indexing-method 'alien
projectile-completion-system 'helm
projectile-switch-project-action 'helm-projectile
projectile-globally-ignored-files
(append '(".pyc"
".class"
"~"
"node_modules"
".cache"
"package.json"
"package-lock.json")
projectile-globally-ignored-files))
(projectile-mode)
(helm-projectile-on)
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map))
(use-package markdown-mode
:ensure t
:commands (markdown-mode gfm-mode)
:mode (("README\\.md\\'" . gfm-mode)
("\\.md\\'" . markdown-mode)
("\\.markdown\\'" . markdown-mode))
:init (setq markdown-command "multimarkdown"))
(use-package grip-mode
:ensure t)
(use-package org
:ensure t
:bind(("C-c l" . org-store-link)
("C-c a" . org-agenda)
("C-c c" . org-capture))
:config
(setq org-log-done t
org-agenda-files (list "~/org/notes.org")
org-default-notes-file "~/org/notes.org"))
(use-package semantic
:ensure t
:config
(semantic-mode 1)
(global-semantic-stickyfunc-mode 1)
)
(use-package material-theme
:ensure t)
;;(font-lock-add-keywords 'lisp-mode '(("\'.*\'" 0 'font-lock-single-quote-string-face t)))
(use-package multiple-cursors
:ensure t
:bind(
("C-}" . mc/mark-next-like-this)
("C-{" . mc/mark-previous-like-this)
("C-|" . mc/mark-all-like-this)
))
(use-package ace-window
:ensure t
:bind (("M-o" . ace-window)))
(use-package powerline
:ensure t)
(use-package flycheck
:ensure t)
(use-package rainbow-delimiters
:ensure t)
(use-package magit
:ensure t
:bind (("C-c m" . magit-status)))
(use-package crux
:ensure t
:bind (("C-c r" . crux-rename-file-and-buffer)))
(use-package diff-hl
:ensure t
:config
(global-diff-hl-mode))
(use-package toml-mode
:ensure t)
(use-package rust-mode
:ensure t)
(use-package terraform-mode
:ensure t)
(use-package company-terraform
:ensure t)
(use-package jinja2-mode
:ensure t)
(use-package json-mode
:ensure t)
(use-package json-snatcher
:ensure t)
(use-package yaml-mode
:ensure t)
(add-to-list 'auto-mode-alist '("\\.lisp\\'" . emacs-lisp-mode))
(require 'uniquify)
(setq inhibit-splash-screen t)
(setq inhibit-startup-message t)
(setq frame-title-format "%F %b ")
(setq uniquify-buffer-name-style 'forward)
(fset 'yes-or-no-p 'y-or-n-p)
(show-paren-mode) (show-paren-mode)
(menu-bar-mode -1) (menu-bar-mode -1)
(tool-bar-mode -1) (tool-bar-mode -1)
@ -250,39 +21,367 @@
(global-auto-revert-mode t) (global-auto-revert-mode t)
(global-linum-mode) (global-linum-mode)
(global-whitespace-mode)
(put 'narrow-to-region 'disabled nil) ;;keybindings
(put 'dired-find-alternate-file 'disabled nil) (global-set-key (kbd "C-x p") 'previous-multiframe-window)
(setq gc-cons-threshold 100000000)
(setq make-backup-files nil)
(setq backup-directory-alist
`((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))
(setq vc-follow-symlinks t)
(setq confirm-kill-emacs 'y-or-n-p)
(setq ring-bell-function 'ignore)
(setq lazy-highlight-cleanup nil)
(setq whitespace-line-column 500)
(setq read-process-output-max (* 1024 1024))
(setq-default indent-tabs-mode
nil)
(fset 'yes-or-no-p 'y-or-n-p) (setq package-archives '(("elpa" . "https://elpa.gnu.org/packages/")
("melpa" . "https://melpa.org/packages/")
("nongnu" . "https://elpa.nongnu.org/nongnu/")))
(defvar bootstrap-version)
(let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el"
user-emacs-directory))
(bootstrap-version 5))
(unless (file-exists-p bootstrap-file)
(with-current-buffer (url-retrieve-synchronously
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
(require 'package)
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(add-hook 'before-save-hook 'delete-trailing-whitespace)
;; Integrates `straight' directly into the `use-package' package through the
;; `:straight' expression.
(straight-use-package 'use-package)
(use-package
delight)
(use-package
material-theme)
(if (daemonp) (if (daemonp)
(add-hook 'after-make-frame-functions (add-hook 'after-make-frame-functions (lambda (frame)
(lambda (frame)
(select-frame frame) (select-frame frame)
(load-theme 'material t) (load-theme 'material t)
(set-frame-size (selected-frame) 150 48))) (set-frame-size (selected-frame) 150 48)))
(load-theme 'material t)) (load-theme 'material t))
(use-package
whitespace
:config (add-hook 'before-save-hook 'delete-trailing-whitespace))
(use-package
eldoc
:delight)
(use-package
password-store)
(setq auth-sources '(password-store))
(use-package
all-the-icons
:if (display-graphic-p))
(use-package
yasnippet-snippets
:after yasnippet
:config (yasnippet-snippets-initialize))
(use-package
yasnippet
:delight yas-minor-mode
:hook (yas-minor-mode . gh/disable-yas-if-no-snippets)
:config (yas-global-mode)
:preface (defun gh/disable-yas-if-no-snippets ()
(when (and yas-minor-mode
(null (yas--get-snippet-tables)))
(yas-minor-mode -1))))
(use-package
lsp-mode
:delight lsp-mode
:init (setq lsp-keymap-prefix "C-c l" lsp-use-plists t)
:hook ((js-mode . lsp-deferred)
(rust-mode . lsp-deferred)
(python-mode . lsp-deferred)
(swift-mode . lsp-deferred)
(sh-mode . lsp-deferred))
:commands (lsp lsp-deferred)
:config (setq lsp-idle-delay 0.500)
:custom (lsp-enable-folding nil)
(lsp-enable-links nil)
(lsp-enable-snippet nil))
(use-package
python
:after lsp-mode
:ensure flycheck
:delight "Py"
:preface (defun python-remove-unused-imports()
"Remove unused imports and unused variables with autoflake."
(interactive)
(if (executable-find "autoflake")
(progn (shell-command (format "autoflake --remove-all-unused-imports -i %s"
(shell-quote-argument (buffer-file-name))))
(revert-buffer t t t))
(warn
"[✗] python-mode: Cannot find autoflake executable.")))
:custom (flycheck-pylintrc "~/.pylintrc")
(flycheck-python-pylint-executable "/usr/bin/pylint"))
(use-package
pyvenv
:init (setenv "WORKON_HOME" "~/.pyenv/versions"))
(use-package
lsp-pyright
:after lsp-mode
:config (setq lsp-pyright-venv-path "~/.pyenv/version")
:if (executable-find "pyright")
;; To properly load `lsp-pyright', the `require' instruction is important.
:hook (python-mode . (lambda ()
(require 'lsp-pyright)
(lsp-deferred))))
(use-package
blacken
:after lsp-mode
:delight
:hook (python-mode . blacken-mode)
:custom (blacken-skip-string-nomalization t)
(blacken-line-length 99)
(blacken-allow-py36 t))
(use-package
py-isort
:hook ((python-mode . pyvenv-mode)))
(use-package
lsp-sourcekit
:after lsp-mode
:config (setq lsp-sourcekit-executable "/usr/local/bin/sourcekit-lsp"))
(use-package
lsp-ui
:after lsp-mode
:commands lsp-ui-mode
:config (define-key lsp-ui-mode-map [remap xref-find-definitions] #'lsp-ui-peek-find-definitions)
(define-key lsp-ui-mode-map [remap xref-find-references] #'lsp-ui-peek-find-references))
(use-package
company
:after lsp-mode
:delight
:hook (after-init-hook . global-company-mode)
:init (setq company-dabbrev-downcase nil company-idle-delay 0.0 company-minimum-prefix-length 1
company-format-margin-function nil))
;; (use-package
;; helm
;; :delight :bind(("M-x" . helm-M-x)
;; ("C-x b" . helm-mini)
;; ("C-x C-b" . helm-buffers-list)
;; ("C-x C-f" . helm-find-files)
;; ("C-x C-r" . helm-recentf)
;; ("M-y" . helm-show-kill-ring))
;; :config (require 'helm-config)
;; (helm-mode 1)
;; (setq helm-autoresize-max-height 20)
;; (setq helm-autoresize-max-height 20)
;; (helm-autoresize-mode 1)
;; :commands helm-lsp-workspace-symbol)
;; (use-package
;; helm-lsp
;; :after lsp-mode
;; :commands helm-lsp-workspace-symbol)
;; (use-package
;; helm-projectile
;; :after projectile
;; :delight)
;; (use-package
;; helm-swoop
;; :bind(("C-s" . helm-swoop)
;; ("M-i" . helm-swoop-back-to-last-point))
;; :config (define-key helm-swoop-map (kbd "C-r") 'helm-previous-line)
;; (define-key helm-swoop-map (kbd "C-s") 'helm-next-line)
;; (define-key helm-multi-swoop-map (kbd "C-r") 'helm-previous-line)
;; (define-key helm-multi-swoop-map (kbd "C-s") 'helm-next-line)
;; (setq helm-swoop-split-window-function 'helm-default-display-buffer)
;; (setq helm-swoop-pre-input-function (lambda () "")))
(use-package vertico
:straight (:files (:defaults "extensions/*"))
:init
(vertico-mode)
:bind (:map vertico-map
("RET" . vertico-directory-enter)
("DEL" . vertico-directory-delete-char)
)
:custom (vertico-cycle t))
(use-package savehist
:init
(savehist-mode))
(use-package consult
:after projectile
:bind (;; Related to the control commands.
("<help> a" . consult-apropos)
("C-x b" . consult-buffer)
("C-x M-:" . consult-complex-command)
("C-c k" . consult-kmacro)
;; Related to the navigation.
("M-g a" . consult-org-agenda)
("M-g e" . consult-error)
("M-g g" . consult-goto-line)
("M-g h" . consult-org-heading)
("M-g i" . consult-imenu)
("M-g k" . consult-global-mark)
("M-g l" . consult-line)
("M-g m" . consult-mark)
("M-g o" . consult-outline)
("M-g I" . consult-project-imenu)
;; Related to the search and selection.
("M-s G" . consult-git-grep)
("M-s g" . consult-grep)
("M-s k" . consult-keep-lines)
("M-s l" . consult-locate)
("M-s m" . consult-multi-occur)
("M-s r" . consult-ripgrep)
("M-s u" . consult-focus-lines)
("M-s f" . consult-find))
:custom
(completion-in-region-function #'consult-completion-in-region)
(consult-narrow-key "<")
(consult-project-root-function #'projectile-project-root)
;; Provides consistent display for both `consult-register' and the register
;; preview when editing registers.
(register-preview-delay 0)
(register-preview-function #'consult-register-preview))
(use-package
projectile
:delight '(:eval (projectile-project-name))
:custom
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
(projectile-enable-caching t projectile-indexing-method 'alien)
(projectile-switch-project-action #'projectile-dired)
:config
(setq projectile-globally-ignored-files (append '(".pyc" ".class" "~" "node_modules"
".cache" "package.json"
"package-lock.json")
projectile-globally-ignored-files))
(projectile-global-mode))
(use-package
markdown-mode
:commands (markdown-mode gfm-mode)
:mode (("README\\.md\\'" . gfm-mode)
("\\.md\\'" . markdown-mode)
("\\.markdown\\'" . markdown-mode))
:init (setq markdown-command "multimarkdown"))
(use-package
grip-mode)
(use-package
org
:bind(("C-c l" . org-store-link)
("C-c a" . org-agenda)
("C-c c" . org-capture))
:ensure org-contrib
:custom (setq org-default-notes-file (concat org-directory "/notes.org"))
(org-todo-keywords '((sequence "TODO(t)" "STARTED(s)" "NEXT(n)" "SOMEDAY(.)" "WAITING(w)""|"
"DONE(x!)" "CANCELLED(c@)"))))
(use-package
toc-org
:after org
:hook (org-mode . toc-org-enable))
(use-package
flyspell
:ensure nil
:delight
:hook ((text-mode . flyspell-mode)
(prog-mode . flyspell-prog-mode))
:custom
;; Add correction to abbreviation table.
(flyspell-abbrev-p t)
(flyspell-default-dictionary "en_CA")
(flyspell-issue-message-flag nil)
(flyspell-issue-welcome-flag nil))
(use-package
ispell
:custom (ispell-hunspell-dict-paths-alist '(("en_CA" "/usr/share/hunspell/en_CA.aff")))
(ispell-silently-savep t)
:config (setenv "LANG" "en_CA")
(setq ispell-program-name "hunspell")
(setq ispell-local-dictionary-alist '(("en_CA" "[[:alpha:]]" "[^[:alpha:]]" "['-]" t ("-d"
"en_CA" )
nil utf-8))))
(use-package
semantic
:config (semantic-mode 1)
(global-semantic-stickyfunc-mode 1))
;;(font-lock-add-keywords 'lisp-mode '(("\'.*\'" 0 'font-lock-single-quote-string-face t)))
(use-package
multiple-cursors
:bind(("C-}" . mc/mark-next-like-this)
("C-{" . mc/mark-previous-like-this)
("C-|" . mc/mark-all-like-this)))
(use-package
undo-tree
:delight undo-tree-mode
:config (global-undo-tree-mode))
(use-package
ace-window
:bind (("M-o" . ace-window)))
(use-package
flycheck)
(use-package
rainbow-delimiters
:delight)
(use-package
magit
:bind (("C-c m" . magit-status))
:custom (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))
(use-package
crux
:bind (("C-c r" . crux-rename-file-and-buffer)))
(use-package
diff-hl
:config (global-diff-hl-mode))
(use-package
toml-mode)
(use-package
rust-mode)
(use-package
terraform-mode)
(use-package
company-terraform)
(use-package
jinja2-mode)
(use-package
json-mode)
(use-package
json-snatcher)
(use-package
yaml-mode)
(add-to-list 'auto-mode-alist '("\\.lisp\\'" . emacs-lisp-mode))
(require 'uniquify)
(add-hook 'eww-mode-hook 'scroll-lock-mode) (add-hook 'eww-mode-hook 'scroll-lock-mode)
@ -296,13 +395,7 @@
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode) (add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
;;Enable powerline
(powerline-center-theme)
(setq powerline-default-separator 'slant)
;keybindings
(global-set-key (kbd "C--") 'undo)
(global-set-key (kbd "C-x p") 'previous-multiframe-window)
;;; init.el ends here ;;; init.el ends here
(custom-set-variables (custom-set-variables
@ -315,19 +408,38 @@
'(lsp-ui-doc-show-with-cursor nil) '(lsp-ui-doc-show-with-cursor nil)
'(lsp-ui-doc-show-with-mouse nil) '(lsp-ui-doc-show-with-mouse nil)
'(lsp-ui-doc-use-webkit nil) '(lsp-ui-doc-use-webkit nil)
'(package-selected-packages '(package-selected-packages '(password-store slack k8s-mode lsp-sourcekit swift-mode python-isort
'(lsp-sourcekit swift-mode python-isort helm-rg python-black lsp-python-ms all-the-icons lsp-treemacs grip-mode helm-swoop diff-hl diff-hl-mode crux ace-window company-mode django-snippets company helm-lsp company-lsp pyvenv json-snatcher package-lint helm-slime slime slime-company slime-repl-ansi-color helm-projectile web-mode py-autopep8 lsp-ui uniquify lsp-helm lsp-company yaml-mode use-package toml-mode rust-mode rainbow-delimiters projectile powerline multiple-cursors material-theme magit lsp-mode json-mode jinja2-mode gnu-elpa-keyring-update flycheck company-terraform)) helm-rg python-black lsp-python-ms all-the-icons
lsp-treemacs grip-mode helm-swoop diff-hl diff-hl-mode
crux ace-window company-mode django-snippets company
helm-lsp pyvenv json-snatcher package-lint helm-slime
slime slime-company slime-repl-ansi-color
helm-projectile web-mode py-autopep8 lsp-ui uniquify
lsp-helm lsp-company yaml-mode use-package toml-mode
rust-mode rainbow-delimiters projectile powerline
multiple-cursors material-theme magit lsp-mode
json-mode jinja2-mode gnu-elpa-keyring-update flycheck
company-terraform))
'(python-isort-arguments '("--stdout" "--atomic" "-")) '(python-isort-arguments '("--stdout" "--atomic" "-"))
'(warning-suppress-types
'((use-package)
(comp)))
'(yas-global-mode t)) '(yas-global-mode t))
(custom-set-faces (custom-set-faces
;; custom-set-faces was added by Custom. ;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful. ;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance. ;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right. ;; If there is more than one, they won't work right.
'(company-tooltip ((t (:inherit default :background "#2a4937a43e51")))) '(company-tooltip ((t
'(company-tooltip-common ((t (:inherit font-lock-constant-face)))) (:inherit default
'(company-tooltip-scrollbar-thumb ((t (:background "#307f3fcf4778")))) :background "#2a4937a43e51"))))
'(company-tooltip-scrollbar-track ((t (:background "#3ad84d6d56b8")))) '(company-tooltip-common ((t
'(company-tooltip-selection ((t (:inherit font-lock-function-name-face))))) (:inherit font-lock-constant-face))))
'(company-tooltip-scrollbar-thumb ((t
(:background "#307f3fcf4778"))))
'(company-tooltip-scrollbar-track ((t
(:background "#3ad84d6d56b8"))))
'(company-tooltip-selection ((t
(:inherit font-lock-function-name-face)))))
(put 'upcase-region 'disabled nil) (put 'upcase-region 'disabled nil)
(put 'downcase-region 'disabled nil) (put 'downcase-region 'disabled nil)

50
zshrc
View File

@ -80,11 +80,6 @@ source $ZSH/oh-my-zsh.sh
# export LANG=en_US.UTF-8 # export LANG=en_US.UTF-8
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='emacs'
else
export EDITOR='emacs'
fi
# Compilation flags # Compilation flags
# export ARCHFLAGS="-arch x86_64" # export ARCHFLAGS="-arch x86_64"
@ -102,23 +97,29 @@ fi
setopt noincappendhistory setopt noincappendhistory
setopt nosharehistory setopt nosharehistory
e() {emacsclient -a "" -qc -n "$@" &; disown} export LSP_USE_PLISTS=true
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='emacs'
else
export EDITOR='emacs'
fi
e() {
emacsclient -a "" -qc -n "$@" > /dev/null &; disown
}
alias ec="emacsclient -qc -n" alias ec="emacsclient -qc -n"
export PATH=$PATH:$HOME/.local/bin export PATH=$PATH:$HOME/.local/bin
export PATH=$PATH:$HOME/.pyenv/bin export PATH=$PATH:$HOME/.pyenv/bin
export PATH=$PATH:/usr/local/go/bin export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$HOME/.krew/bin
export PATH=$PATH:$HOME/.linkerd2/bin
export PATH=$PATH:/usr/local/swift/bin
eval "$(pyenv init -)" eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)" eval "$(pyenv virtualenv-init -)"
source <(kubectl completion zsh) source <(kubectl completion zsh)
if [[ $(grep -i microsoft /proc/version) ]]; then
echo "running in ms mode"
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
cd ~
fi
export AWS_DEFAULT_REGION=us-east-1 export AWS_DEFAULT_REGION=us-east-1
aws-docker-login() { aws-docker-login() {
@ -133,17 +134,34 @@ aws-get-codeartifact() {
} }
aws-login() { aws-login() {
PROFILE="${1:-default}"
echo "logging in for " $PROFILE
# Modify the line below based on your needs # Modify the line below based on your needs
# aws-azure-login sometimes will prompt for the password every time which is annoying # aws-azure-login sometimes will prompt for the password every time which is annoying
# so this get-caller-identity is a way to test and only prompt for login when required # so this get-caller-identity is a way to test and only prompt for login when required
IDENT=$(aws sts get-caller-identity 2> /dev/null) IDENT=$(aws sts get-caller-identity --profile $PROFILE 2> /dev/null)
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
aws-azure-login --no-prompt aws-azure-login --no-prompt --profile $PROFILE
else else
echo "already logged in to aws as" $(echo $IDENT | jq -r .Arn) echo "already logged in to aws as" $(echo $IDENT | jq -r .Arn)
fi fi
aws-docker-login
aws-get-codeartifact
} }
start-dockerd ()(
if [[ ! -f /var/run/docker.pid ]]; then
nohup sudo -b dockerd > /dev/null 2>&1
fi
)
if [[ $(grep -i microsoft /proc/version) ]]; then
echo "running in ms mode"
start-dockerd
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
aws-login aws-login
aws-docker-login > /dev/null
aws-get-codeartifact > /dev/null
fi