My post-install process for MacOS
Software
- Browsers: Chrome, Firefox.
- Code editors: VS Code, Cursor.
- Media: VLC Player.
- Communication: Zoom, Discord, Slack, Telegam.
- Graphics: Inkscape, ImageOptim.
- Storage: Tuxera, Google Drive.
- Development stuff: Node JS, nvm, Docker, MongoDB, MongoDB-Compass, Postman,.
- Helpful utilities:
- Command X – cut and paste files in Finder.
- Magnet – snapping windows into organized tiles.
- Scroll-Reverser – reverses the direction of scrolling on macOS.
- The Unarchiver.
- Transmission – free bittorrent client.
- Management apps:
- Some more stuff using brew:
brew install cmake p7zip, pnpm, fonttools
- And just several more using pnpm:
pnpm i -g kill-port yarn
Settings
- Add Russian text input: System Settings -> Keyboard -> Text Input -> Edit -> ’+’ -> ‘Russian’ -> ‘Russian – PC’.
- Enable natural trackpad scrolling: System Settings -> Trackpad -> Scroll & Zoom: Natural scrolling (ON).
- 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 – fast.
Fonts
Download and install using Font Book.
Configs
SSH keys
-
Place keys to
User/.ssh
directory. -
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
.gitconfig
file: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