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
./install.sh
From here make custom changes depending on what kind of dev-box you need.
- iTerm2 - Terminal emulator.
- iTerm2 color schemes
- Fish Shell - A smart and user-friendly command line
- oh-my-fish
- Z Shell (MacOS Catalina default)
- oh-my-zsh
- powerlevel10k theme
Be sure to read this. In short, run:
git submodule update
- 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 Development
.
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 imagemagick@6 glances fish go hugo jekyll
- Atom.io - Text editor. shell for macOS, Linux, and the rest of the family.
- Sublime Text - Text editor. Also see my sublime-text-settings repo.
- Visual Studio Code - A Code editor.
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