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 firstname.lastname@example.org: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.
- Google Cloud Platform
Save Android and Google Cloud SDKS to folder
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
- Atom.io - Text editor.
- Fish Shell - A smart and user-friendly command line shell for macOS, Linux, and the rest of the family.
- Sublime Text - Text editor. Also see my sublime-text-settings repo.
- iTerm2 - Terminal. Also see iTerm2 color schemes.
- Visual Studio Code - A Code editor.
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.
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