DEV Community

Cover image for Set up My Computer with Me!
Ali Spittel
Ali Spittel

Posted on

Set up My Computer with Me!

I just bought my first ever personal Mac, and I thought it was a good opportunity to document my process of setting it up, and all the things I install!

I expected to focus on the things that were difficult to install and that gave me issues throughout the process, but I can happily say that I didn't run into any issues while getting everything set up! So, here's what I did and why!

Chrome

I use Chrome pretty exclusively, and I have for a while. It's developer tools are great. I struggle on Safari, so this is the first thing I got set up! I just downloaded it through Safari. I synced my settings and favorites by signing into my G-Mail account.

Spectacle

Spectacle is a window management tool so that you can use keyboard shortcuts to move around windows on your monitor. I have been using this for awhile, and I'm completely dependent on it -- I really struggle to navigate computers without it to be honest! This one was important! I also downloaded this one through the browser, I wanted it set up before I did anything else.

Homebrew

Homebrew is a package manager you to install stuff really easily on MacOS. I honestly couldn't imagine getting anything installed without it at this point.

Here's the command to install it:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Languages

The three languages I normally write code with on my personal computer are Python, Ruby, and JavaScript.

Ruby

I use rbenv for setting up Ruby environments. It allows you to easily switch between versions, and set them for different projects. I set my global Ruby version to 2.5.1 which is the version dev.to uses!

$ brew install rbenv

I then added eval "$(rbenv init -)" to my .zshrc (which would be your Bash Profile if you don't use Zsh). This just loads rbenv automatically whenever I open up my terminal.

$ rbenv install 2.5.1
$ rbenv global 2.5.1

Python

Python was my first programming language, and it is still the one I have the most professional experience with. There are a lot of ways to get Python installed, but I personally prefer installing it without Anaconda. I find that I have fewer installation issues down the road. It also automatically installs pip (the Python package manager) so I don't have to worry about setting that up down the road.

I also installed IPython right away since I use that pretty much every day for testing pieces of code.

$ brew install python3
$ pip3 install ipython

Node

The third language to set up is Node. This one is usually not too bad, I haven't had too many Node installation issues in the past.

$ brew install node

Developer Tools

Visual Studio Code

I've been using Visual Studio Code as my text editor for a while, and I obsessed with it. I have a full post on my setup.

I use brew to install it, though for applications you want a desktop icon for, you add cask on, and it will do that for you!

$ brew cask install visual-studio-code

Git

Git is pretty important; it's definitely a must install! I again installed it through HomeBrew.

$ brew install git

I also set up a global .gitignore so that certain files are always excluded from version control.

Then, I set it up so that I use Visual Studio Code instead of Vim for Git.

$ git config --global core.editor 'code --wait'

I also set up my GitHub SSH keys so that I don't have to type in my password all the time.

Fira Code

I use the Fira Code font for both my terminal and VS Code. I love the ligatures and how it looks!

$ brew tap caskroom/fonts
$ brew cask install font-fira-code

Sketch

I use Sketch for all of my design work -- here's a little bit more about my work flow.

$ brew cask install sketch

Zsh + ITerm2

I use Zsh with ITerm2 for my terminal setup. You can read all about that here! I installed ITerm2 with Homebrew. Zsh comes installed on Macs, though I used oh-my-zsh to finish the setup process.

$ brew cask install iterm2
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Other Stuff

Fantastical

I also installed Fantastical2. It is an improved Google Calendar that allows you to sign in with multiple accounts and view all of your calendars as once. For me, this is critical since I have work, blog, and personal calendars. I accidentally double booked myself once by looking at the wrong calendar, so I'm very careful about checking all of them now!

Slack

Even though Slack is mostly for work, I also have a couple organizations that are social, so I have those on my personal computer as well. They are mostly the ones for meetups in my area. I again used Homebrew to install it.

$ brew cask install slack

Desktop Background

I use Design Love Fest for all of my desktop backgrounds. They are so pretty, and they post a set of them each week, so there's always a new one for me to use. I'm using this one for my new computer.

Conclusion

This whole set up took very little time and went super smoothly. I've had a lot of installation issues in the past, so I was super surprised, to be honest! Feel free to tweet me your favorite apps that I should install!

Latest comments (66)

Collapse
 
engineercoding profile image
Wesley Ameling

I don't have any experience with a Mac, so forgive me if I say something stupid.

You forgot virtualenv and virtualenvwrapper for python to isolate package management for different projects. Installing everything in the global site packages will be annoying when you have two projects with the same dependencies differing in the versions they use.

Virtualenvwrapper allows you to setup a folder containing all your virtual environments including making it easy to manage them.

Collapse
 
aspittel profile image
Ali Spittel

That's built into Python3 now!

Collapse
 
engineercoding profile image
Wesley Ameling

Then I have installed those packages for no reason for way too long! XD

Collapse
 
equiman profile image
Camilo Martinez

Spectacle it's amazing. But I reconfigured some keyboard combinations to avoid conflicts with VS Code.

I highly recommend install this apps through brew: Keka, AppCleaner, Cryptomator, CheatSheet and Karabiner.

Take a look into my post about, maybe you can find something helpful:

Collapse
 
romanpaprotsky profile image
Roman Paprotsky

Media player
iina.io

Emails
sparkmailapp.com

Code notes and snippets
boostnote.io

Break time reminder app
hovancik.net/stretchly

Collapse
 
jumpalottahigh profile image
Georgi Yanev

Hey, Ali. Nice write up. Thanks for putting it together.
You have a typo/missing word on the first sentence for Homebrew :)

