ZSH=$HOME/.oh-my-zsh ZSH_CUSTOM_DIR=$ZSH/custom BASEDIR=$(dirname $0) # TODO: add function to install neovim (see ~/tmp/util-functions.zsh) install_brew_binaries() { for binary in $(cat brew_binaries.txt); do echo "intalling $binary" brew install "$binary" done } install_ohmyzsh() { sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended # add useful zsh plugins if [[ -d $HOME/.oh-my-zsh ]]; then git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH/custom/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH/custom/plugins/zsh-syntax-highlighting fi } link_dotfiles () { echo "\nCopying each dotfile to its respective location" cd $BASEDIR mkdir -p $HOME/.config/alacritty mkdir -p $HOME/.config/zellij ln -sf $PWD/zshrc.zsh $HOME/.zshrc ln -sf $PWD/zprofile.zsh $HOME/.zprofile ln -sf $PWD/aliases.zsh $ZSH_CUSTOM_DIR/aliases.zsh ln -sf $PWD/env.zsh $ZSH_CUSTOM_DIR/env.zsh ln -sf $PWD/tmux.conf.local $HOME/.tmux.conf.local ln -sf $PWD/gitconfig $HOME/.gitconfig ln -sf $PWD/ideavimrc $HOME/.ideavimrc ln -sf $PWD/config/alacritty $HOME/.config/alacritty ln -sf $PWD/config/zellij $HOME/.config/zellij echo "\nNeed to source ~/.zshrc. Run:" echo "\n \$ source ~/.zshrc" cd - } link_nvim_config () { cd $BASEDIR mkdir -p $HOME/.config/nvim ln -sf $PWD/config/nvim $HOME/.config/nvim cd - } link_warp_config () { cd $BASEDIR mkdir -p $HOME/.warp echo "Linking warp config..." ln -sf $PWD/warp/* $HOME/.warp/ cd - } link_wezterm_config () { cd $BASEDIR mkdir -p $HOME/.config/wezterm ln -sf $PWD/config/wezterm $HOME/.config/wezterm cd - } echo "Run 'install_ohmyzsh' to install oh-my-zsh and the two plugins\n" echo "Run 'install_brew_binaries' to install the 'brew' binaries defined in ./brew_binaries.txt" echo " contents of 'brew_binaries.txt:" echo "" \cat brew_binaries.txt echo "" echo "Run 'link_dotfiles' to symlink all dotfiles to the correct spot..." echo "Run 'link_nvim_config' to symlink the nvim config...\n" echo "Run 'link_warp_config' to symlink the warp config..." echo "Run 'link_wezterm_config' to symlink the wezterm config...\n"