git clone --bare git@github.com:kiedanski/dotfiles.git $HOME/.cfg
function config {
/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME $@
}
mkdir -p .config-backup
config checkout
if [ $? = 0 ]; then
echo "Checked out config.";
else
echo "Backing up pre-existing dot files.";
config checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | xargs -I{} mv {} .config-backup/{}
fi;
config checkout
config config status.showUntrackedFiles no
- (Optional) Change the shell to ssh
chsh -s $(which zsh)
- Install oh-my-zsh:
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.local/share/oh-my-zsh
- Create the folder
~/.local/share/zsh
git clone https://github.com/jeffreytse/zsh-vi-mode \ $ZSH_CUSTOM/plugins/zsh-vi-mode
- Install tmux plugin manager:
git clone https://github.com/tmux-plugins/tpm $XDG_DATA_HOME/tmux/plugins/tpm
- Install brew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Install tmux plugins from inside tmux:
<C-a> I
Tools to install:
jq
jc
neovim
tmux
ripgrep
fd
ffmpeg
xsv
This config is based on this guide