Whenever I get a new Mac or decide to wipe it and start afresh the following are my go-to tools and software for both web development and general work.
Command Line Tools
iTerm2
I love iTerm it's a fantastic terminal interface, it's easy to customise and add shortcuts keys to.
HomeBrew
Brew is a brilliant package manager for Mac, I use HomeBrew to install software such as PHP and MySQL.
GIT comes installed with Mac before using GIT it's important to set your name and email address. This is important because every Git commit uses this information, and it’s immutably baked into the commits you start creating:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
Composer
Package manager for PHP, every project I work with uses Composer so it's a much to install.
Adding composer to bash_profile
Open bash profile with VIM
vi ~/.bash_profile
Press I to enter insert mode
Next, add compost tp PATH by writing:
export PATH="$PATH:$HOME/.composer/vendor/bin"
Then press escape to normal mode then :wq to save and quit.
Install PHP 7.3
brew install php@7.3
Enable php to run as a service
brew services start php
Install MySQL 5.7
brew install mysql@5.7
Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes
To change themes open zsh profile
vi ~/.zshrc
This is is a different from bash_profile composer will need adding to the zsh profile
export PATH="$PATH:$HOME/.composer/vendor/bin"
Valet
When working locally I use Valet to run my php projects Valet is a development environment that allows you to server custom domain for your local projects for instance instead of using http://localhost:8888/someproject I can use http://someproject.localhost
Laravel installer
You can install Laravel using composer via the create command:
composer create-project --prefer-dist laravel/laravel blog
but with the Laravel Installer you can simply do:
laravel new blog
Storage
Cloud Mounter
I use Dropbox to store my files but I don't install the Dropbox installer instead I use Cloud Mounter to mount Dropbox to finder. Then I can see access my files as if they were on my machine. This adds the benefit of not filling up my hard drive.
Web Development
I've tried lots of editors and IDE's over the years but I always go back to Sublime Text I find it the best for my needs, I always extend it with the following:
Package Control
Adds the ability to install plugins
SFTP
Works with SSH, FTP and SFTP
Wakatime
I use Wakatime to track how much time I spend coding, my whole team uses it so it's great to see how we all compare.
SidebarEnhancements
This plugin adds more options to the sidebar, it's essential.
Boxytheme - blue ocean
This is my theme of choice!
Laravel blade highlighter
Adds syntax highlighting for Blade views
Terminus
Add's a terminal interface to Sublime
In addition it's useful to open folders in Sublime using sublime . in terminal.
Adding shortcut to open folder in sublime - https://gist.github.com/adrianorsouza/df4759b0583dcd112da4
ln -sv "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
Sequel Pro
Remote manage MySQL databases
PHP 7.2 Install via Brew:
brew install php72
MySQL 5.6 - https://gist.github.com/nrollr/3f57fc15ded7dddddcc4e82fe137b58e
brew install mysql
Photoshop
For all image editing needs.
Screenflow
When recording my screen for making tutorials I've found nothing better then Screenflow.
Browsers
Productivity
I use Alfred instead of Spotlight for the following features:
- Searching Google
- Searching Files and Folders
- Code Snippets
- Workflows
- Clipboard History
These 2 worksflows I use often:
Social/Communication
Tweetdeck - Desktop app for Twitter
Slack - Interal team communication
WhatsApp - Interal team communication
Outlook - Email application
Skype - Client communication
Security
1Password
I use 1Password for generating and storing all my passwords and 2 factor authentication for websites and applications.