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 email@example.com:sunpech/dotfiles.git mv dotfiles ~/.dotfiles cd ~/.dotfiles chmod u+x install.sh ./install.sh
From here make custom changes depending on what kind of dev-box you need.
Apps paths used in dotfiles
- rbenv - For managing rubies.
- Postgres.app - Postgres for Mac.
- Android SDK
- homebrew - Mac package manager.
- git-completion - Already included in this project.
- heroku toolbelt
- Interfacelift Downloader - Also see my fork for improvements
- .Net Core
- Running VS Code on OS X - Adding command code to PATH-- to open Visual Studio Code from command line.
Packages to install with Homebrew.
brew install git bash node openssl rbenv ruby-build wget vim macvim tig rename archey ssh-copy-id rename tree
- Atom.io - Text editor.
- Sublime Text - Text editor. Also see my sublime-text-settings repo.
- iTerm2 - Terminal. Also see iTerm2 color schemes.
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 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