I decided to write this post primarily for myself because the previous one, which I wrote in 2022, ended up being very useful. So I’m doing it again after moving to a new laptop.
Compared to 2022, I upgraded to a laptop with the M3 chip, which works perfectly. Most programs already support the new architecture, and Rosetta 2 handles the remaining x86 applications.
I no longer use separate macOS user profiles. Instead, I switched to different Git configurations that activate automatically based on the directory path. Moving to a single-profile setup saved disk space and eliminated the friction of switching profiles. Most of the issues with multiple profiles came from Homebrew and the way it installs apps.
macOS Settings
It turned out that most settings synchronized automatically through my Apple account. As a result, I didn’t have to adjust much after logging in. As usual, I also turn off long animations and the annoying blue icon that indicates the current input language in text fields.
# Disable the blue language icon
sudo defaults write /Library/Preferences/FeatureFlags/Domain/UIKit.plist redesigned_text_cursor -dict-add Enabled -bool NO
For some reason, not all settings sync through the Apple account. I also always remap language switching to Caps Lock.
Browsers
From 2023 to the middle of 2024, I used Firefox, but now I have switched back to Google Chrome. Previously, Firefox had fewer pop-ups and warnings with my local network compared to Chrome. I frequently encountered this because I have a home lab.
However, I prefer the DevTools for developers in Chrome, and almost all extensions work as well as they do in Firefox. Finally, Firefox has terrible UX with screen sharing, so I decided to switch for the time being.
- Chrome - main browser
- Firefox - secondary browser, used once a week
- Min - minimalistic browser for screenshots and screen sharing
- Arc - I like their idea, but they are bad from an extension point of view. I rarely open it to check how they are progressing.
Browser Extensions
- Bitwarden - password manager
- StreetPass for Mastodon - parses social profiles on the page.
- OneTab - allows saving open tabs into a local store and reopening them later; I use it like a reading list.
- Tab Sorter - sorts tabs for OneTab.
- uBlock Origin - makes browsing the internet more comfortable, although I have Pi-hole.
- Simple Translate - the most elegant extension for translation. I often use it to translate words from YouTube.
- Clickbait Remover for Youtube
- Enhancer for YouTube
- SponsorBlock for YouTube
Applications
Some apps are installed through Homebrew, while others I download directly. If an app has a built-in self-update mechanism, I prefer to install it manually instead of managing it through Homebrew. In that case, Homebrew will simply skip it after the first installation.
Below, I combined the contents of /Applications with the output of brew leaves and added a short note on why I use each app.
GUI Applications
- Adobe Photoshop - used occasionally for image editing
- DaVinci Resolve - video editing
- Anki - flashcards for learning new things in the morning
- DataGrip - connecting to databases
- DB Browser for SQLite - local SQLite viewer with handy
Blobpreview - Discord - calls with friends
- Docker - occasional local builds
- Endel - offline background music
- Flow - Pomodoro timer
- GoLand - Go language code refactoring
- Grammarly Desktop - because I don’t know English perfectly. Mostly turned off because it’s annoying.
- Hoppscotch - REST API client, a replacement for Postman
- Horo - timer for cooking 🥘
- iA Writer - cozy Markdown editor. I’m writing this text in it now…
- IINA - superb minimalistic video player
- kitty - replacement for the default terminal
- Lens - Kubernetes cluster management
- Lookupper - perfect solution for word translation based on image recognition. It recognizes the word under the cursor using the native macOS dictionary.
- Microsoft Office - bureaucracy…
- Obsidian - knowledge base and daily notes
- OrbStack - Docker replacement, but I seldom use it
- Parallels Desktop - virtual machines
- qBittorrent - torrent client
- Raycast - Spotlight replacement
- Rectangle - window manager in macOS with hotkeys
- Shottr - screenshot tool with notes
- Slack - communication tool for work
- Spark - used only for parsing invites, due to issues with Thunderbird
- Sublime Merge - UI for Git
- Screen Studio - quick video screen recording
- Syncthing - local Dropbox replacement
- Thunderbird - main email client
- Telegram - main communication tool
- Visual Studio Code - main text editor
- VLC - for rare video formats or converting from one format to another
- WhatsApp - chat with “plumbers”
- WireGuard - VPN to personal “cloud” server, always on
- Wireshark - network traffic debugging
- Zed - a promising code editor
- zoom.us - calls, meetings, calls…
CLI Applications
ansible- setup of serversawscli- file download from AWS S3bat- colorizedcatbtop- laptop stats and network usageeza- replacement forlsfzf- search byCtrl+Rin historyhashicorp/tap/terraform- AWS, GCP cloud setuphelix- modern terminal editor as a replacement for neovimhtop- similar tobtop, but for CPU and disk onlyjq- JSON pretty printlnav- view systemd logs; not working with read-only file systems by defaultminiserve- HTTP file server to share something in a local networkneovim- terminal code editornmap- check IP addresses and ports in the local network, when I am too lazy to open the router UIopenfortivpn- to connect to work VPN because the official fortivpn is awfuloven-sh/bun/bun- replacement for Node.js for meqemu- Linux virtual machines for workradare2- reverse engineering of binary filesripgrep- usefulgrepsshs- TUI that shows a list of SSH servers from the configteamookla/speedtest/speedtest- to verify the Internet speed in a hotelteleport- server access for the work labyazi- terminal file manageryt-dlp- YouTube video downloaderzellij- replacement fortmux, useful because it is a single binary file
Games
I installed most of the games primarily for language learning, not for relaxation in the evening. Enjoyment is just a bonus, not the main goal. While playing, I translate unfamiliar words using the aforementioned Lookupper and create cards in Anki.
Once I have enough cards, I run my Python script that adds IPA and audio pronunciations from the Cambridge Dictionary. This process can be disruptive, but I always have a history of the clipboard and can add everything later.
But in general, I do not play often and take long breaks. I might not play for almost the entire year and then play every evening for a month.
Installed and played
- Disco Elysium - probably one of the most thoughtful game worlds that I remember. I have completed half of the game.
- Life Is Strange - I started playing it after the game’s release with a physical notebook and pen. However, I haven’t finished it yet and am thinking about finally completing it sometime.
- Sid Meier’s Civilization VI - a really interesting game to play with a few friends, but each game session is very time-consuming.
Installed and not played
- Baldur’s Gate 3
- Pathfinder: Kingmaker
- Pathfinder: Wrath of the Righteous
- Neverwinter Nights: Enhanced Edition - you can assume I didn’t really play it, since the last time was a long time ago.
Useful Links
I’ve collected several useful links to blog posts about macOS setups.
- https://github.com/maoxiaoke/setup-a-mac-for-frontend-dev
- https://matthiasott.com/notes/my-favorite-mac-apps-in-2023
- https://zaytsev.io/blog/macos-setup/
- https://github.com/matchai/dotfiles/blob/main/darwin/macos.nix
- https://github.com/sinnrrr/dotfiles/tree/macos
- https://github.com/driesvints/dotfiles
- https://git.herrbischoff.com/awesome-macos-command-line/about/
- https://git.herrbischoff.com/awesome-command-line-apps/about/
Conclusion
I hope this text will help me again in the future during macOS setup. Each time, I prefer to set up a phone or computer system from scratch without a full dump. This doesn’t mean that I don’t do backups at all, of course 🙂
I can say that I have stopped using a lot of programs or have replaced them. Now, I don’t have many programs for working with VMs or CLI utilities that I use rarely.
Thumbnail
Photo by Iewek Gnos on Unsplash
Join the mailing list
I'll send new posts to your inbox.