Setting up a new Mac

by jefftkjefftk4 min read11th May 20203 comments

10

Practical
Personal Blog

I've had somewhat bad luck with computers lately. In late January my work computer stopped charging, and they replaced it with a used model because they were having supply issues. Its replacement had a broken webcam and, as expected for a butterfly mac, inconsistent keyboard. In April the WiFi stopped working, and while I had just run a cable to my desk we replaced it again. The supply issues have gotten worse, and my current laptop has some minor issues: inconsistent keyboard, splotchy screen, but otherwise good.

With setting up these two Macs, and a third one for music, all within a short time, I think I now have complete list of the changes I need to make before I'm happy using a Mac. Here's the big list, roughly in the order I'd go through them:

  • System Preferences:

    • Trackpad > secondary click > bottom right corner

    • Keyboard:

      • Key Repeat: Fast

      • Delay Until Repeat: Shorter

      • Modifier Keys > Caps Lock Key: Control

      • Customize Touch Bar > remove Siri

    • Touch ID: add fingerprints, and enable fingerprint unlock

    • Displays > Arrangement > Mirror Displays (keeps me from bending my neck down at my laptop screen by making it redundant)

    • Notifications > Do Not Disturb > uncheck "When Mirroring to TVs and Projectors (makse my notifications still show up with a mirrored display)

    • Sound > Output > Internal Speakers (keeps it from trying to send audio to my speakerless monitor)

  • Web Browser:

    • Use Safari to install Chrome

    • Sign into Chrome with my personal account

    • If this is a work laptop, make a second profile for work account

  • Backup and Sync:

    • Install Google Backup and Sync and tell it to sync my dotfiles directory only (slow).

    • When that finishes, set up symlinks for each dotfile (ex: ln -s ~/Google\ Drive/dotfiles/_emacs ~/.emacs)

    • When that finishes, let Backup and Sync copy down everything else (very slow).

  • Terminal:

    • Preferences > Profiles > Keyboard > Use Option as Meta key

    • defaults write com.apple.Terminal FocusFollowsMouse -string YES

    • Colors: set terminal to black background, and set this as the default

  • Iterm2:

    • Install

    • Profiles > Keys > Left Optio: Esc+

    • Profiles > Text > Monaco Regular 10pt non-antialiased

    • Profiles > Terminal > Terminal may enable paste bracketing: no

    • Pointer > Focus follows mouse: yes

    • General > Selection > Copy to pasteboard on selection: no

    • Make my preferred terminal layout and save the window arrangement

  • Remove everythig from the dock (I start programs with spotlight)

  • Install command line tools: run git, see it fail, click "yes" on the popup that asks if I'd like the OS to fix things so it will start working.

  • Tell git who I am: git config --global --edit

  • Install Homebrew

  • Install mosh: brew install mosh

  • Safari > Preferences > Advanced > Show develop in menu bar

The symlinking dotfiles saves me quite a lot of configuration, including:

  • thorough history logging

  • export EDITOR=emacs

  • All my emacs configuration...

  • Reasonable PS1

  • ~/.inputrc: set blink-matching-paren on

  • My .ssh directory

10

3 comments, sorted by Highlighting new comments since Today at 12:10 PM
New Comment

I'd recommend Brave (brew install brave-browser) over Chrome if you care about privacy at all. It's a Chromium based browser so has feature parity with Chrome, but it doesn't send your personal information to the Google hivemind. Built-in ad-blocker too, and per-site noscript making it convenient to only run JS on sites you trust.

Well... I work on ads at Google, and I gave up on privacy a decade ago. So I don't think we're going to be thinking about this the same way, but some thoughts:

  • I wouldn't use an ad blocker. Sites are offering a trade: you can see our stuff if you also see our ads. If I don't want that trade I can go somewhere else.

  • I especially wouldn't use Brave, because it removes the ads sites have chosen to display, and asks advertisers to pay the browser to display their ads instead.

  • I'm happy for my information to go to Google, because they do useful things with it. My location history is automatically uploaded, and being able to figure out where I was on a specific date has been useful several times. Gmail scans my emails and turns flights into reminders. Ad tracking means better ad targeting, which means my visits to pages make more money for the site owners. Google's handling of user information is very good, and I'm frustrated that regulatory changes mean I'll likely see many fewer helpful new features connecting the pieces of information I've given them. None of this hurts me, and in return I get a lot of useful free things.

  • JS is very well sandboxed, and I'm fine running JS even on sites I don't trust at all. JS exploits in Chrome are rare enough to be newsworthy when they happen.

(Speaking only for myself)

For syncing dotfiles and config generally: https://github.com/lra/mackup

For managing programming languages: https://github.com/asdf-vm/asdf