Skip to content

Instantly share code, notes, and snippets.

@Shawn1224
Last active November 24, 2022 14:30
Show Gist options
  • Save Shawn1224/923d5709bff8a2107f153b5bb8432faa to your computer and use it in GitHub Desktop.
Save Shawn1224/923d5709bff8a2107f153b5bb8432faa to your computer and use it in GitHub Desktop.
macos-dev-setup
#! /bin/bash
xcode-select --install
# get back from another machine
# brew bundle dump
# ----------------------------------------------------- basic ----------------------------------------------------- #
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew doctor
sed -i '.bak' '1s/^/export PATH="\/usr\/local\/bin:$PATH"\'$'\n/g' $HOME/.zshrc
sed -i '.bak' '1s/^/export PATH="\/usr\/local\/bin:$PATH"\'$'\n/g' $HOME/.bash_profile
source $HOME/.zshrc
source $HOME/.bash_profile
brew tap homebrew/cask-versions
brew install \
wget \
curl \
git
brew install --cask google-chrome-canary
brew install --cask google-chrome
brew info --cask firefox
brew install --cask firefox
brew install --cask yandex
brew install --cask brave-browser
brew install --cask tor-browser
brew install --cask opera-gx
brew install --cask vivaldi
# ----------------------------------------------------- utils ----------------------------------------------------- #
brew install tree \
youtube-dl \
adguard-vpn
brew install --cask calibre
brew install --cask commander-one
brew install --cask a-better-finder-attributes
brew install --cask 5kplayer
brew install --cask 4k-stogram
# ----------------------------------------------------- dev ------------------------------------------------------- #
brew install hudochenkov/sshpass/sshpass
brew install --cask dbeaver-community
brew install --cask anaconda
conda create -q -y -n py27 python=2.7
conda activate py27
# curl "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- https://nodejs.org/dist/latest/ | sed -nE 's|.*>node-(.*)\.pkg</a>.*|\1|p')}.pkg" > "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"
brew install node
# brew install nvm
# nvm_setup='
# export NVM_DIR=~/.nvm
# source $(brew --prefix nvm)/nvm.sh
# '
# echo "$nvm_setup" >>$HOME/.bash_profile
brew install golang
go version
# IDE/Editor
brew install --cask visual-studio-code
cat <<EOF >>~/.bash_profile
# Add Visual Studio Code (code)
export PATH="\$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
EOF
cat <<EOF >>~/.zprofile
# Add Visual Studio Code (code)
export PATH="\$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
EOF
# VSCode extensions
# ESDoc MDN
# CSS Peek
# ----------------------------------------------------- kubectl ----------------------------------------------------- #
brew install --cask docker
# brew install kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | shasum -a 256 --check
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
sudo chown root: /usr/local/bin/kubectl
kubectl version --client
kubectl completion zsh
sed -i '.bak' '1s/^/source <(kubectl completion zsh)\'$'\n/g' $HOME/.zshrc
sed -i '.bak' '2s/^/compinit\'$'\n/g' $HOME/.zshrc
sed -i '.bak' '1s/^/autoload -Uz compinit\'$'\n/g' $HOME/.zshrc
# echo 'source <(kubectl completion bash)' >>~/.bash_profile
# kubectl completion bash >/usr/local/etc/bash_completion.d/kubectl
# https://kubernetes.io/zh/docs/tasks/tools/install-kubectl-macos/#optional-kubectl-configurations-and-plugins
# brew install bash
# echo $BASH_VERSION $SHELL
# brew install bash-completion@2
# export BASH_COMPLETION_COMPAT_DIR="/usr/local/etc/bash_completion.d"
# [[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"
# 重新加载 shell,并用命令 type _init_completion 验证 bash-completion v2 已经恰当的安装。
# exit
# type _init_completion
# ------------------------------------------------------ softwares --------------------------------------------- #
# music
brew install --cask yesplaymusic
brew install --cask ieasemusic
brew install --cask finicky
brew install --cask browserosaurus
brew install --cask adrive
brew install --cask wechat qq
# --------------------------------------------------------- alias ------------------------------------------------ #
# $HOME/scripts/set_alias.sh
sh set_alias.sh
@Shawn1224
Copy link
Author

Shawn1224 commented May 5, 2022

set_alias.sh

#!/bin/bash
mkdir -p $HOME/.alias
echo "#!/bin/bash" >$HOME/.alias/bash_aliases.sh

# ---------------------------------- docker ---------------------------------- #
echo "#!/bin/bash" >$HOME/.alias/docker_alias.sh

echo '#!/bin/bash
docker ps -a | awk "{print $1}" | xargs docker rm
docker rmi -f $(docker images -aq)
rm -rf /var/cache/yum
' >$HOME/.alias/cleanup_docker.sh

alias_docker='
alias dockerclenup="sh ${HOME}/.alias/cleanup_docker.sh"
alias clenupdocker="sh ${HOME}/.alias/cleanup_docker.sh"
chmod u+r+x $dockerclenup
chmod u+r+x $clenupdocker
'
echo "$alias_docker" >>$HOME/.alias/docker_alias.sh
# append to bash_aliases
echo "$alias_docker" >>$HOME/.alias/bash_aliases.sh
echo "$alias_docker" >>$HOME/.zshrc

# ------------------------------------ k8s ----------------------------------- #
alias k='kubectl'

# ------------------------------------ git ----------------------------------- #
echo "#!/bin/bash" >$HOME/.alias/git_alias.sh

echo '#!/bin/bash
echo "exec $0"
set -x

branch_name = $1
git branch -D $1
git push --delete origin $1' >$HOME/.alias/del_branch.sh

alias_git='
alias delb="sh ${HOME}/.alias/del_branch.sh"
alias delBranch="sh ${HOME}/.alias/del_branch.sh"
chmod u+r+x $delb
chmod u+r+x $delBranch

alias 结单="sh ${HOME}/.alias/del_branch.sh"
alias jiedan="sh ${HOME}/.alias/del_branch.sh"
chmod u+r+x $jiedan

alias 拉通="git pull"
alias latong="git pull"

alias 对齐="git push"
alias duiqi="git push"
alias 赋能="git push"
alias funeng="git push"
alias 落地="git push "
alias luodi="git push "

alias 组合拳="git merge"
alias zuhequan="git merge"
alias 整合="git merge"
alias zhenghe="git merge"

alias 复盘="git blame"​​​
alias fupan="git blame"

alias 回顾="git log"
alias huigu="git log"

alias 听你的="git checkout --theirs "
alias tingnide="git checkout --theirs "
alias urright="git checkout --theirs "
alias urr="git checkout --theirs "

alias 听我的="git checkout --ours"
alias tingwode="git checkout --ours"

alias 转化="git commit "
alias zhuanhua="git commit "

alias 痛点="git diff "
alias tongdian="git diff "
alias 差异="git diff "
alias chayi="git diff "
'

echo "$alias_git" >>$HOME/.alias/git_alias.sh
# append to bash_aliases
echo "$alias_git" >>$HOME/.alias/bash_aliases.sh

# --------- append to profile, and enable all of the alias settings above -------- #
exe_alias='
if [ -f $HOME/.alias/bash_aliases.sh ]; then
    . $HOME/.alias/bash_aliases.sh
fi
'

echo "$exe_alias" >>$HOME/.bash_profile
source $HOME/.bash_profile

echo "$exe_alias" >>$HOME/.zshrc
source $HOME/.zshrc

echo "$exe_alias" >>$HOME/.zprofile
source $HOME/.zprofile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment