瀏覽代碼

Initial commit

This excempts my two emacs configurations for spacemacs and doom-emacs.

THere are still credentials in plaintext and I need to solve how to
store those in git without the credentials.
Colin Powell 6 年之前
當前提交
848336d3d5

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+doom
+spacemacs

+ 158 - 0
bashrc

@@ -0,0 +1,158 @@
+#!/usr/bin/env bash
+
+#####################
+# Path to the bash it configuration
+export BASH_IT="${HOME}/.bash_it"
+
+# Lock and Load a custom theme file
+# location /.bash_it/themes/
+export BASH_IT_THEME='demula'
+
+# (Advanced): Change this to the name of your remote repo if you
+# cloned bash-it with a remote other than origin such as `bash-it`.
+# export BASH_IT_REMOTE='bash-it'
+
+# Your place for hosting Git repos. I use this for private repos.
+export GIT_HOSTING='git@git.domain.com'
+
+# Don't check mail when opening terminal.
+unset MAILCHECK
+
+# Change this to your console based IRC client of choice.
+export IRC_CLIENT='irssi'
+
+# Set this to false to turn off version control status checking within the prompt for all themes
+export SCM_CHECK=false
+
+# Set Xterm/screen/Tmux title with only a short hostname.
+# Uncomment this (or set SHORT_HOSTNAME to something else),
+# Will otherwise fall back on $HOSTNAME.
+export SHORT_HOSTNAME=$(hostname -s)
+
+# Set Xterm/screen/Tmux title with only a short username.
+# Uncomment this (or set SHORT_USER to something else),
+# Will otherwise fall back on $USER.
+export SHORT_USER=${USER:0:8}
+
+# Set Xterm/screen/Tmux title with shortened command and directory.
+# Uncomment this to set.
+#export SHORT_TERM_LINE=true
+
+# Set vcprompt executable path for scm advance info in prompt (demula theme)
+# https://github.com/djl/vcprompt
+#export VCPROMPT_EXECUTABLE=~/.vcprompt/bin/vcprompt
+
+# (Advanced): Uncomment this to make Bash-it reload itself automatically
+# after enabling or disabling aliases, plugins, and completions.
+# export BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE=1
+
+# Uncomment this to make Bash-it create alias reload.
+# export BASH_IT_RELOAD_LEGACY=1
+
+# Load Bash It
+source "$BASH_IT"/bash_it.sh
+# DONE WITH BASH_IT, setup other things
+
+#This bashrc file requires:
+#
+#  * direnv
+#  * nvm
+#  * rbenv
+
+######################
+command_exists () {
+    type "$1" &> /dev/null ;
+}
+
+if command_exists rbenv ; then 
+    eval "$(rbenv init -)"
+fi
+
+export HUGO_BASE_DIR='~/sites/onec.me/'
+export COMPOSE_API_VERSION=1.23
+export TERM=screen-256color
+export GTAGSLABEL=pygments
+export PYENV_VERSION=3.6.6
+export PYENV_ROOT="$HOME/.pyenv"
+export PATH="$PYENV_ROOT/bin:$PATH"
+
+# GO 
+export GOPATH=$HOME/.golang
+export PATH="/usr/local/bin:/usr/local/sbin:$PATH:${GOPATH//://bin:}/bin:$HOME/.local/bin:$PATH"
+
+# NVM
+export NVM_DIR="$HOME/.nvm"
+[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
+[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
+export PATH="./node_modules/.bin:$PATH"
+alias e='emacsclient --no-wait'
+
+# PLAN9
+export PLAN9=/usr/local/plan9 export PLAN9
+export PATH=$PATH:$PLAN9/bin export PATH
+
+# RVM
+export PATH="$PATH:$HOME/.rvm/bin"
+
+export DOCKER_HOST='unix:///var/run/docker.sock'
+
+# Required to re-write python binary paths with pyenv
+if command -v pyenv 1>/dev/null 2>&1; then
+    eval "$(pyenv init -)"
+fi
+
+
+djsrv() { python manage.py runserver 0.0.0.0:8000; }
+djcel() { celery -A summon_platform worker; }
+djsh() { python manage.py shell $1; }
+djshp() { python manage.py shell_plus $1; }
+
+vr() { vault read -field=value secret/$1 | pbcopy; }
+vw() { vault write secret/$1 value="$2" username="$3"; }
+vrl() { vault read -field=value secret/$1 | xclip -sel clip; }
+vrll() { vault read -field=value secret/$1; }
+
+passp () { pass -c personal/$1; }
+passe () { pass -c elation/$1; }
+
+#alias checkmail="notmuch search --output=files tag:deleted | tr '\n' '\0' | xargs -0 -L 1 rm && notmuch new && mbsync -Va && notmuch new"
+alias el8awslogin="eval $(aws ecr get-login --no-include-email --region us-west-1)"
+
+# Elixir version manager
+test -s "$HOME/.kiex/scripts/kiex" && source "$HOME/.kiex/scripts/kiex"
+
+# Vault things
+export VAULT_ADDR='https://vault.onec.me:8200'
+alias vault-token="curl https://www.onec.me/info/vault.txt | keybase pgp decrypt -m"
+alias view-sealant="curl https://www.onec.me/info/sealant.txt" # | keybase pgp decrypt -m"
+gen-new-token() { keybase pgp encrypt -m "$(vault token create -policy=admins -display-name="Colin Powell" -field token)" secstate; }
+
+alias wanip='dig +short myip.opendns.com @resolver1.opendns.com'
+alias sshome='ssh $(curl -L www.onec.me/wanip)'
+
+alias rchunk='brew services restart chunkwm'
+
+# Maximum number of history lines in memory
+export HISTSIZE=50000
+# Maximum number of history lines on disk
+export HISTFILESIZE=50000
+# Ignore duplicate lines
+export HISTCONTROL=ignoredups:erasedups:ignorespace
+# When the shell exits, append to the history file 
+#  instead of overwriting it
+shopt -s histappend
+# After each command, append to the history file 
+#  and reread it
+export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"
+
+# Elation specific
+el8sh() { pushd ~/devel/elationemr/hippo && docker-compose exec hippo /bin/bash -c 'cd /opt/hippo; exec "/bin/bash"'; popd; }
+el8build() { pushd ~/devel/elationemr/hippo && docker-compose exec webpack make clean && docker-compose exec webpack nvm use default && make deps; popd; }
+el8start() { pushd ~/devel/elationemr/hippo && docker-compose up -d; popd; }
+el8stop() { pushd ~/devel/elationemr/hippo && docker-compose down; popd; }
+el8logs() { pushd ~/devel/elationemr/hippo && docker-compose logs --tail 20 -f hippo; popd; }
+el8clogs() { pushd ~/devel/elationemr/hippo && docker-compose logs --tail 20 -f celery; popd; }
+
+alias evpn="sudo openvpn --config ~/Nextcloud/elation.ovpn"
+alias pvpn="sudo openvpn --config ~/Nextcloud/protonvpn.ovpn"
+

+ 7 - 0
config/fish/conf.d/omf.fish

@@ -0,0 +1,7 @@
+# Path to Oh My Fish install.
+set -q XDG_DATA_HOME
+  and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
+  or set -gx OMF_PATH "$HOME/.local/share/omf"
+
+# Load Oh My Fish configuration.
+source $OMF_PATH/init.fish

+ 34 - 0
config/fish/fishd.8c85907056c9

@@ -0,0 +1,34 @@
+# This file is automatically generated by the fish.
+# Do NOT edit it directly, your changes will be overwritten.
+SET __fish_init_2_39_8:\x1d
+SET __fish_init_2_3_0:\x1d
+SET __tf_func:function\x20__tf_alias\x20\x2dd\x20\x22Correct\x20your\x20previous\x20console\x20command\x22\x3b\x20\x20set\x20\x2dl\x20fucked_up_command\x20\x24history\x5b1\x5d\x3b\x20\x20env\x20TF_SHELL\x3dfish\x20TF_ALIAS\x3d__tf_alias\x20PYTHONIOENCODING\x3dutf\x2d8\x20thefuck\x20\x24fucked_up_command\x20\x7c\x20read\x20\x2dl\x20unfucked_command\x3b\x20\x20if\x20\x5b\x20\x22\x24unfucked_command\x22\x20\x21\x3d\x20\x22\x22\x20\x5d\x3b\x20\x20\x20\x20eval\x20\x24unfucked_command\x3b\x20\x20\x20\x20builtin\x20history\x20delete\x20\x2d\x2dexact\x20\x2d\x2dcase\x2dsensitive\x20\x2d\x2d\x20\x24fucked_up_command\x3b\x20\x20\x20\x20builtin\x20history\x20merge\x20\x5e\x20/dev/null\x3b\x20\x20end\x3bend\x3b
+SET __tf_vers:The\x20Fuck\x203\x2e28\x20using\x20Python\x203\x2e7\x2e1\x20and\x20Fish\x20Shell\x202\x2e7\x2e1
+SET chain_links:chain\x2elinks\x2eroot\x1echain\x2elinks\x2ejobs\x1echain\x2elinks\x2epwd\x1echain\x2elinks\x2evcs_branch\x1echain\x2elinks\x2evcs_dirty\x1echain\x2elinks\x2evcs_stashed
+SET fish_color_autosuggestion:555\x1ebrblack
+SET fish_color_cancel:\x2dr
+SET fish_color_command:\x2d\x2dbold
+SET fish_color_comment:red
+SET fish_color_cwd:green
+SET fish_color_cwd_root:red
+SET fish_color_end:brmagenta
+SET fish_color_error:brred
+SET fish_color_escape:bryellow\x1e\x2d\x2dbold
+SET fish_color_history_current:\x2d\x2dbold
+SET fish_color_host:normal
+SET fish_color_match:\x2d\x2dbackground\x3dbrblue
+SET fish_color_normal:normal
+SET fish_color_operator:bryellow
+SET fish_color_param:cyan
+SET fish_color_quote:yellow
+SET fish_color_redirection:brblue
+SET fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
+SET fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
+SET fish_color_user:brgreen
+SET fish_color_valid_path:\x2d\x2dunderline
+SET fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell
+SET fish_key_bindings:fish_default_key_bindings
+SET fish_pager_color_completion:\x1d
+SET fish_pager_color_description:B3A06D\x1eyellow
+SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
+SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan

+ 3 - 0
config/fish/functions/curln.fish

@@ -0,0 +1,3 @@
+function curln
+	gpg --batch -q -d ~/.netrc.gpg | curl --netrc-file /dev/stdin $argv
+end

+ 3 - 0
config/fish/functions/e.fish

@@ -0,0 +1,3 @@
+function e
+	emacsclient --no-wait $argv
+end

+ 5 - 0
config/fish/functions/el8clog.fish

@@ -0,0 +1,5 @@
+function el8log
+	pushd ~/devel/elationemr/hippo/
+	docker-compose logs --tail=50 -f celery
+	popd
+end

+ 5 - 0
config/fish/functions/el8down.fish

@@ -0,0 +1,5 @@
+function el8down
+	pushd ~/devel/elationemr/hippo
+	docker-compose down
+	popd
+end

+ 5 - 0
config/fish/functions/el8log.fish

@@ -0,0 +1,5 @@
+function el8log
+	pushd ~/devel/elationemr/hippo/
+	docker-compose logs --tail=50 -f hippo
+	popd
+end

+ 5 - 0
config/fish/functions/el8up.fish

@@ -0,0 +1,5 @@
+function el8up
+	pushd ~/devel/elationemr/hippo
+docker-compose up -d
+popd
+end

+ 3 - 0
config/fish/functions/getWanIp.fish

@@ -0,0 +1,3 @@
+function getWanIp
+	dig +short myip.opendns.com @resolver1.opendns.com
+end

+ 3 - 0
config/fish/functions/passe.fish

@@ -0,0 +1,3 @@
+function passe
+	pass -c elation/$argv
+end

+ 3 - 0
config/fish/functions/passp.fish

@@ -0,0 +1,3 @@
+function passp
+	pass -c personal/$argv
+end

+ 5 - 0
config/fish/functions/publish_sites.fish

@@ -0,0 +1,5 @@
+function publish_sites
+	pushd ~/sites
+make publish
+popd
+end

+ 3 - 0
config/fish/functions/rechunk.fish

@@ -0,0 +1,3 @@
+function rechunk
+	brew services restart chunkwm
+end

+ 6 - 0
config/fish/functions/update_email.fish

@@ -0,0 +1,6 @@
+function update_email
+	notmuch search --output=files tag:deleted | tr '\n' '\0' | xargs -0 -L 1 rm
+notmuch new
+mbsync -a
+notmuch new
+end

+ 790 - 0
config/kitty/kitty.conf

@@ -0,0 +1,790 @@
+# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
+
+#: Fonts {{{
+
+#: kitty has very powerful font management. You can configure
+#: individual font faces and even specify special fonts for particular
+#: characters.
+
+font_family    FuraCode Nerd Font
+# bold_font        auto
+# italic_font      auto
+# bold_italic_font auto
+
+#: You can specify different fonts for the bold/italic/bold-italic
+#: variants. By default they are derived automatically, by the OSes
+#: font system. Setting them manually is useful for font families that
+#: have many weight variants like Book, Medium, Thick, etc. For
+#: example::
+
+#:     font_family      Operator Mono Book
+#:     bold_font        Operator Mono Medium
+#:     italic_font      Operator Mono Book Italic
+#:     bold_italic_font Operator Mono Medium Italic
+
+font_size 16.0
+
+#: Font size (in pts)
+
+# adjust_line_height  0
+# adjust_column_width 0
+
+#: Change the size of each character cell kitty renders. You can use
+#: either numbers, which are interpreted as pixels or percentages
+#: (number followed by %), which are interpreted as percentages of the
+#: unmodified values. You can use negative pixels or percentages less
+#: than 100% to reduce sizes (but this might cause rendering
+#: artifacts).
+
+# symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 PowerlineSymbols
+
+#: Map the specified unicode codepoints to a particular font. Useful
+#: if you need special rendering for some symbols, such as for
+#: Powerline. Avoids the need for patched fonts. Each unicode code
+#: point is specified in the form U+<code point in hexadecimal>. You
+#: can specify multiple code points, separated by commas and ranges
+#: separated by hyphens. symbol_map itself can be specified multiple
+#: times. Syntax is::
+
+#:     symbol_map codepoints Font Family Name
+
+# box_drawing_scale 0.001, 1, 1.5, 2
+
+#: Change the sizes of the lines used for the box drawing unicode
+#: characters These values are in pts. They will be scaled by the
+#: monitor DPI to arrive at a pixel value. There must be four values
+#: corresponding to thin, normal, thick, and very thick lines.
+
+#: }}}
+
+#: Cursor customization {{{
+
+# cursor #cccccc
+
+#: Default cursor color
+
+# cursor_shape block
+
+#: The cursor shape can be one of (block, beam, underline)
+
+# cursor_blink_interval      0.5
+# cursor_stop_blinking_after 15.0
+
+#: The interval (in seconds) at which to blink the cursor. Set to zero
+#: to disable blinking. Note that numbers smaller than repaint_delay
+#: will be limited to repaint_delay. Stop blinking cursor after the
+#: specified number of seconds of keyboard inactivity. Set to zero to
+#: never stop blinking.
+
+#: }}}
+
+#: Scrollback {{{
+
+# scrollback_lines 2000
+
+#: Number of lines of history to keep in memory for scrolling back.
+#: Memory is allocated on demand.
+
+# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
+
+#: Program with which to view scrollback in a new window. The
+#: scrollback buffer is passed as STDIN to this program. If you change
+#: it, make sure the program you use can handle ANSI escape sequences
+#: for colors and text formatting. INPUT_LINE_NUMBER in the command
+#: line above will be replaced by an integer representing which line
+#: should be at the top of the screen.
+
+# wheel_scroll_multiplier 5.0
+
+#: Modify the amount scrolled by the mouse wheel or touchpad. Use
+#: negative numbers to change scroll direction.
+
+#: }}}
+
+#: Mouse {{{
+
+# url_color #0087BD
+# url_style curly
+
+#: The color and style for highlighting URLs on mouse-over. url_style
+#: can be one of: none, single, double, curly
+
+# open_url_modifiers kitty_mod
+
+#: The modifier keys to press when clicking with the mouse on URLs to
+#: open the URL
+
+# open_url_with default
+
+#: The program with which to open URLs that are clicked on. The
+#: special value default means to use the operating system's default
+#: URL handler.
+
+# copy_on_select no
+
+#: Copy to clipboard on select. With this enabled, simply selecting
+#: text with the mouse will cause the text to be copied to clipboard.
+#: Useful on platforms such as macOS/Wayland that do not have the
+#: concept of primary selections. Note that this is a security risk,
+#: as all programs, including websites open in your browser can read
+#: the contents of the clipboard.
+
+# rectangle_select_modifiers ctrl+alt
+
+#: The modifiers to use rectangular selection (i.e. to select text in
+#: a rectangular block with the mouse)
+
+# select_by_word_characters :@-./_~?&=%+#
+
+#: Characters considered part of a word when double clicking. In
+#: addition to these characters any character that is marked as an
+#: alpha-numeric character in the unicode database will be matched.
+
+# click_interval 0.5
+
+#: The interval between successive clicks to detect double/triple
+#: clicks (in seconds)
+
+# mouse_hide_wait 3.0
+
+#: Hide mouse cursor after the specified number of seconds of the
+#: mouse not being used. Set to zero to disable mouse cursor hiding.
+
+# focus_follows_mouse no
+
+#: Set the active window to the window under the mouse when moving the
+#: mouse around
+
+#: }}}
+
+#: Performance tuning {{{
+
+# repaint_delay 10
+
+#: Delay (in milliseconds) between screen updates. Decreasing it,
+#: increases frames-per-second (FPS) at the cost of more CPU usage.
+#: The default value yields ~100 FPS which is more than sufficient for
+#: most uses. Note that to actually achieve 100 FPS you have to either
+#: set sync_to_monitor to no or use a monitor with a high refresh
+#: rate.
+
+# input_delay 3
+
+#: Delay (in milliseconds) before input from the program running in
+#: the terminal is processed. Note that decreasing it will increase
+#: responsiveness, but also increase CPU usage and might cause flicker
+#: in full screen programs that redraw the entire screen on each loop,
+#: because kitty is so fast that partial screen updates will be drawn.
+
+# sync_to_monitor yes
+
+#: Sync screen updates to the refresh rate of the monitor. This
+#: prevents tearing (https://en.wikipedia.org/wiki/Screen_tearing)
+#: when scrolling. However, it limits the rendering speed to the
+#: refresh rate of your monitor. With a very high speed mouse/high
+#: keyboard repeat rate, you may notice some slight input latency. If
+#: so, set this to no.
+
+#: }}}
+
+#: Terminal bell {{{
+
+enable_audio_bell no
+
+#: Enable/disable the audio bell. Useful in environments that require
+#: silence.
+
+visual_bell_duration 0.1
+
+#: Visual bell duration. Flash the screen when a bell occurs for the
+#: specified number of seconds. Set to zero to disable.
+
+# window_alert_on_bell yes
+
+#: Request window attention on bell. Makes the dock icon bounce on
+#: macOS or the taskbar flash on linux.
+
+# bell_on_tab yes
+
+#: Show a bell symbol on the tab if a bell occurs in one of the
+#: windows in the tab and the window is not the currently focused
+#: window
+
+#: }}}
+
+#: Window layout {{{
+
+# remember_window_size  yes
+# initial_window_width  640
+# initial_window_height 400
+
+#: If enabled, the window size will be remembered so that new
+#: instances of kitty will have the same size as the previous
+#: instance. If disabled, the window will initially have size
+#: configured by initial_window_width/height, in pixels. You can use a
+#: suffix of "c" on the width/height values to have them interpreted
+#: as number of cells instead of pixels.
+
+# enabled_layouts *
+
+#: The enabled window layouts. A comma separated list of layout names.
+#: The special value * means all layouts. The first listed layout will
+#: be used as the startup layout. For a list of available layouts, see
+#: the layouts.
+
+# window_resize_step_cells 2
+# window_resize_step_lines 2
+
+#: The step size (in units of cell width/cell height) to use when
+#: resizing windows. The cells value is used for horizontal resizing
+#: and the lines value for vertical resizing.
+
+# window_border_width 1.0
+
+#: The width (in pts) of window borders. Will be rounded to the
+#: nearest number of pixels based on screen resolution. Note that
+#: borders are displayed only when more than one window is visible.
+#: They are meant to separate multiple windows.
+
+# draw_minimal_borders yes
+
+#: Draw only the minimum borders needed. This means that only the
+#: minimum needed borders for inactive windows are drawn. That is only
+#: the borders that separate the inactive window from a neighbor. Note
+#: that setting a non-zero window margin overrides this and causes all
+#: borders to be drawn.
+
+# window_margin_width 0.0
+
+#: The window margin (in pts) (blank area outside the border)
+
+# single_window_margin_width -1000.0
+
+#: The window margin (in pts) to use when only a single window is
+#: visible. Negative values will cause the value of
+#: window_margin_width to be used instead.
+
+# window_padding_width 0.0
+
+#: The window padding (in pts) (blank area between the text and the
+#: window border)
+
+# active_border_color #00ff00
+
+#: The color for the border of the active window
+
+# inactive_border_color #cccccc
+
+#: The color for the border of inactive windows
+
+# bell_border_color #ff5a00
+
+#: The color for the border of inactive windows in which a bell has
+#: occurred
+
+# inactive_text_alpha 1.0
+
+#: Fade the text in inactive windows by the specified amount (a number
+#: between zero and one, with zero being fully faded).
+
+#: }}}
+
+#: Tab bar {{{
+
+# tab_bar_edge bottom
+
+#: Which edge to show the tab bar on, top or bottom
+
+# tab_bar_margin_width 0.0
+
+#: The margin to the left and right of the tab bar (in pts)
+
+# tab_bar_style fade
+
+#: The tab bar style, can be one of: fade or separator. In the fade
+#: style, each tab's edges fade into the background color, in the
+#: separator style, tabs are separated by a configurable separator.
+
+# tab_fade 0.25 0.5 0.75 1
+
+#: Control how each tab fades into the background when using fade for
+#: the tab_bar_style. Each number is an alpha (between zero and one)
+#: that controls how much the corresponding cell fades into the
+#: background, with zero being no fade and one being full fade. You
+#: can change the number of cells used by adding/removing entries to
+#: this list.
+
+# tab_separator " ┇"
+
+#: The separator between tabs in the tab bar when using separator as
+#: the tab_bar_style.
+
+# active_tab_foreground   #000
+# active_tab_background   #eee
+# active_tab_font_style   bold-italic
+# inactive_tab_foreground #444
+# inactive_tab_background #999
+# inactive_tab_font_style normal
+
+#: Tab bar colors and styles
+
+#: }}}
+
+#: Color scheme {{{
+
+# foreground #dddddd
+# background #000000
+
+#: The foreground and background colors
+
+# background_opacity         1.0
+# dynamic_background_opacity no
+
+#: The opacity of the background. A number between 0 and 1, where 1 is
+#: opaque and 0 is fully transparent.  This will only work if
+#: supported by the OS (for instance, when using a compositor under
+#: X11). Note that it only sets the default background color's
+#: opacity. This is so that things like the status bar in vim,
+#: powerline prompts, etc. still look good.  But it means that if you
+#: use a color theme with a background color in your editor, it will
+#: not be rendered as transparent.  Instead you should change the
+#: default background color in your kitty config and not use a
+#: background color in the editor color scheme. Or use the escape
+#: codes to set the terminals default colors in a shell script to
+#: launch your editor.  Be aware that using a value less than 1.0 is a
+#: (possibly significant) performance hit.  If you want to dynamically
+#: change transparency of windows set dynamic_background_opacity to
+#: yes (this is off by default as it has a performance cost)
+
+# dim_opacity 0.75
+
+#: How much to dim text that has the DIM/FAINT attribute set. One
+#: means no dimming and zero means fully dimmed (i.e. invisible).
+
+# selection_foreground #000000
+# selection_background #FFFACD
+
+#: The foreground and background for text selected with the mouse
+
+
+#: The 16 terminal colors. There are 8 basic colors, each color has a
+#: dull and bright version. You can also set the remaining colors from
+#: the 256 color table as color16 to color255.
+
+# color0 #000000
+# color8 #767676
+
+#: black
+
+# color1 #cc0403
+# color9 #f2201f
+
+#: red
+
+# color2  #19cb00
+# color10 #23fd00
+
+#: green
+
+# color3  #cecb00
+# color11 #fffd00
+
+#: yellow
+
+# color4  #0d73cc
+# color12 #1a8fff
+
+#: blue
+
+# color5  #cb1ed1
+# color13 #fd28ff
+
+#: magenta
+
+# color6  #0dcdcd
+# color14 #14ffff
+
+#: cyan
+
+# color7  #dddddd
+# color15 #ffffff
+
+#: white
+
+#: }}}
+
+#: Advanced {{{
+
+# shell .
+
+#: The shell program to execute. The default value of . means to use
+#: whatever shell is set as the default shell for the current user.
+#: Note that on macOS if you change this, you might need to add
+#: --login to ensure that the shell starts in interactive mode and
+#: reads its startup rc files.
+
+# editor .
+
+#: The console editor to use when editing the kitty config file or
+#: similar tasks. A value of . means to use the environment variable
+#: EDITOR. Note that this environment variable has to be set not just
+#: in your shell startup scripts but system-wide, otherwise kitty will
+#: not see it.
+
+# close_on_child_death no
+
+#: Close the window when the child process (shell) exits. If no (the
+#: default), the terminal will remain open when the child exits as
+#: long as there are still processes outputting to the terminal (for
+#: example disowned or backgrounded processes). If yes, the window
+#: will close as soon as the child process exits. Note that setting it
+#: to yes means that any background processes still using the terminal
+#: can fail silently because their stdout/stderr/stdin no longer work.
+
+# allow_remote_control no
+
+#: Allow other programs to control kitty. If you turn this on other
+#: programs can control all aspects of kitty, including sending text
+#: to kitty windows, opening new windows, closing windows, reading the
+#: content of windows, etc. Note that this even works over ssh
+#: connections.
+
+# startup_session none
+
+#: Path to a session file to use for all kitty instances. Can be
+#: overridden by using the kitty --session command line option for
+#: individual instances. See sessions in the kitty documentation for
+#: details. Note that relative paths are interpreted with respect to
+#: the kitty config directory. Environment variables in the path are
+#: expanded.
+
+# clipboard_control write-clipboard write-primary
+
+#: Allow programs running in kitty to read and write from the
+#: clipboard. You can control exactly which actions are allowed. The
+#: set of possible actions is: write-clipboard read-clipboard write-
+#: primary read-primary The default is to allow writing to the
+#: clipboard and primary selection. Note that enabling the read
+#: functionality is a security risk as it means that any program, even
+#: one running on a remote server via SSH can read your clipboard.
+
+# term xterm-kitty
+
+#: The value of the TERM environment variable to set. Changing this
+#: can break many terminal programs, only change it if you know what
+#: you are doing, not because you read some advice on Stack Overflow
+#: to change it.
+
+#: }}}
+
+#: OS specific tweaks {{{
+
+# macos_titlebar_color system
+
+#: Change the color of the kitty window's titlebar on macOS. A value
+#: of system means to use the default system color, a value of
+#: background means to use the background color of the currently
+#: active window and finally you can use an arbitrary color, such as
+#: #12af59 or red. WARNING: This option works by using a hack, as
+#: there is no proper Cocoa API for it. It sets the background color
+#: of the entire window and makes the titlebar transparent. As such it
+#: is incompatible with background_opacity. If you want to use both,
+#: you are probably better off just hiding the titlebar with
+#: macos_hide_titlebar.
+
+# macos_hide_titlebar no
+
+#: Hide the kitty window's title bar on macOS.
+
+# x11_hide_window_decorations no
+
+#: Hide the window decorations (title bar and window borders) on X11
+#: and Wayland. Whether this works and exactly what effect it has
+#: depends on the window manager, as it is the job of the window
+#: manager/compositor to draw window decorations.
+
+# macos_option_as_alt yes
+
+#: Use the option key as an alt key. With this set to no, kitty will
+#: use the macOS native Option+Key = unicode character behavior. This
+#: will break any Alt+key keyboard shortcuts in your terminal
+#: programs, but you can use the macOS unicode input technique.
+
+# macos_hide_from_tasks no
+
+#: Hide the kitty window from running tasks (Option+Tab) on macOS.
+
+# macos_quit_when_last_window_closed no
+
+#: Have kitty quit when all the top-level windows are closed. By
+#: default, kitty will stay running, even with no open windows, as is
+#: the expected behavior on macOS.
+
+# macos_window_resizable yes
+
+#: Disable this if you want kitty top-level (OS) windows to not be
+#: resizable on macOS.
+
+#: }}}
+
+#: Keyboard shortcuts {{{
+
+#: For a list of key names, see: GLFW keys
+#: <http://www.glfw.org/docs/latest/group__keys.html>. The name to use
+#: is the part after the GLFW_KEY_ prefix. For a list of modifier
+#: names, see: GLFW mods
+#: <http://www.glfw.org/docs/latest/group__mods.html>
+
+#: On Linux you can also use XKB key names to bind keys that are not
+#: supported by GLFW. See XKB keys
+#: <https://github.com/xkbcommon/libxkbcommon/blob/master/xkbcommon/xkbcommon-
+#: keysyms.h> for a list of key names. The name to use is the part
+#: after the XKB_KEY_ prefix. Note that you should only use an XKB key
+#: name for keys that are not present in the list of GLFW keys.
+
+#: You can use the special action no_op to unmap a keyboard shortcut
+#: that is assigned in the default configuration.
+
+#: You can combine multiple actions to be triggered by a single
+#: shortcut, using the syntax below::
+
+#:     map key combine <separator> action1 <separator> action2 <separator> action3 ...
+
+#: For example::
+
+#:     map kitty_mod+e combine : new_window : next_layout
+
+#: this will create a new window and switch to the next available
+#: layout
+
+#: You can use multi-key shortcuts using the syntax shown below::
+
+#:     map key1>key2>key3 action
+
+#: For example::
+
+#:     map ctrl+f>2 set_font_size 20
+
+# kitty_mod ctrl+shift
+
+#: The value of kitty_mod is used as the modifier for all default
+#: shortcuts, you can change it in your kitty.conf to change the
+#: modifiers for all the default shortcuts.
+
+# clear_all_shortcuts no
+
+#: You can have kitty remove all shortcut definition seen up to this
+#: point. Useful, for instance, to remove the default shortcuts.
+
+#: Clipboard {{{
+
+# map cmd+c        copy_to_clipboard
+# map kitty_mod+c  copy_to_clipboard
+# map cmd+v        paste_from_clipboard
+# map kitty_mod+v  paste_from_clipboard
+# map kitty_mod+s  paste_from_selection
+# map shift+insert paste_from_selection
+# map kitty_mod+o  pass_selection_to_program
+
+#: You can also pass the contents of the current selection to any
+#: program using pass_selection_to_program. By default, the system's
+#: open program is used, but you can specify your own, for example::
+
+#:     map kitty_mod+o pass_selection_to_program firefox
+
+#: You can pass the current selection to a terminal program running in
+#: a new kitty window, by using the @selection placeholder::
+
+#:     map kitty_mod+y new_window less @selection
+
+#: }}}
+
+#: Scrolling {{{
+
+# map kitty_mod+up        scroll_line_up
+# map kitty_mod+k         scroll_line_up
+# map kitty_mod+down      scroll_line_down
+# map kitty_mod+j         scroll_line_down
+# map kitty_mod+page_up   scroll_page_up
+# map kitty_mod+page_down scroll_page_down
+# map kitty_mod+home      scroll_home
+# map kitty_mod+end       scroll_end
+# map kitty_mod+h         show_scrollback
+
+#: You can send the contents of the current screen + history buffer as
+#: stdin to an arbitrary program using the placeholders @text (which
+#: is the plain text) and @ansi (which includes text styling escape
+#: codes). For only the current screen, use @screen or @ansi_screen.
+#: For example, the following command opens the scrollback buffer in
+#: less in a new window::
+
+#:     map kitty_mod+y new_window @ansi less +G -R
+
+#: }}}
+
+#: Window management {{{
+
+# map kitty_mod+enter new_window
+
+#: You can open a new window running an arbitrary program, for
+#: example::
+
+#:     map kitty_mod+y      new_window mutt
+
+#: You can open a new window with the current working directory set to
+#: the working directory of the current window using::
+
+#:     map ctrl+alt+enter    new_window_with_cwd
+
+# map cmd+n       new_os_window
+# map kitty_mod+n new_os_window
+# map kitty_mod+w close_window
+# map kitty_mod+] next_window
+# map kitty_mod+[ previous_window
+# map kitty_mod+f move_window_forward
+# map kitty_mod+b move_window_backward
+# map kitty_mod+` move_window_to_top
+# map kitty_mod+r start_resizing_window
+# map kitty_mod+1 first_window
+# map kitty_mod+2 second_window
+# map kitty_mod+3 third_window
+# map kitty_mod+4 fourth_window
+# map kitty_mod+5 fifth_window
+# map kitty_mod+6 sixth_window
+# map kitty_mod+7 seventh_window
+# map kitty_mod+8 eighth_window
+# map kitty_mod+9 ninth_window
+# map kitty_mod+0 tenth_window
+#: }}}
+
+#: Tab management {{{
+
+# map kitty_mod+right next_tab
+# map kitty_mod+left  previous_tab
+# map kitty_mod+t     new_tab
+# map kitty_mod+q     close_tab
+# map kitty_mod+.     move_tab_forward
+# map kitty_mod+,     move_tab_backward
+# map kitty_mod+alt+t set_tab_title
+
+#: You can also create shortcuts to go to specific tabs, with 1 being
+#: the first tab::
+
+#:     map ctrl+alt+1 goto_tab 1
+#:     map ctrl+alt+2 goto_tab 2
+
+#: Just as with new_window above, you can also pass the name of
+#: arbitrary commands to run when using new_tab and use
+#: new_tab_with_cwd.
+#: }}}
+
+#: Layout management {{{
+
+# map kitty_mod+l next_layout
+
+#: You can also create shortcuts to switch to specific layouts::
+
+#:     map ctrl+alt+t goto_layout tall
+#:     map ctrl+alt+s goto_layout stack
+#: }}}
+
+#: Font sizes {{{
+
+#: You can change the font size for all top-level kitty windows at a
+#: time or only the current one.
+
+# map kitty_mod+equal     change_font_size all +2.0
+# map kitty_mod+minus     change_font_size all -2.0
+# map kitty_mod+backspace change_font_size all 0
+
+#: To setup shortcuts for specific font sizes::
+
+#:     map kitty_mod+f6 change_font_size all 10.0
+
+#: To setup shortcuts to change only the current window's font size::
+
+#:     map kitty_mod+f6 change_font_size current 10.0
+#: }}}
+
+#: Select and act on visible text {{{
+
+#: Use the hints kitten to select text and either pass it to an
+#: external program or insert it into the terminal or copy it to the
+#: clipboard.
+
+# map kitty_mod+e kitten hints
+
+#: Open a currently visible URL using the keyboard. The program used
+#: to open the URL is specified in open_url_with.
+
+# map kitty_mod+p>f kitten hints --type path --program -
+
+#: Select a path/filename and insert it into the terminal. Useful, for
+#: instance to run git commands on a filename output from a previous
+#: git command.
+
+# map kitty_mod+p>shift+f kitten hints --type path
+
+#: Select a path/filename and open it with the default open program.
+
+# map kitty_mod+p>l kitten hints --type line --program -
+
+#: Select a line of text and insert it into the terminal. Use for the
+#: output of things like: ls -1
+
+# map kitty_mod+p>w kitten hints --type word --program -
+
+#: Select words and insert into terminal.
+
+# map kitty_mod+p>h kitten hints --type hash --program -
+
+#: Select something that looks like a hash and insert it into the
+#: terminal. Useful with git, which uses sha1 hashes to identify
+#: commits
+
+
+#: The hints kitten has many more modes of operation that you can map
+#: to different shortcuts. For a full description see kittens/hints.
+#: }}}
+
+#: Miscellaneous {{{
+
+# map kitty_mod+f11    toggle_fullscreen
+# map kitty_mod+u      input_unicode_character
+# map kitty_mod+f2     edit_config_file
+# map kitty_mod+escape kitty_shell window
+
+#: Open the kitty shell in a new window/tab/overlay/os_window to
+#: control kitty using commands.
+
+# map kitty_mod+a>m set_background_opacity +0.1
+# map kitty_mod+a>l set_background_opacity -0.1
+# map kitty_mod+a>1 set_background_opacity 1
+# map kitty_mod+a>d set_background_opacity default
+
+#: You can tell kitty to send arbitrary (UTF-8) encoded text to the
+#: client program when pressing specified shortcut keys. For example::
+
+#:     map ctrl+alt+a send_text all Special text
+
+#: This will send "Special text" when you press the ctrl+alt+a key
+#: combination.  The text to be sent is a python string literal so you
+#: can use escapes like \x1b to send control codes or \u21fb to send
+#: unicode characters (or you can just input the unicode characters
+#: directly as UTF-8 text). The first argument to send_text is the
+#: keyboard modes in which to activate the shortcut. The possible
+#: values are normal or application or kitty or a comma separated
+#: combination of them.  The special keyword all means all modes. The
+#: modes normal and application refer to the DECCKM cursor key mode
+#: for terminals, and kitty refers to the special kitty extended
+#: keyboard protocol.
+
+#: Another example, that outputs a word and then moves the cursor to
+#: the start of the line (same as pressing the Home key)::
+
+#:     map ctrl+alt+a send_text normal Word\x1b[H
+#:     map ctrl+alt+a send_text application Word\x1bOH
+
+#: }}}
+
+# }}}

+ 11 - 0
config/qutebrowser/config.py

@@ -0,0 +1,11 @@
+c.url.searchengines = {'DEFAULT': 'https://duckduckgo.com/?q={}',
+'wikiwand': 'https://www.wikiwand.com/en/{}?fullSearch=false'}
+
+c.messages.timeout = 5000
+
+config.bind('wo', 'set-cmd-text -s :open -w')
+config.bind('wd', 'close')
+config.bind('sp', 'set-cmd-text -s :open -w startpage')
+config.bind('wk', 'set-cmd-text -s :open -w wikiwand')
+
+c.aliases['cs'] = ':config-source'

+ 56 - 0
gitconfig

@@ -0,0 +1,56 @@
+# This is Git's per-user configuration file.
+[user]
+	name = Colin Powell
+	email = colin@onec.me
+        signingkey = 7B405BE1
+[push]
+	default = current
+[core]
+	excludesfile = ~/.gitignore
+[difftool "sourcetree"]
+	cmd = opendiff \"$LOCAL\" \"$REMOTE\"
+	path = 
+[mergetool "sourcetree"]
+	cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
+	trustExitCode = true
+[alias]
+    undo = reset --soft HEAD^
+    stash-all = stash save --include-untracked
+    tree = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
+    oline = log --oneline --decorate --no-merges
+    st = status
+    ci = commit
+    br = branch
+    co = checkout
+    df = diff
+    l = log --date-order --date=iso --graph --full-history --all --pretty=format:'%x08%x09%C(red)%h %C(cyan)%ad%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08 %C(bold blue)%aN%C(reset)%C(bold yellow)%d %C(reset)%s'
+    lg = log -p
+    lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
+    lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
+	hs  = for-each-ref --sort=-committerdate refs/heads/ --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))'
+[merge]
+    conflictstyle = diff3
+[commit]
+	gpgsign = true
+[pager]
+  diff = diff-so-fancy | less --tabs=1,5 -RFX
+  show = diff-so-fancy | less --tabs=1,5 -RFX
+[gpg]
+	program = /usr/local/bin/gpg
+[status]
+    showUntrackedFiles = all
+[transfer]
+    fsckobjects = true
+[filter "lfs"]
+	clean = git-lfs clean -- %f
+	smudge = git-lfs smudge -- %f
+	process = git-lfs filter-process
+	required = true
+[branch]
+	autosetuprebase = always
+[magithub]
+	online = false
+[magithub "status"]
+	includeStatusHeader = false
+	includePullRequestsSection = false
+	includeIssuesSection = false

