I decided to write this post again for myself because the previous one, which I wrote in 2022, was pretty useful. For this reason, I’m writing it again after updating to a new laptop.

To compare 2024 and 2022, I updated my laptop to the M3 chip, which works perfectly. Most programs support the new architecture, and for the remaining x86 applications, we have Rosetta 2.

I do not use profiles in macOS now. I switched to different configurations in Git, which activate automatically based on the directory path. Switching to one profile setup was to save disk space and time during profile switching. The reason for issues with different profiles was due to Homebrew and how it installs apps.

macOS Settings

It turned out that most of the settings synchronized automatically through my Apple account. Therefore, I didn’t have to adjust most settings after logging in. Habitually, I also turn off all flickering or long animations and the annoying blue icon that indicates the current 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 are synchronized by the Apple account. Finally, I always change the key to switch between languages 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.

  1. Chrome - main browser
  2. Firefox - secondary browser, used once a week
  3. Min - minimalistic browser for screenshots and screen sharing
  4. 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

  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.- Clickbait Remover for Youtube
  7. Enhancer for YouTube
  8. SponsorBlock for YouTube

Applications

Part of the apps are installed as Homebrew packages, and the other part is downloaded as usual packages. If an app has a function to self-update, I prefer to download it manually rather than use Homebrew. In any case, Homebrew will skip this app after the first installation.

Below, I took the content of /Applications, the output of brew leaves, and added why I am using 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 connection that in 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.

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

  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 that I didn’t play this game because it was a long time ago.

Useful Links

I have collected several interesting and useful links to different blog posts about macOS setup.

  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://github.com/sinnrrr/dotfiles/tree/macos
  8. https://git.herrbischoff.com/awesome-macos-command-line/about/
  9. 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.


Preview by Iewek Gnos on Unsplash.