https://github.com/sprak3000/setup-my-mac
Documentation, etc. for setting up a new Mac the way I like it.
https://github.com/sprak3000/setup-my-mac
hacktoberfest osx setup-macos setup-osx setup-tool shell
Last synced: 11 months ago
JSON representation
Documentation, etc. for setting up a new Mac the way I like it.
- Host: GitHub
- URL: https://github.com/sprak3000/setup-my-mac
- Owner: sprak3000
- License: mit
- Created: 2015-03-16T19:39:44.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2022-12-22T03:00:04.000Z (about 3 years ago)
- Last Synced: 2025-04-04T14:04:43.539Z (11 months ago)
- Topics: hacktoberfest, osx, setup-macos, setup-osx, setup-tool, shell
- Language: Shell
- Homepage:
- Size: 32.2 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Setup My Mac
- **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](https://www.chezmoi.io).
## Initial Setup
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.
## System Preferences
Here are the various customizations I make to the default system preferences.
### General
#### Date & Time
- Turn on `24-hour time`.
#### Language & Region
- Set `First day of week` to `Sunday`.
- Set `Date format` to `YYYY-MM-DD`.
#### Sharing
- `Local hostname` > `Edit` and provide a better hostname.
### Appearance
- Set `Appearance` to `Dark`.
### Desktop & Screen Saver
- Add the `~/Pictures/wallpaper` directory to the `Folders` list and select it.
- Check `Change picture` and set the drop-down to`Every 30 minutes`. Repeat for each monitor attached.
- Check `Random Order`. Repeat for each monitor attached.
### Desktop & Dock
- Adjust `Size` to feel comfortable based on the screen size.
- Set `Minimize windows using` to `Scale effect`.
- Turn off `Automatically hide and show the Dock`.
- Turn off `Show recent applications in Dock`.
### Control Center
- Set `Bluetooth` to `Show in Menu Bar`.
- Set `Focus` to `Always Show in Menu Bar`.
- Turn on `Battery > Show Percentage`.
- Set `Menu Bar Only > Spotlight` to `Don't Show in Menu Bar`.
- Set `Menu Bar Only > Siri` to `Don't Show in Menu Bar`.
- Turn on `Menu Bar Only > Clock > Clock Options > Use a 24-hour clock`.
### Siri & Spotlight
- Turn off `Ask Siri`.
- Uncheck all the items under `Spotlight`.
### Wi-Fi
- Click the `Details` button next to the desired network(s) and go to the `DNS` 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`
## Installation Script
```
./setup-my-mac.sh
```
This `bash` script performs the following tasks in order:
- Install [Homebrew](https://brew.sh/).
- 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](https://github.com/oh-my-fish/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](https://www.chezmoi.io) 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.
## What I Use
### Utilities
| Name | Description | Installation |
|:-----------------------------------------------------------:|----------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------:|
| [Homebrew](https://brew.sh/) | 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](https://www.gnu.org/software/wget/) | Utility for retrieving files via HTTPS, etc. | Homebrew |
| [autojump](https://github.com/wting/autojump) | Utility for quickly changing to previously visited directories | Homebrew |
| [youtube-dl](https://ytdl-org.github.io/youtube-dl/) | Utility for downloading videos from YouTube and other streaming sites | Homebrew |
| [ssh-copy-id](https://www.ssh.com/ssh/copy-id) | Utility for installing SSH keys on a server | Homebrew |
| [Jumpcut](https://github.com/snark/jumpcut) | Clipboard manager | Homebrew Cask |
| [Caffeine](https://intelliscapesolutions.com/apps/caffeine) | Prevents your Mac from automatically going to sleep | Homebrew Cask |
| [VeraCrypt](https://www.veracrypt.fr/en/Home.html) | Disk encryption software | Homebrew Cask |
| [LastPass](https://www.lastpass.com/) | Password manager | Homebrew Cask |
| [FileZilla](https://filezilla-project.org/) | FTP client | Manual |
| [f.lux](https://justgetflux.com/) | Adjust the screen colors based on time of day | Homebrew Cask |
| [MacVIM](https://macvim-dev.github.io/macvim/) | Text editor | Homebrew Cask |
| [xbar](https://xbarapp.com/) | Put the output of a script into your menu bar | Homebrew Cask |
| [iCalBuddy](https://hasseg.org/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](https://github.com/rbenv/rbenv) | Manage installed versions of Ruby on your machine | Homebrew |
| [Hammerspoon](https://www.hammerspoon.org/) | LUA based automation tool | Homebrew Cask |
| [chezmoi](https://www.chezmoi.io) | Manage your dotfiles across multiple diverse machines, securely. | Homebrew |
### Alternative Terminals, Shells, Fonts
| Name | Description | Installation |
|:---------------------------------------------------------:|----------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------:|
| [iTerm2](http://iterm2.com/) | My preferred replacement for the OS X terminal program | Homebrew Cask |
| [fish shell](https://fishshell.com/) | My preferred shell these days | Homebrew |
| [oh-my-fish](https://github.com/oh-my-fish/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](https://www.jetbrains.com/lp/mono/) | Programmer friendly font | Homebrew Cask |
### Programming IDEs
| Name | Description | Installation |
|:--------------------------------------------------------:|----------------------------------------------|:------------:|
| [PHPStorm](https://www.jetbrains.com/phpstorm/) | JetBrains IDE for PHP development | Manual |
| [GoLand](https://www.jetbrains.com/go/) | JetBrains IDE for Go development | Manual |
| [WebStorm](https://www.jetbrains.com/webstorm/) | JetBrains IDE for JavaScript development | Manual |
| [DataGrip](https://www.jetbrains.com/datagrip/) | JetBrains IDE for SQL / database development | Manual |
| [XCode](https://apps.apple.com/us/app/xcode/id497799835) | Apple development | App Store |
### Web Browsers
| Name | Description | Installation |
|:-----------------------------------------------------------------------------:|----------------------------------------------|:-------------:|
| [Firefox Developer Edition](https://www.mozilla.org/en-US/firefox/developer/) | Version of Firefox geared towards developers | Homebrew Cask |
### Chat & Social Media
| Name | Description | Installation |
|:----------------------------------:|----------------|:-------------:|
| [Slack](https://slack.com/) | | App Store |
| [Discord](https://discord.com/) | | Homebrew Cask |
| [Tweeten](https://tweetenapp.com/) | Twitter client | Homebrew Cask |
### Entertainment
| Name | Description | Installation |
|:--------------------------------------------------------------------:|---------------------------------|:-------------:|
| [Battle.net](https://www.blizzard.com/en-us/apps/battle.net/desktop) | Blizzard gaming client | Manual |
| [Steam](https://store.steampowered.com/) | Platform for a variety of games | Homebrew Cask |
| [GOG Galaxy](https://www.gog.com/galaxy) | Platform for older games | Homebrew Cask |
| [VLC](https://www.videolan.org/vlc/index.html) | Media player | Homebrew Cask |
### Finance
| Name | Description | Installation |
|:-----------------------------------------------------------------------------:|----------------------------------|:------------:|
| [Quicken Deluxe](https://www.quicken.com/personal-finance/quicken-deluxe-mac) | Keep track of financial accounts | Manual |
| [H&R Block Tax Software](https://www.hrblock.com/tax-software/) | Tax preparation & filing | Manual |