# vim: set ft=zsh : # `$HOME/bin/start-agent` SSH_ENV="$HOME/.ssh/agent-environment" function escapeStr { if [ -z "$1" ]; then echo "usage: escapeStr " return 1 fi echo $1 | sed -r 's/([\$"])/\\\1/g' } function start_agent { echo "Initialising new SSH agent..." /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" echo succeeded chmod 600 "${SSH_ENV}" . "${SSH_ENV}" > /dev/null /usr/bin/ssh-add; } {{ if .shell.ssh_agent }} # Source SSH settings, if applicable if [ -f "${SSH_ENV}" ]; then . "${SSH_ENV}" > /dev/null #ps ${SSH_AGENT_PID} doesn't work under cywgin ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { start_agent; } else start_agent; fi {{ end }} function envf { if [ ! -f "$1" ]; then echo "File $1 does not exist" exit 1 fi export $(cat $1 | grep -v '^#' | xargs) } function ttySize { echo "-e COLUMNS=$(tput cols) -e LINES=$(tput lines)" } export HISTORY_SUBSTRING_SEARCH_PREFIXED=1 export GOPATH="$HOME/go" export GOROOT="$HOME/apps/go" export NODE_ROOT="$HOME/apps/node" export PATH="$GOPATH/bin:$GOROOT/bin:$NODE_ROOT/bin:${KREW_ROOT:-$HOME/.krew}/bin:$PATH" if [ -f "$HOME/.cargo/env" ]; then . "$HOME/.cargo/env" fi if [ -d "$HOME/bin" ]; then export PATH="$HOME/bin:$PATH" fi if [ -d "$HOME/.local/bin" ]; then export PATH="$PATH:$HOME/.local/bin" fi function ln-image-tags { if [ -z "$1" ]; then echo "usage: ln-image-tags " exit 1 fi curlie -L https://registry.lawsnote.com/v2/$1/tags/list } function ln-save-image { if [ -z "$1" ]; then echo "usage: ln-save-image " return 1 fi docker-save --rm -p -o . -i registry.lawsnote.com/$1 } function save-image { if [ -z "$1" ]; then echo "usage: save-image " return 1 fi tag=$(ln-image-tags "$1" | jq -c -r 'del(.tags[] | select(. == "latest")) | .tags | sort | last') || return 1 ln-save-image "$1:$tag" } function minio-size { if [ -z "$1" ]; then echo "usage: minio-size " return 1 fi mc ls -r --json $1 | jq -s 'map(.size) | add' | numfmt --to=iec-i --suffix=B --padding=7 } function zfs-usage { awk '/^size/ { print $1 " " $3 / 1048576 }' < /proc/spl/kstat/zfs/arcstats }