+ 27 - 0
gitignore

@@ -0,0 +1,27 @@
+# After symlinking this to your home dir, run:
+# > git config --global core.excludesfile ~/.gitignore
+.envrc
+.ropeproject
+flower
+group_vars_prod
+service-dtld
+dtld-test.ini
+pypicloud
+*.backup
+.dir-locals.el
+__pycache))
+*.pyc
+*.DS_Store
+GTAGS
+GRTAGS
+GPATH
+elation/test_lib
+.tern-port
+cscope.out
+test-reports/
+test_el8_dev.db
+package-lock.json
+.pyenv-version
+.mypy_cache
+.venv
+.rest

+ 14 - 0
hosts

@@ -0,0 +1,14 @@
+
+;; Add the following to your /etc/hosts file
+
+; Enables ProtonMail lookups in offlineimap
+127.0.0.1 imap.protonmail.com
+
+; Elation helper domains
+172.17.10.215   stage.elationemr.com
+172.16.12.166   prod.elationemr.com
+
+# BEGIN section for OpenVPN Client SSL sites
+127.94.0.1	client.openvpn.net
+127.94.0.2	openvpn-client.vpn.elationemr.com
+# END section for OpenVPN Client SSL sites

+ 57 - 0
mbsyncrc

@@ -0,0 +1,57 @@
+IMAPAccount proton
+Host 127.0.0.1
+User colin@onec.me
+PassCmd "pass personal/protonmail/bridges/$HOSTNAME"
+Port 1143
+SSLType none
+AuthMechs PLAIN
+
+IMAPStore proton-remote
+account proton
+
+MaildirStore proton-local
+# trailing "/" is important
+Path ~/Mail/colin@onec.me/
+Inbox ~/Mail/colin@onec.me/Inbox
+Trash ~/Mail/colin@onec.me/Trash
+SubFolders Verbatim
+
+Channel proton-all-mail
+Master :proton-remote:"All Mail"
+Slave :proton-local:"All Mail"
+Create Both
+Patterns *
+SyncState *
+
+Channel proton-inbox
+Master :proton-remote:"Inbox"
+Slave :proton-local:Inbox
+Create Both
+Patterns *
+SyncState *
+
+Channel proton-archive
+Master :proton-remote:"Archive"
+Slave :proton-local:Archive
+Create Slave
+SyncState *
+
+Channel proton-sent
+Master :proton-remote:"Sent"
+Slave :proton-local:Sent
+Create Slave
+SyncState *
+
+Channel proton-trash
+Master :proton-remote:"Trash"
+Slave :proton-local:Trash
+Create Slave
+SyncState *
+Expunge Both
+
+Group proton
+Channel proton-all-mail
+Channel proton-archive
+Channel proton-sent
+Channel proton-drafts
+Channel proton-trash

