dotfiles/home/dot_zprofile.tmpl
2024-03-30 22:41:35 +08:00

112 lines
2.6 KiB
Bash

# vim: set ft=zsh :
# `$HOME/bin/start-agent`
SSH_ENV="$HOME/.ssh/agent-environment"
function escapeStr {
if [ -z "$1" ]; then
echo "usage: escapeStr <string>"
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 <image-name>"
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 <image-name:tag>"
return 1
fi
docker-save --rm -p -o . -i registry.lawsnote.com/$1
}
function save-image {
if [ -z "$1" ]; then
echo "usage: save-image <image-name>"
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 <alias or alias/bucket-path>"
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
}
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/home/jay/apps/google-cloud-sdk/path.zsh.inc' ]; then . '/home/jay/apps/google-cloud-sdk/path.zsh.inc'; fi
# The next line enables shell command completion for gcloud.
if [ -f '/home/jay/apps/google-cloud-sdk/completion.zsh.inc' ]; then . '/home/jay/apps/google-cloud-sdk/completion.zsh.inc'; fi