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:
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:
export EDITOR=emacs
All my emacs configuration...
Reasonable
PS1
~/.inputrc
:set blink-matching-paren on
My
.ssh
directory
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