Skip to content
Sergei G.
Available languages

I decided to write this post mainly for myself because the previous one, written in 2022, turned out to be useful. So I am doing it again after moving to a new laptop.

Compared to 2022, I upgraded to a laptop with an M3 chip. It works well, most programs already support Apple Silicon, 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

Most settings synchronized automatically through my Apple account, so there was not much to adjust after logging in. As usual, I also turn off long animations and the blue input-language icon that appears 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.

I prefer Chrome DevTools, and almost all extensions work as well as they do in Firefox. Screen sharing was the final push: Firefox makes it noticeably more awkward, so I switched for now.

  1. Chrome - main browser
  2. Firefox - secondary browser, used once a week
  3. Min - minimal browser for screenshots and screen sharing
  4. Arc - I like the idea, but extension support never felt right to me. I rarely open it now, mostly to see how it is changing.

Browser Extensions

  1. Bitwarden - password manager
  2. StreetPass for Mastodon - parses social profiles on the page.
  3. OneTab - allows saving open tabs into a local store and reopening them later; I use it like a reading list.
  4. Tab Sorter - sorts tabs for OneTab.
  5. uBlock Origin - makes browsing the internet more comfortable, although I have Pi-hole.
  6. Simple Translate - the most elegant extension for translation. I often use it to translate words from YouTube.
  7. Clickbait Remover for YouTube
  8. Enhancer for YouTube
  9. 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

  1. Adobe Photoshop - used occasionally for image editing
  2. DaVinci Resolve - video editing
  3. Anki - flashcards for learning new things in the morning
  4. DataGrip - connecting to databases
  5. DB Browser for SQLite - local SQLite viewer with handy Blob preview
  6. Discord - calls with friends
  7. Docker - occasional local builds
  8. Endel - offline background music
  9. Flow - Pomodoro timer
  10. GoLand - Go language code refactoring
  11. Grammarly Desktop - because I don’t know English perfectly. Mostly turned off because it’s annoying.
  12. Hoppscotch - REST API client, a replacement for Postman
  13. Horo - timer for cooking 🥘
  14. iA Writer - cozy Markdown editor. I’m writing this text in it now…
  15. IINA - superb minimalistic video player
  16. kitty - replacement for the default terminal
  17. Lens - Kubernetes cluster management
  18. Lookupper - perfect solution for word translation based on image recognition. It recognizes the word under the cursor using the native macOS dictionary.
  19. Microsoft Office - bureaucracy…
  20. Obsidian - knowledge base and daily notes
  21. OrbStack - Docker replacement, but I seldom use it
  22. Parallels Desktop - virtual machines
  23. qBittorrent - torrent client
  24. Raycast - Spotlight replacement
  25. Rectangle - window manager in macOS with hotkeys
  26. Shottr - screenshot tool with notes
  27. Slack - communication tool for work
  28. Spark - used only for parsing invites, due to issues with Thunderbird
  29. Sublime Merge - UI for Git
  30. Screen Studio - quick video screen recording
  31. Syncthing - local Dropbox replacement
  32. Thunderbird - main email client
  33. Telegram - main communication tool
  34. Visual Studio Code - main text editor
  35. VLC - for rare video formats or converting from one format to another
  36. WhatsApp - chat with “plumbers”
  37. WireGuard - VPN to personal “cloud” server, always on
  38. Wireshark - network traffic debugging
  39. Zed - a promising code editor
  40. zoom.us - calls, meetings, calls…

CLI Applications

  1. ansible - setup of servers
  2. awscli - file download from AWS S3
  3. bat - colorized cat
  4. btop - laptop stats and network usage
  5. eza - replacement for ls
  6. fzf - search by Ctrl+R in history
  7. hashicorp/tap/terraform - AWS, GCP cloud setup
  8. helix - modern terminal editor as a replacement for neovim
  9. htop - similar to btop, but for CPU and disk only
  10. jq - JSON pretty print
  11. lnav - view systemd logs; not working with read-only file systems by default
  12. miniserve - HTTP file server to share something in a local network
  13. neovim - terminal code editor
  14. nmap - check IP addresses and ports in the local network, when I am too lazy to open the router UI
  15. openfortivpn - to connect to work VPN because the official fortivpn is awful
  16. oven-sh/bun/bun - replacement for Node.js for me
  17. qemu - Linux virtual machines for work
  18. radare2 - reverse engineering of binary files
  19. ripgrep - useful grep
  20. sshs - TUI that shows a list of SSH servers from the config
  21. teamookla/speedtest/speedtest - to verify the Internet speed in a hotel
  22. teleport - server access for the work lab
  23. yazi - terminal file manager
  24. yt-dlp - YouTube video downloader
  25. zellij - replacement for tmux, 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.

In general, I do not play often and take long breaks. I might skip games for almost the entire year and then play every evening for a month.

Installed and played

  1. Disco Elysium - probably one of the most thoughtful game worlds that I remember. I have completed half of the game.
  2. 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.
  3. 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

  1. Baldur’s Gate 3
  2. Pathfinder: Kingmaker
  3. Pathfinder: Wrath of the Righteous
  4. Neverwinter Nights: Enhanced Edition - you can assume I didn’t really play it, since the last time was a long time ago.

I’ve collected several useful links to blog posts about macOS setups.

  1. https://github.com/maoxiaoke/setup-a-mac-for-frontend-dev
  2. https://matthiasott.com/notes/my-favorite-mac-apps-in-2023
  3. https://zaytsev.io/blog/macos-setup/
  4. https://github.com/matchai/dotfiles/blob/main/darwin/macos.nix
  5. https://github.com/sinnrrr/dotfiles/tree/macos
  6. https://github.com/driesvints/dotfiles
  7. https://git.herrbischoff.com/awesome-macos-command-line/about/
  8. https://git.herrbischoff.com/awesome-command-line-apps/about/

Conclusion

I hope this text helps me again the next time I set up macOS. I prefer setting up phones and computers from scratch instead of restoring a full dump. That does not mean I ignore backups, of course.

I stopped using or replaced quite a few programs. I also keep fewer VM tools and rarely used CLI utilities installed now.


Thumbnail
Photo by Iewek Gnos on Unsplash