DEV Community

Cover image for Setup a new mac (for devs [and others]) 💻

Setup a new mac (for devs [and others]) 💻

Dekel on July 25, 2021

"Got a new macbook🥳! What should I install now 🧐?" I'm getting this question every couple of weeks from friends and colleagues, and ev...
Collapse
 
eljayadobe profile image
Eljay-Adobe

My own checklist:

  • Unbox, plug-in, and boot new Mac
  • Setup network (WiFi, probably)
  • Install macOS updates
  • Install App store updates
  • Install Xcode
  • Install Brew
  • Install Vim using Brew
  • Install MacVim using Brew
  • Install boost, calc, clang-format, coreutils, dmd, doctest, dub, elm, elm-format, fdupes, findutils, gcc, gdb, git, ghc, go, icu4c, ldc, llvm, ncurses, pcre, pcre2, python (whatever the latest is... 3.9 today), range-v3, ripgrep, and sqlite using Brew
  • vi ~/.vimrc and add some of my favorite environment settings
  • vi ~/.bash_profile and add some of my favorite aliases and functions

Ready! (I'm still using Bash. I've started using Zsh, but I'm a Zsh noob.)

Collapse
 
drhyde profile image
David Cantrell

I too stick with bash, because I can't go installing zsh on the machines I use at work. I'd rather have one environment to work in than two different ones. Plus I've already got loads of bash shell customisations and porting them to work on zsh as well would be a pain.

Collapse
 
dekel profile image
Dekel

I get it. Too bad you can't install zsh (with oh-my-zsh) at work.

Thread Thread
 
duhdugg profile image
Doug Elkin

bash-it is a pretty good shameless ripoff of oh-my-zsh

Collapse
 
dekel profile image
Dekel

zsh is great, and the themes/plugins give you so much. I really recommend checking them!

Collapse
 
miketalbot profile image
Mike Talbot ⭐

For me add:

  • Yoink - somewhere to temporarily hold files that stays on screen while you move through desktops (paid, but worth it)
  • Moom - my preferred window manager (paid, but worth it for me)
  • Add the git plugin to zsh so your command prompt shows the branch you are on and other info
Collapse
 
narven profile image
Pedro Luz

To replace Yoink you also have Dropzone aptonic.com/, It does the same think has Yoink but also has extra functionality like drag and drop to anywhere... S3 server another directory, an FTP server, printer, etc

Collapse
 
dekel profile image
Dekel

Yoink and Moom are indeed interesting. Thanks for sharing those! I never had such need, but I might try it 😀.
As for the git plugin - I agree (and there are many more). You can also find that specific plugin in my recommended list 😉.

Collapse
 
baruchiro profile image
Baruch Odem

I think I should move to oh-my-zsh. I worked with oh-my-posh or starship because they are cross platform, and I moved my configuration between computers. But I see there are incredible features in oh-my-zsh that I dreamed about

Collapse
 
dekel profile image
Dekel

I completely agree. If you still don't use oh-my-zsh - you should definitely try it!

Collapse
 
drhyde profile image
David Cantrell

Three that I find essential that no-one has mentioned are bat, direnv, and calc, all installable via homebrew.

Collapse
 
dekel profile image
Dekel
  1. bat is super cool! New to me and I should definitely give it a try.
  2. I mostly find direnv a bit less relevant for me. I use dotenv in most environments.
  3. As for calc - ipython always runs in one of my shells, and it gives me better interface for that.
Collapse
 
drhyde profile image
David Cantrell

I'm quite often switching between projects, and it's handy for each one to have its own PATH set up, its own PERL5LIB, and a few other less common things.

Collapse
 
moopet profile image
Ben Sinclair

Change the key repeat and repeat delay

Why do you do this?

Collapse
 
dekel profile image
Dekel

Mostly because I don't like waiting 😀.
Just an example - when clicking the backspace (and holding it) - I don't like to wait before characters get deleted (this is the delay until repeat configuration) , and once they start to get deleted - I like that they get deleted fast (the key repeat).

Collapse
 
moopet profile image
Ben Sinclair

There are shortcuts for "delete back a word" or "delete to end of line", etc., which I prefer. I can't remember holding a key down to do anything for years!

Thread Thread
 
dekel profile image
Dekel

There are indeed 😀 option+backspace & cmd+backspace, however sometimes I prefer to have the ability to click and hold. It really depends on the situation.

Collapse
 
baruchiro profile image
Baruch Odem

Thanks!
Try tldr.sh tool

Collapse
 
dekel profile image
Dekel

Thanks for this one. Super cool 😎!

Collapse
 
hannanel100 profile image
hannanel100

Got my first Mac from my new dev job, have never used a mac before and was going crazy swiping on the trackpad to move form window to window, thanks for the recommendation for altTab, its a life saver...

Collapse
 
luca_predoi profile image
Luca Predoi

Nice! Coding garden has a great livestream where he sets up his new mac.

Collapse
 
bugb profile image
bugb

you should have dotfiles

Collapse
 
dekel profile image
Dekel

Thanks for this! I'll check it out :-)

Collapse
 
dillonheadley profile image
Dillon Headley

Nice! I I’ll check out rectangle as I’ve been using spectacle. Also I use fish shell instead of zsh. Comes with autocomplete and some other nice things out of the box!

Collapse
 
smeetsmeister profile image
Jelle Smeets

Awesome read! Can't believe I ever lived without Rectangle!

Collapse
 
dekel profile image
Dekel

Thanks @smeetsmeister ! I used Spectacle in the past, but since it is no longer maintained I found Rectangle to be an amazing replacement (and its also open-source!)

Collapse
 
temilolufola profile image
TemiloluFola

Love this! I just moved from Windows to macOS. Will definitely them out.

Collapse
 
temilolufola profile image
TemiloluFola

Love this! I just moved from Windows to macOS. Will definitely them out.