My Mac Setup
My Personal Mac Setup for Web Development
Throughout my years, I have experienced using different hardware, from laptops to desktops, and operating systems, from Windows to macOS. I have also used different programming languages and frameworks. However, I have always come back to the same setup that I have been using for the past few years. I decided to document my setup in this blog post so that I can refer to it in the future, especially when setting up a new machine. Hopefully, this will also help you in setting up your own machine.
Essential Software
Raycast, the Spotlight alternative
This is my favorite app launcher. It is a great alternative to Spotlight, and it is much faster. It also has a lot of plugins called Extensions that give me more functionality, especially as a power user. For example, I created my own plugin that easily flushes the DNS cache (because it’s always DNS).
Klack
This is more of a subjective choice, because I really like the feel and sound of mechanical keyboards, especially modded ones with the distinct thock thock sounds. On my personal machine, I use a modded RK64 keyboard with Gateron Milky Yellows, but it’s not always practical to use it with my laptop, especially when I’m out. Fortunately, Klack provides a way to emulate the sound of a mechanical keyboard on my MacBook’s keyboard. It can get annoying sometimes, and you can’t use it in a quiet setting, but I really like it.
KeyCastr
This just makes screen sharing easier, as others can easily see what I am typing.
Ice
Since I use a lot of apps, their icons clog up the menu bar on macOS. Thus, I needed an app to organize the menu icons or at least hide the ones I don’t frequently use. I actually used the paid version of Bartender 5 before, but I decided to switch to Ice because being an open-source project appealed more to me.
Rectangle
I am not really a pane guy, since I prefer to maximize windows all the time and be active on one window/application at any time. However, when I do need to split screen, I find that the keyboard shortcuts in Rectangle make it much easier to do so.
OpenInTerminal
This is a simple app that allows you to open the terminal in the current directory of the app you are using. It’s very helpful since I like using Finder to navigate my different projects, and then using terminal to either open it in my IDE or run commands.
Karabiner
This is a powerful tool that allows you to customize your keyboard. I use it to remap the keys on my keyboard to my liking. For example, I remapped the right cmd
key to the right ctrl
key.
TG Pro
Since I only have a MacBook Air, which only uses passive cooling, I like to keep an eye on the temperature of my machine. TG Pro is a great tool that allows me to monitor the temperature of my machine and the fans.
Bitwarden
Bitwarden is my preferred password manager of choice, since it neatly integrates with my browser and other apps and keeps track of all of my logins, TOTPs, etc. One bonus is that it is open-source, and it is also very cheap compared to other password managers.
Ghostty
This is my preferred terminal app for macOS, as the built-in one is not very customizable. Ghostty allows me to customize the terminal to my liking, and it also has a lot of themes to choose from.
HTTPie
Whenever I interact with APIs, having an easy-to-use HTTP client is very helpful. HTTPie not only looks the part, but is actually very functional, and that’s all I really need.
IINA
IINA is my preferred video player for macOS, as it is very lightweight and has a lot of features. It also has a lot of built-in codecs, so I don’t have to worry about installing them.
Maccy
Maccy is a great app that allows you to manage your clipboard history. It’s very helpful since I frequently copy and paste a lot of text/images, and I sometimes need to reference previously copied items. This way, I lessen the time I need to do menial tasks, making me more efficient.
Tweaks and Customizations
One thing I hate is the slow delay whenever you open the dock when it is on auto-hide mode. I frequently find myself just opting to disable this slow reveal delay and animation.
defaults write com.apple.dock autohide-delay -float 0; killall Dock
defaults write com.apple.dock autohide-time-modifier -float 0; killall Dock
For easier organization, I also add spacer tiles to the dock:
defaults write com.apple.dock persistent-apps -array-add '{tile-data={}; tile-type="spacer-tile";}' && killall Dock
defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="small-spacer-tile";}' && killall Dock