Collapse
 
cyberorgnizm profile image
Adole Samuel

Great set up. Looks like am definitely going to be taking home with me your exact setup because I develop with python, JavaScript and currently planning to add Ruby to my stack as a hobbyist. Thanks for sharing

Collapse
 
aspittel profile image
Ali Spittel

for sure! Awesome!

Collapse
 
arximughal profile image
Muhammad Arslan Aslam

Except Visual Studio Code and Sketch, I have the exact same setup on my office mac 💖

Collapse
 
goku132 profile image
Michael

Really like these post to see what other people are using.

Collapse
 
mariordev profile image
Mario

Nice article. Welcome! Once you go Mac, you never go back. :)

Collapse
 
chiangs profile image
Stephen Chiang

Hehe the question is, you never go back because it's awesome... Or because they designed the ecosystem to make it as painful to leave as possible? Just being cheeky..

Collapse
 
awwsmm profile image
Andrew (he/him)

Is it worth paying the $99/year for the Sketch license if I don't do much design work? What have you used it for? How often do you find yourself using it?

Collapse
 
aspittel profile image
Ali Spittel

So I use it almost every day, but I also do a lot of design stuff and create all my blog and social media graphics with it. I also use it as my SVG editor. Canva is a great free alternative, though it is web based!

Collapse
 
edwin_r_c profile image
Edwin Ramirez

You ain't missing anything by using SizeUp instead of Spectacle. Spectacle is just a free version of Sizeup with less customization options. Also, Spectacle hasn't been updated for almost 2 years and those Mojave issues are starting to pile up.

I tried to replace Spectacle with Veeer it's newer, shinier, and also free; but lacks features like moving windows between screens.

Collapse
 
mathur_anurag profile image
Anurag Mathur 

Thank you for the guide. I am planning to resetup my Mac in a similar way. This will be immensely helpful.

Collapse
 
shriharshmishra profile image
Shriharsh

Okay. I had seen the word ‘cask’ but didn’t know it was for GUI programs. Thank you!

Collapse
 
computersmiths profile image
ComputerSmiths

Two (and a half?) of my favorites:

BetterSnapTool from the Mac App store lets you drag a window to the {top,sides,corners} of the screen and makes the window resize into {full, half, quarter} size at that position.

CMD- opens the Spotlight tool so you can find anything (or do quick calculations or conversions) without having to mouse to the upper right corner (and in my case risk triggering the Hot Corners action of sleeping the display and locking the computer).

Enjoy your Mac!

Collapse
 
nickytonline profile image
Nick Taylor

Wasn't aware of Brewfile. Thanks for sharing Michael! I have a script that sets up my Mac and had an array of brew apps that I install, gist.github.com/nickytonline/729fc.... When I get a chance, I'll update it.

Collapse
 
captainawesomedi profile image
Di Wu

we have the exactly the same setup... but recently i switch from fira code to monaco..