- Current Silicon Used: Apple M1
- Current OS X Version Used:
Ventura 13.1
This repository holds my scripts, configuration files, notes, etc. for the rare occasion of setting up a new Mac for myself. You will find in here:
- My customizations to various system preferences
- A script to
- Install a considerable amount of software I use
- Remind of software I need to install manually
- Setup my terminal theme
- Setup various dotfiles and configuration files I use via chezmoi.
I follow these steps immediately after I first boot up a new Mac and go through the initial setup it presents:
- Apply any system software updates.
- Apply any App Store updates for pre-installed software.
- Remove any unwanted applications from the dock.
Here are the various customizations I make to the default system preferences.
- Turn on
24-hour time
.
- Set
First day of week
toSunday
. - Set
Date format
toYYYY-MM-DD
.
Local hostname
>Edit
and provide a better hostname.
- Set
Appearance
toDark
.
- Add the
~/Pictures/wallpaper
directory to theFolders
list and select it. - Check
Change picture
and set the drop-down toEvery 30 minutes
. Repeat for each monitor attached. - Check
Random Order
. Repeat for each monitor attached.
- Adjust
Size
to feel comfortable based on the screen size. - Set
Minimize windows using
toScale effect
. - Turn off
Automatically hide and show the Dock
. - Turn off
Show recent applications in Dock
.
- Set
Bluetooth
toShow in Menu Bar
. - Set
Focus
toAlways Show in Menu Bar
. - Turn on
Battery > Show Percentage
. - Set
Menu Bar Only > Spotlight
toDon't Show in Menu Bar
. - Set
Menu Bar Only > Siri
toDon't Show in Menu Bar
. - Turn on
Menu Bar Only > Clock > Clock Options > Use a 24-hour clock
.
- Turn off
Ask Siri
. - Uncheck all the items under
Spotlight
.
- Click the
Details
button next to the desired network(s) and go to theDNS
entry.- Clear out any existing entries in
DNS Servers
. - Add these DNS servers instead in this order:
1.1.1.1
8.8.8.8
8.8.4.4
- Clear out any existing entries in
./setup-my-mac.sh
This bash
script performs the following tasks in order:
- Install Homebrew.
- Use Homebrew to automatically install various software you would otherwise have to manually install (see
Brewfile
for list). - Setup fish shell to be the default shell.
- Install the oh-my-fish package manager.
- Use oh-my-fish to install any fish shell packages and the
gitstatus
theme. - Create the directories
~/github.com
,~/Pictures/wallpapers
. - Remind me of any other software I need to manually download and install.
- Use chezmoi to install dotfiles and configuration files.
The script endeavors to only perform a step if necessary. e.g., It attempts to detect already installed software to prevent trying to inst all it again.
Name | Description | Installation |
---|---|---|
Homebrew | OS X package manager used to install software | See latest instructions on homepage. setup-my-mac.sh has those instructions as of last check-in. |
wget | Utility for retrieving files via HTTPS, etc. | Homebrew |
autojump | Utility for quickly changing to previously visited directories | Homebrew |
youtube-dl | Utility for downloading videos from YouTube and other streaming sites | Homebrew |
ssh-copy-id | Utility for installing SSH keys on a server | Homebrew |
Jumpcut | Clipboard manager | Homebrew Cask |
Caffeine | Prevents your Mac from automatically going to sleep | Homebrew Cask |
VeraCrypt | Disk encryption software | Homebrew Cask |
LastPass | Password manager | Homebrew Cask |
FileZilla | FTP client | Manual |
f.lux | Adjust the screen colors based on time of day | Homebrew Cask |
MacVIM | Text editor | Homebrew Cask |
xbar | Put the output of a script into your menu bar | Homebrew Cask |
iCalBuddy | Command-line utility that can be used to get lists of events and tasks/to-do's from the OS X calendar database | Homebrew |
rbenv | Manage installed versions of Ruby on your machine | Homebrew |
Hammerspoon | LUA based automation tool | Homebrew Cask |
chezmoi | Manage your dotfiles across multiple diverse machines, securely. | Homebrew |
Name | Description | Installation |
---|---|---|
iTerm2 | My preferred replacement for the OS X terminal program | Homebrew Cask |
fish shell | My preferred shell these days | Homebrew |
oh-my-fish | Package manager for fish shell used to install themes and fish shell related utilities | See latest instructions on homepage. setup-my-mac.sh has those instructions as of last check-in. |
JetBrains Mono Font | Programmer friendly font | Homebrew Cask |
Name | Description | Installation |
---|---|---|
PHPStorm | JetBrains IDE for PHP development | Manual |
GoLand | JetBrains IDE for Go development | Manual |
WebStorm | JetBrains IDE for JavaScript development | Manual |
DataGrip | JetBrains IDE for SQL / database development | Manual |
XCode | Apple development | App Store |
Name | Description | Installation |
---|---|---|
Firefox Developer Edition | Version of Firefox geared towards developers | Homebrew Cask |
Name | Description | Installation |
---|---|---|
Slack | App Store | |
Discord | Homebrew Cask | |
Tweeten | Twitter client | Homebrew Cask |
Name | Description | Installation |
---|---|---|
Battle.net | Blizzard gaming client | Manual |
Steam | Platform for a variety of games | Homebrew Cask |
GOG Galaxy | Platform for older games | Homebrew Cask |
VLC | Media player | Homebrew Cask |
Name | Description | Installation |
---|---|---|
Quicken Deluxe | Keep track of financial accounts | Manual |
H&R Block Tax Software | Tax preparation & filing | Manual |