obsidian plugin, mygvm enhancements

This commit is contained in:
Jacob Bohanon
2024-04-05 07:41:23 -04:00
parent 7367c425fb
commit b6689da485
9 changed files with 96 additions and 26 deletions

View File

@@ -1,4 +1,9 @@
export EDITOR=nvim
# Set homebrew before my own path mods so brew binaries (specifically go)
# don't override my expected tooling
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:/opt/local/bin:$PATH
@@ -34,6 +39,8 @@ alias kci='git commit --allow-empty --message "kick CI" && git push'
alias cddf='cd $HOME/.dotfiles'
alias nvdf='cddf && nvim $HOME/.dotfiles/README.md'
alias cdjb='cd $HOME/src/github.com/jbohanon'
alias cdo='cd $HOME/Documents/obsidian/work'
alias nvo='cdo && nvim .'
if [[ $(uname) == Linux ]]; then
alias pbcopy='xsel --clipboard --input'
@@ -56,4 +63,3 @@ export TERM=xterm-256color
export STARSHIP_CONFIG=~/.config/zsh/starship.toml
eval "$(starship init zsh)"

146
zsh/mygvm
View File

@@ -1,146 +0,0 @@
#!/bin/bash
list_versions() {
echo "installed versions:"
for i in "$HOME"/.go/go1*; do basename "$i"; done
echo ""
}
install_version() {
check_valid_patch $1
if [[ $valid != 'true' ]]; then
echo "invalid version $1"
echo "using $(go version)"
exit 1
fi
fname="$HOME/.go/downloads/$1.$goos-$goarch.tar.gz"
if [[ ! -f $fname ]]; then
curl -Lo $fname https://dl.google.com/go/$1.$goos-$goarch.tar.gz
fi
cd $HOME/.go/downloads
tar -zxf $1.$goos-$goarch.tar.gz
mv go/ ../$1
check_exists $1
link_version $1
}
link_version() {
if [[ $exists == 'true' ]]; then
ln -sfn $HOME/.go/$1 $HOME/.go/go
fi
}
check_valid_minor() {
if [[ $1 =~ go1\.[0-9]{1,2} ]]; then
valid='true'
fi
}
check_valid_patch() {
if [[ $1 =~ go1\.[0-9]{1,2}\.[0-9]{1,2} ]]; then
valid='true'
fi
}
check_exists() {
if [[ -d $HOME/.go/$1 ]]; then
exists='true'
fi
}
remove_version() {
check_exists $1
if [[ $exists == 'true' ]]; then
if [[ $current_link == $1 ]]; then
echo "cannot remove version $1 because it is currently in use"
else
rm -rf $HOME/.go/$1
echo "removed version $1"
fi
else
echo "version $1 not installed"
fi
}
get_latest_patch_for_minor() {
version=$(curl -s "https://go.dev/dl/?mode=json&include=all" | grep -o "$1.*.linux-amd64.tar.gz" | head -n 1 | tr -d '\r\n' | sed 's/[.]linux-amd64[.]tar[.]gz//')
if [[ $version == '' ]]; then
echo "could not determine latest version for $1."
exit 1
else
echo "latest $1 patch: $version"
fi
}
prompt_install() {
echo "$1 not found in $HOME/.go"
list_versions
check_valid_patch $1
if [[ $valid == 'true' ]]; then
echo "attempt to download and install? [y/n]"
read input
if [[ $input == 'y' ]]; then
install_version $1
fi
else
check_valid_minor $1
if [[ $valid == 'true' ]]; then
get_latest_patch_for_minor $1
check_exists $version
if [[ $exists == 'true' ]]; then
link_version $version
else
prompt_install $version
fi
else
echo "invalid version $1"
echo "using $(go version)"
exit 1
fi
fi
}
mkdir -p "$HOME/.go/downloads"
current_link=$(basename $(readlink $HOME/.go/go))
uname_m=$(uname -m)
goarch='amd64'
if [[ $uname_m == 'arm64' || $uname_m == 'aarch64' ]]; then
goarch='arm64'
fi
goos='linux'
if [[ $(uname) == 'Darwin' ]]; then
goos='darwin'
fi
valid='false'
exists='false'
version=''
check_exists $1
if [[ $1 == '' ]]; then
list_versions
elif [[ $1 == 'list' ]]; then
list_versions
elif [[ $1 == 'remove' ]]; then
remove_version $2
elif [[ $1 == 'uninstall' ]]; then
remove_version $2
elif [[ $1 == 'install' ]]; then
install_version $2
elif [[ $1 == 'use' ]]; then
check_exists $2
if [[ $exists == true ]]; then
link_version $2
else
prompt_install $2
fi
elif [[ $exists == 'true' ]]; then
link_version $1
else
prompt_install $1
fi
echo "using $(go version)"