#!/usr/bin/env bash # # Set up basic symlinks and directory structure when installing dotfiles. # Expected to be idempotent. set -e # General mkdir -p $HOME/dev ln -sfn $HOME/dev/dotfiles/script $HOME/script # ZSH mkdir -p $HOME/.config/zsh/functions # TODO: ZSH on Mac appears to load zshenv from ZDOTDIR, not HOME. # Try to consolidate this. if [ $(uname -s) = "Darwin" ]; then envpath="$HOME/.config/zsh/.zshenv" else envpath="$HOME/.zshenv" fi ln -sfn $HOME/dev/dotfiles/zshenv "$envpath" ln -sfn $HOME/dev/dotfiles/zshrc $HOME/.config/zsh/.zshrc secretsfile="$HOME/.config/zsh/.zshsecrets" if [ ! -f "$secretsfile" ]; then cp $HOME/dev/dotfiles/zshsecrets.example "$secretsfile" fi # Tmux ln -sfn $HOME/dev/dotfiles/tmux.conf $HOME/.tmux.conf # Vim mkdir -p $HOME/.vim/pack/git-plugins/{opt,start} ln -sfn $HOME/dev/dotfiles/vimrc $HOME/.vimrc ln -sfn $HOME/dev/dotfiles/vim/after $HOME/.vim/after # Git ln -sfn $HOME/dev/dotfiles/gitconfig $HOME/.gitconfig mkdir -p $HOME/.config/git ln -sfn $HOME/dev/dotfiles/gitignore $HOME/.config/git/ignore # Alacritty if [ $(uname -s) = "Darwin" ]; then alacrittyconfig="$HOME/dev/dotfiles/alacritty.macos.yml" else alacrittyconfig="$HOME/dev/dotfiles/alacritty.yml" fi ln -sfn "$alacrittyconfig" $HOME/.config/alacritty.yml echo "Done"