My post-install process for MacOS
1. Onboarding and OS Update
- Onboarding choices:
- Keyboards: British and Russian – PC.
- Install latest version of OS.
2. Update Settings
- Enable natural trackpad scrolling: System Settings -> Trackpad -> Scroll & Zoom: Natural scrolling – ON(for NTFS drive read/write support).
- Add user directory to the Finder: Finder -> Go -> Go to finder -> type
/-> find user directory and drag it to the Favorites. - Always show hidden files:
defaults write http://com.apple.Finder AppleShowAllFiles true - Speed up keyboard: System Settings -> Keyboard -> Key repeat rate – Fast, Delay until repeat – Short.
- Wallpaper: Set some nice nature landscape as a wallpaper.
- Appearance:
- Liquid Glass – Tinted.
- Show scroll bars – Always.
- Desktop & Dock:
- Automatically hide and show the Dock – ON.
- Show suggested and recent apps in Dock – ON.
- Default web browser – Google Chrome.
- Notifications:
- when screen is locked – OFF.
- Sound:
- Play sound on startup – OFF.
- Play user interface sound effects – OFF.
- Privacy and Security:
- FileVault – ON.
- Network:
- Firewall – ON.
3. Install Software
- Password Manager Bitwarden.
- Browsers: Chrome, Firefox.
- Code editors: VS Code, Cursor.
- Media: VLC Player.
- Communication: Zoom, Slack, Telegram.
- Graphics: ImageOptim.
- Storage: Tuxera, Google Drive for NTFS drive read/write support.
- Helpful utilities:
- Command X – cut and paste files in Finder.
- Scroll-Reverser – reverses the direction of scrolling on macOS.
- The Unarchiver.
- Homebrew for packages management.
- Transmission bittorrent client.
- Development stuff:
- Some stuff using brew:
brew install cmake p7zip pnpm git git-lfs. - Some more stuff using pnpm:
pnpm i -g kill-port.
4. Install Fonts
Download and install using Font Book.
5. Setup Configs
SSH keys
- Place keys to
User/.sshdirectory. - Add keys to authentication agent
ssh-add ~/.ssh/{private_key}. - Set directory rights
chmod 700 ~/.ssh/*. - Create ssh config
.ssh/config.
Host {host1}
HostName {hostname1}
User {username1}
IdentityFile ~/.ssh/{filename1}
Host {host2}
HostName {hostname2}
User {username2}
IdentityFile ~/.ssh/{filename2}
Read more about ssh configuration
Enable commits signing (SSH)
- Generate SSH key locally.
- Add SSH key to GitHub: Settings -> SSH and GPG keys -> New SSH key – Signing.
- Update local git settings.
git config --global gpg.format ssh
git config --global user.signingkey ~/PATH/TO/.SSH/KEY.PUB
git config --global commit.gpgsign true
Read more about commits signing
Git configs: work/personal
- Create a root
.gitconfigfile:touch ~/.gitconfig.
[includeIf "gitdir:~/work/"]
path = .gitconfig-work
[includeIf "gitdir:~/personal/"]
path = .gitconfig-personal
- Create work and personal files:
touch ~/.gitconfig-personal,touch ~/.gitconfig-work.
[user]
email = work/personal@email.com
name = John Doe
Read more about conditional git configs
6. The Last Mile
- Arrange dock icons. From left to right:
- AI Apps (ChatGPT, Gemini, …).
- Code editors and IDEs (Cursor, WebStorm, …).
- Browsers (Chrome, Firefox, Safari, …).
- Personal stuff (Password manager, notes).
- System things (Terminal, System monitoring, Clock, Calculator, …).
- Communication (Telegram, Slack, …).
- Adjust notifications.
- Setup widgets in notification center:
- Weather (med).
- Calendar (large).
- Calendar (small).
- Batteries (small).