/dotfiles

dotfiles as a git repo

Primary LanguageVim script

Dotfiles

My dotfiles and configurations, to be quickly pulled in any new environment.


Setup

cd
git clone https://github.com/shoshijak/dotfiles.git
cd dotfiles
./install.sh # Quick install - or follow the individual instructions below

Bash

# back up
mv ~/.bash_profile ~/.bash_profile_back
mv ~/.bashrc ~/.bashrc_back
# symlink
ln -s dotfiles/bash/bash_profile ~/.bash_profile
ln -s dotfiles/bash/bashrc ~/.bashrc

Git

# back up
mv ~/.gitconfig ~/.gitconfig_back
mv ~/.gitignore_global ~/.gitignore_global_back
# symlink
ln -s dotfiles/git/gitconfig ~/.gitconfig
ln -s dotfiles/git/gitignore_global ~/.gitignore_global

Configure

touch ~/.gitconfig_local

Write in gitconfig_local:

[user]
   name = TODO
   email = TODO

diff-so-fancy

Install from NPM, Nix, brew, or as a package on Arch and Debian Linux, or:

git clone https://github.com/so-fancy/diff-so-fancy DIFF-SO-FANCY-PATH
export PATH=DIFF-SO-FANCY-PATH:$PATH # add this line to `~/.shell_local`

Shell Stuff

ln -s dotfiles/shell/aliases ~/.aliases
ln -s dotfiles/shell/functions ~/.functions

Any machine-specific shell setup commands can be kept in ~/.shell_local.

Shell Awesomeness (optional)

Install following command-line utilities:

  • exa, a replacement for ls
  • bat, a replacement for cat
  • vtop, a replacement for top
  • dust, a replacement for du
  • procs, a replacement for ps

Vim

Requires Vim 7.4.1578+ compiled with Python3 support, for YouCompleteMe plugin.

Download from https://www.vim.org/download.php.

# back up
mv ~/.vim ~/.vim_back
mv ~/.vimrc ~/.vimrc_back
# set up simlink
ln -s dotfiles/vim/vimrc ~/.vimrc
ln -s dotfiles/vim ~/.vim

Vim Plugins

Install Vundle:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

Open vim and run :PluginInstall to install all of the plugins.

Set up YouCompleteMe:

cd .vim/bundle/YouCompleteMe/
python3 install.py --clangd-completer

Zsh

# back up
mv ~/.zshrc ~/.zshrc_back
# symlink
ln -s dotfiles/zsh/zshrc ~/.zshrc

#### oh-my-zsh

Install oh-my-zsh
Install nerdfont