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.
- 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
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
- 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
Blob
preview - 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
- colorizedcat
btop
- laptop stats and network usageeza
- replacement forls
fzf
- search byCtrl
+R
in 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
- usefulgrep
sshs
- TUI that shows a list of SSH servers from the configteamookla/speedtest/speedtest
- to verify the Internet speed in a hotelteleport
- server connection that in 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 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.
- 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://github.com/sinnrrr/dotfiles/tree/macos
- 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.
Preview by Iewek Gnos on Unsplash.