1. Sunpech Suwatanapongched
  2. dotfiles


dotfiles /

Filename Size Date modified Message
600 B
56.2 KB
56.2 KB
262 B
124 B
3.6 KB
2.9 KB
245 B
2.7 KB
16.1 KB
742 B

Sunpech's Dotfiles

My dotfiles to be installed on any new Mac/Ubuntu machine I set up-- although mostly geared for Mac. Always a work in progress.

The idea behind how this project is currently structured is to keep everything in the .dotfiles/ folder in the user's home directory. Then to only create a single symbolic link for .bash_profile.


You should have necessary apps installed already. Applications such as Git, Rails, Mongodb, Postgres, Android SDK, mySQL, etc. This repo does not install all that for you. The PATH is set in the .bash_profile file.


Run the following, line by line.

git clone git@github.com:sunpech/dotfiles.git

mv dotfiles ~/.dotfiles

cd ~/.dotfiles

chmod u+x install.sh


From here make custom changes depending on what kind of dev-box you need.


Apps paths used in dotfiles

Brew Installs

Packages to install with Homebrew.

brew install git bash node openssl rbenv ruby-build wget vim macvim tig rename archey ssh-copy-id rename toilet figlet tree

I have a full list of apps I recommend for software development here: Best Software Development Tools

I also have a more up to date repo, Best Software List.

Git Aware Prompt

I really like Git Aware Prompt, but I use my own fork which supresses the dirty flag for submodules. See: sunpech/git-aware-prompt. This is a submodule, so you'll need to clone it into this repo.

cd ~/.dotfiles
git clone git@github.com:sunpech/git-aware-prompt.git

I'm moving to use git-prompt now.

Setup Git

I like to use DiffMerge for merging files.

git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd 'diffmerge "$LOCAL" "$REMOTE"'
git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.cmd 'diffmerge --merge --result="$MERGED" "$LOCAL" "$(if test -f "$BASE"; then echo "$BASE"; else echo "$LOCAL"; fi)" "$REMOTE"'
git config --global mergetool.diffmerge.trustExitCode true

More Stuff