+ 12 - 0
msmtprc

@@ -0,0 +1,12 @@
+defaults
+auth           on
+tls            on
+tls_certcheck  off
+logfile        ~/.msmtp.log
+
+account        proton
+host           127.0.0.1
+port           1025
+from           colin@onec.me
+user           colin@onec.me
+passwordeval   pass personal/protonmail/bridges/$HOSTNAME

二進制
netrc.gpg


+ 19 - 0
notmuch-config

@@ -0,0 +1,19 @@
+[database]
+path=/Users/colinpowell/Mail
+
+[user]
+name=Colin Powell
+primary_email=colin@onec.me
+
+[new]
+tags=unread;inbox;new;
+ignore=
+
+[search]
+exclude_tags=deleted;spam;
+
+[maildir]
+synchronize_flags=true
+
+[crypto]
+gpg_path=/usr/bin/gpg

+ 41 - 0
quitebrowser/config.py

@@ -0,0 +1,41 @@
+# Autogenerated config.py
+# Documentation:
+#   qute://help/configuring.html
+#   qute://help/settings.html
+
+# Uncomment this to still load settings configured via autoconfig.yml
+# config.load_autoconfig()
+
+# Store cookies. Note this option needs a restart with QtWebEngine on Qt
+# < 5.9.
+# Type: Bool
+c.content.cookies.store = False
+
+# Enable JavaScript.
+# Type: Bool
+config.set('content.javascript.enabled', True, 'file://*')
+
+# Enable JavaScript.
+# Type: Bool
+config.set('content.javascript.enabled', True, 'chrome://*/*')
+
+# Enable JavaScript.
+# Type: Bool
+config.set('content.javascript.enabled', True, 'qute://*/*')
+
+# Make characters in hint strings uppercase.
+# Type: Bool
+c.hints.uppercase = True
+
+# Font used for the hints.
+# Type: Font
+c.fonts.hints = 'bold 16pt monospace'
+
+c.url.searchengines = {'DEFAULT': 'https://duckduckgo.com/?q={}', 'wikiwand': 'https://www.wikiwand.com/en/{}?fullSearch=false'}
+
+c.messages.timeout = 5000
+
+config.bind('wo', 'set-cmd-text -s :open -w')
+config.bind('wd', 'close')
+config.bind('sp', 'set-cmd-text -s :open -w startpage')
+config.bind('wk', 'set-cmd-text -s :open -w wikiwand')

