List of applications and tools that make my macOS experience even more amazing
All apps are in one desktop since there is delay in switching between macOS multiple desktops. Dock is hidden.
- Applications
- Command Line Apps
- Preference Panes
- My wonderful world of iOS
- Similar Setups
- Related
- Contributing
I use a lot of apps on my mac. Below is a list of my favorite tools with descriptions of how I use them.
I also share my dotfiles together with my iOS setup. And I made a Telegram group to discuss all things macOS/iOS.
Alfred - Launcher
- Alfred is a powerful launcher that you can program to show anything you want. It save me a lot of time as I use it to search through anything instantly.
-
It has a great community and amazing workflows that you can use.
-
I wrote an article on how anyone can start developing workflows of their own using Go language and AwGo library.
Karabiner - Keyboard remapping
- Karabiner is life changing tool that lets you remap keys at a very low level on macOS.
- I completely remapped my keyboard with it and every key on my keyboard is a custom modifier key that I can program to do what I want.
- For example you can make caps lock into an escape key when pressed once but if you hold it, it becomes a hyper key. Hyper key means that a key now serves two purposes, once when pressed alone and once when held down. So for example, for remapping caps lock, we can remap it to act as escape when pressed alone once but if we hold down on it, it becomes
⌘ + ⌃
modifier key. SoCaps Lock + F
becomes⌘ + ⌃ + F
. And so on. - I take this idea further and define these kind of hyper keys for every single key on my keyboard.
- I describe how I use Karabiner in detail here and I generate my configuration with a Karabiner DSL.
Keyboard Maestro - Automation tool
- Keyboard Maestro is essentially an IDE for automation. You create macros of actions that you can then easily call from Karabiner.
- It has a wonderful community that is happy to help with whatever you are trying to achieve.
- I share all the macros I use with the app.
2Do - Flexible task manager
- I love GTD methodology. This app is phenomenal with helping me organize my tasks. Here is how my sidebar looks:
- It also has global quick add with a hotkey. Together with lists, priorities, powerful search and a lot more.
Trello - Project management tool
- I use the app a lot to track various projects I have in my life.
- I share many boards I made publicly. Here is an example of a public board for tracking various things I want to learn.
- I assign myself to the cards I am working on now and filter to see only them by pressing Q key. I mark cards I want to work on next with
Next
tag.
1Password - Password manager
- Generate all of my passwords with it and keep everything in a secured and encrypted vault kept secure by my one master password.
- No longer need to remember passwords and I now have a unique password for every website that I am signed up on whilst activating two factor authentication wherever possible.
Typinator - Text expansions
- I use the app to fully automate writing repetitive text.
- I share all the Typinator sets I made with the app here.
BetterTouchTool - Mac input customizer
- I use this app a lot for mapping various trackpad gestures to hotkeys and actions both globally and per specific apps.
- I love scrolling through my tabs in Safari with three finger swipes left and right as well as opening and closing tabs with swiping up and down respectively.
- I share all the different gestures I have setup to use with the app that you can view and download.
- I also use the app to modify how my TouchBar looks.
PDF Expert - PDF reader/editor
- I read a lot of PDFs like books, research papers and the like. This app is a huge upgrade over Preview app that I used before.
- Multiple tabs, sepia mode, very nice annotation tools, great search, performance.
Fantastical - Calendar
- I use the app to manage events in my life.
- I take great use of Fantastical's natural language input and I use many Typinator expansions to ease this process.
- I always view my events from
Week
view. And show 5 days with 16h shown for all days. This lets me have a perspective over what I have to do now. What deadlines I have to complete soon. And gives me the freedom to adjust my schedule in light of upcoming deadlines and events.
Contexts - Window switcher
- Allows me to fuzzy search through all the currently active windows that I have.
- Makes jumping to the right window I need effortless. I often may have many VS Code instances with different projects running and this lets me switch to the project I need in seconds.
- Comes natively with macOS and I started to love using it for exploring and searching through Wikipedia.
- It is incredibly fast to make the searches and it gives quick autosuggestions for any query I type that I can then select with up and down arrows.
CleanShot - Create & annotate screenshots/recordings
- After you make a screenshot, it allows for quick edits (arrows, text, blurring).
Popclip - iOS like mouse text selection popover
- Brings up a quick menu whenever some text is selected on which I can do a number of quick actions, like searching selected text on Google, YouTube or copy the text. Here is how it looks for me:
- I share all the extensions I use with it here.
Noizio - Ambient sounds
- I use it to play sounds of rain when focusing.
Reeder - RSS Reeder
- The app I use to keep up with my RSS feeds. I use RSS to follow my favorite blogs, stay up to date on new podcast episodes and even track some software releases.
- I use Inoreader to sync blogs I follow between phone and mac.
- Here is how Reeder looks like for me:
Transmission - BitTorrent client
- A torrent client that I use. Very minimal in its UI but very powerful and has all the features that I need.
VS Code - Code editor
- My favorite editor that I use to write code in. I use many extensions for it.
- My config for it can be found here.
- I use VS Code Monokai Night theme with JetBrains Mono font. Here is how it looks:
iTerm - Terminal Emulator
- Use Zsh as my shell together with Antibody to install Zsh plugins I use.
- Assigned w + j with Karabiner to open the app from Keyboard Maestro in seconds.
- I made my own Monokai Night theme for it.
- I go over how I use the app here.
Sublime Text - Text Editor
- Use this editor in addition to VS Code and Neovim for its blazing fast speed of opening files.
- I use it primarily to edit markdown files like my wiki. I also edit config files and open large and small files for quick edits.
- I use many plugins together with Ayu theme.
Dash - API Documentation Browser
- Allows you to download any docset that you might want to use, search for any method, class or anything that you need very quickly, comes with the amazing Alfred workflow to simplify the process of searching for the right things.
Tower - Git client
- Use the app to help me version control any project I am working on. Love the ability to search through commits, check out branches with ease and searching through all the Git repositories I have on my mac with quick search.
Paw - HTTP client
- Use it to quickly make HTTP requests and test out API endpoints.
Neovim - Text Editor
- The best text editing experience you will ever get. It is worth learning it as you will start thinking about text editing differently.
- I use some kind of vim bindings in any app I use and if there is a vim plugin for the app, I often use it. I use vim editor often when connecting to remote sessions and when I need a console editor.
- My Neovim config can be seen here. I use Monokai Night theme with many plugins. Here is how it looks:
Telegram - Messenger
- My favorite messenger.
Spark - Email client
- Love how it smartly categorizes emails by categories.
- I approach all of my email tasks in GTD style. Keeping my email Inbox close to 0 at all times.
Tweetbot - Twitter client
- Use it to stay up to date and communicate on Twitter. I have Tweetbot open in full screen with two columns (Mentions or Other & Timeline). Here is how that looks for me:
Textual - IRC Client
- I love IRC and this is the best macOS client for it.
- I created my own Monokai Night theme for it that I love.
- The app also has an awesome channel search feature that I use a lot.
app due to its clean interface, a native client and stickers. I use few KM macros & quick jump search to instantly jump to chats.
Figma - Design tool
- Use the app to quickly prototype & collaborate on designs.
Sip - Collect, organize & share colors
- A great color picker I use to collect my favorite colors and color schemes.
PixelSnap - Measure everything on screen
- Use it to quickly get measurements of objects and distances between elements.
Spotify - Music streaming
- Found a lot of great music with this application and the phenomenal Alfred Workflow makes using the application an absolute joy.
- Quickly finding artists, songs I want to listen, instantly adding the song playing to my Likes playlist or any other playlist I want, seeing what other songs the artist has and more.
IINA - Video player
- Open source alternative to VLC built specifically for macOS.
- It is based on mpv and has a more modern and native look than VLC.
Kap - Screen recorder
- An open source screen recorder I use to record GIFs.
- Has keyboard support so I can quickly start and end recording of the GIF in one hotkey.
- My favorite browser. It is incredibly fast & cares about my privacy unlike Chrome.
- Vimari - Adds custom layer of keybinds you can customize to personalize the browsing experience like hinting and moving between tabs.
- Wipr - Ad content blocker that uses Safari native content blocking API's.
- 1Password - 1Password is a phenomenal password manager, this extension just gives a seamless interaction of it with the browser.
- Use it to develop websites with Dev Tools and Pesticide & React Dev Tools extensions. Chrome has few other extensions I like.
I use brew package manager to install all the tools I use on my system.
I curate a list of interesting CLI tools. Below are ones I love & use often:
- exa - Replacement for ls written in rust.
- ripgrep - Search text for patterns fast.
- fzf - Command-line fuzzy finder.
- fd - Simple, fast and user-friendly alternative to 'find'.
- watchexec - Executes commands in response to file modifications.
- bat - Cat clone with wings.
- up - Deploy infinitely scalable serverless apps, APIs, and sites in seconds to AWS.
- jq - JSON processor.
- git - Version control.
- curl - Transfer data from or to a server.
- youtube-dl - Download videos from YouTube and other video sites.
- tmux - Terminal multiplexer.
- direnv - Environment switcher for the shell.
- htop - Interactive text-mode process viewer for Unix systems.
- httpie - HTTP client.
- rq - Tool for doing record analysis and transformation.
- pandoc - Universal markup converter.
- trash - Move files and folders to the trash.
- vtop - Graphical activity monitor.
- gotop - Terminal based graphical activity monitor inspired by gtop and vtop.
- howdoi - Instant coding answers.
- asciinema - Terminal session recorder.
- tldr - Simplified and community-driven man pages.
- imgcat - Like cat but for images.
- screenfetch - Fetches system/theme information in terminal.
- hugo - Fast and flexible static site generator.
- reflex - Run a command when files change.
- modd - Flexible tool for responding to file system changes.
- now - Real time global deployments served over HTTP/2.
- yarn - Fast, reliable, and secure dependency management.
- hub - GitHub wrapper.
- xsv - Fast CSV command line toolkit written in Rust.
- pv - Pipe Viewer.
- m-cli - Useful utils for macOS.
- pgcli - Postgres CLI with autocompletion and syntax highlighting.
- mas - CLI for mac app store.
- loc - Count lines of code quickly.
- alfred - Manage Go-based Alfred workflows.
- neofetch - System information tool.
- license-up - Create a license quickly for your project.
- piknik - Copy/paste anything over the network.
- bench - Command-line benchmark tool.
- ghq - Manage remote repository clones.
- npx - Execute npm package binaries.
- devd - Local webserver for developers.
- wifi-password - Get the password of the WiFi you're on.
- fkill - Fabulously kill processes.
- ran - Simple static web server written in Go.
- SwiftDefaultApps - Set the default application used for various URL schemes, file extensions, file types, MIME types, and Uniform Type Identifiers.
- TinkerTool - Gives you access to additional preference settings Apple has built into macOS.
I also share screenshots of changes to System Preferences I made.
Using screenfetch
Searching Alfred Learn Anything. Using Monokai Night theme.
Having a unified theme across apps is amazing
If you found this interesting, I also have similar repository going over what applications I use on iOS/WatchOS as well as how and why I use them.
Here you can find more setups by other people that you can take ideas and inspiration from.
- Works for me - Collection of developer toolkits.
- Use This Interviews - What do people use to get stuff done?
- Omar Bahareth's my-mac-os - Another my-mac-os.
If you shared a similar personal setup to this, be it for Windows, Linux or anything else, you can add it in Similar Setups section.
I love finding new awesome tools and apps. If you have a favorite tool or app that you think I missed, please say it.
You can support me on GitHub or look into other projects I shared.