+ 13 - 0
remote_sync

@@ -0,0 +1,13 @@
+#!/bin/bash
+# version 0.0.1
+
+LOCALHISTFILE=/tmp/$USER.history.$$;
+read -d '' RUN << EOF
+export HISTFILE=$LOCALHISTFILE;
+export HISTTIMEFORMAT='%F %T - '
+bash -i;
+awk '{print \"HIST \"\$0}' \$HISTFILE;
+EOF
+ssh $1 "cat > $LOCALHISTFILE" < ~/.bash_history-$1
+ssh -t $1 "$RUN" | tee /tmp/$USER-remote-history
+grep '^HIST ' /tmp/$USER-remote-history | sed -e 's/^HIST //' -e 's/^M//' > ~/.bash_history-$1

+ 2 - 0
ssh/authorized_keys

@@ -0,0 +1,2 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2vNVzBll3GeXH8DdM72AF1Q/ekZhR8xP04z/huAmoC2NVZBQ9qG6wpHZ8+yC/Rl1eSECN27RHlASs9MdGwgETKAKe8VoKFNFjQPe7tvz0xJLJ+CBA84YnEjzXiRp9Ot6sBBaX/xtyNNGnwckla5Vu8/MlPNIhgCtTCG4QnTIWNCYICQZCr96Kwd9r1vjC0qZjA1WpaKKlhpKiLKGW0ln7rqh10Txbt512yJR78j7/q5tYiecMDwqV4JeY8KmzqSywDJqO7vGJnkisn6RrlRgw4WBOqFGv42oZ/XqEd9UqKxuTu/7/7N5fKTwE4hhX+bIPxg+w0tnhdGUxMLwluROw== powellc
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCcpSQA57DjlRjsW2sipRMRELT+DRTKjfOlZHKqdgpHIGu3bHnsupRJGM1ERZBozDr9j2TN1dmYi4T8LIeaCrpLZyYkzMg4zs8ctbmAKjq3LhZqDtjladfdaoRzC4AwkC126bmM+IVyg5WmM9bdus6e+XeUT7CkK7rQImXb+Ox8vSTlpS8+QyOtzBcFjiy+KsKfMdxt5vhIQ59YH1vn/M43dDEot4dMfr4CRLdEAMBGSKS1VdBkcN0QG71I8A9qzWDaFULSUJMoKnF+ylD0LcO5ZJRs/XKUF69X8MCvg67yxE43AZi2UG5jBJJRPQP351Zdtj66zNzAF1uKUucOCWFQ0qoq78bYhuEuW2aiaUg3HflpWXxP9yJEteR+DuFKiEx9275KeNMJxBdzt3GMXFFSFdvRpVOm0ysAdMwgAihPxYwVn7iKL6sr9aTLJEaMbQVQnN4IwsdYxOOCxfUrzoYzxvCENQlfWlo/819XOvCTY7oUXudDo9lTQp/D/fIzw0qFA/hI9OUze9RbRWQJFquOdqFboNDu4x7HNDgyHadkGosbp2hA3mmkGIkIXpNfqaisFuEl762WK8nkMZKxtoVuHcK9PPKJoOqiS5+epGcsykuzIh3Jh+u46wlcZ2C1W1fskNtHdAMMTbvzeZ+Z0B3vwyJm0w7kh9ohInX+bLW2nQ== colin.powell@elationhealth.com

+ 64 - 0
ssh/config

@@ -0,0 +1,64 @@
+#CanonicalizeHostname yes
+#CanonicalDomains elationemr.com internal.elationemr.com unbl.ink onec.me
+
+Host *
+    ServerAliveInterval 300
+    ServerAliveCountMax 2
+    AddKeysToAgent yes
+    IdentityFile ~/.ssh/powellc
+
+Host *.local
+  User powellc
+
+Host home
+  HostName galah.onec.me
+  User powellc
+
+Host grackle
+  HostName galah.onec.me
+  User powellc
+
+Host kestrel
+  ProxyCommand ssh -xaqW%h:%p home
+  User powellc
+
+Host phoebe
+  ProxyCommand ssh -xaqW%h:%p home
+  User powellc
+
+Host auklet
+  ProxyCommand ssh -xaqW%h:%p home
+  User powellc
+
+Host magpie
+  ProxyCommand ssh -xaqW%h:%p home
+  User colinpowell
+
+Host sdf.org
+  User secstate
+
+Host *.unbl.ink
+  User powellc
+
+Host *.onec.me
+  User powellc
+  
+Host *.elationemr.com
+  User colinpowell
+  IdentityFile ~/.ssh/elation
+
+Host *.internal.elationemr.com
+  User colinpowell
+  IdentityFile ~/.ssh/elation
+
+Host harrier.local
+  User colinpowell
+  IdentityFile ~/.ssh/elation
+
+Host magpie.local
+  User colinpowell
+  IdentityFile ~/.ssh/elation
+
+Host 10.201.*
+  User colinpowell
+  IdentityFile ~/.ssh/id_ed25519

+ 22 - 0
tmux.conf

@@ -0,0 +1,22 @@
+bind j select-pane -D
+bind k select-pane -U
+bind h select-pane -L
+bind l select-pane -R
+
+bind | split-window -h
+bind - split-window -v
+
+bind -r J resize-pane -D 10
+bind -r K resize-pane -U 10
+bind -r H resize-pane -L 10
+bind -r L resize-pane -R 10
+
+set -g pane-border-fg white
+set -g pane-active-border-fg cyan
+set -g pane-active-border-bg cyan
+set -g status-left "session: #S | window: #I | pane: #P"
+
+set -g prefix C-a 
+bind-key C-a last-window
+set -g default-terminal "screen-256color"
+set -g default-command "/bin/bash"