Apps/CLIs/configs I use on macOS/iOS. Fish, Karabiner, Cursor..
Dark appearance. All apps are in one desktop since there is delay in switching between macOS multiple desktops. Dock is hidden.
Light appearance. Use light themes when outside or when there is glare from the sun as it makes text more readable.
iOS screens. All described in detail below.
- Clean install / replicate my macOS fully
- macOS Apps
- macOS CLIs
- macOS Config
- iOS Apps
- iOS Widgets
- iOS Shortcuts
- iOS Control Center
Read through this. It lists all settings I use on macOS, all apps I install with settings I use etc.
It's what I used to move from old mac to new one cleanly from scratch.
Some things like config file symlinking, alfred, KM macros moving is not yet documented/fully-shared but will be soon.
Below is a list of all the apps & CLIs I use and how. Together with the config I use for everything.
- Karabiner is essential tool I use to remap my keyboard. It's the tool on which my entire mac workflow is built. Essentially all the keys on my keyboard are dual purpose keys. Press once, it enters the key, hold together with another key and do custom action. I have 100's of these custom actions all within 1 second of activation for me.
- Alfred for everything search related. I create many custom plugins to do specific searches I need. Also use Raycast.
- Keyboard Maestro for all automation needs that are not search related. Both Alfred/Raycast/ScriptKit and KM are activated from Karabiner directly. I share all my KM macros here. One example of KM macro is using AppleScript to switch between light/dark macOS appearances. As appearances are switched, the themes get updated accordingly on most apps.
- BetterTouchTool for custom trackpad gestures. Specifically love three finger swipe left/right to move between tabs in Safari. Three finger swipe up to create new tab. Three down to close. Four finger swipe global swipe to show Safari. Four to right to open Cursor. Four left to open Warp.
- Fantastical to manage my calendar and events.
- CleanShot for quick editing of screenshots/screencasts.
- Notion for managing personal and organisational knowledge.
- Transmission for downloading torrents.
- 1Password to keep all passwords and secret info. I prefer to use Passkeys or Single Sign On via GitHub/Google.
- Cursor as my main code editor. It is a fork of VS Code but gives nice AI features I use often. Use many VSCode extensions with it. Keep my UI minimal and useful.
- Sublime Merge as visual Git client. It gives nice overview of files changed, what branches exist and more. I have custom actions bound to go through Git tasks fast.
- Warp as primary terminal together with Fish Shell.
- Dash to search APIs fast.
- Xcode to build iOS apps in SwiftUI.
- Telegram as my main messenger. Love its stickers, speed and simplicity.
- Discord as main way to interact with various communities.
- Spark as my email client. Does good job of sorting mail and getting out of my way when writing/replying to things.
- Figma as my primary design tool.
- IINA to play video files of movies/series.
- Safari as main browser for everything.
- Google Chrome Canary for web development as its dev tools are superior to Safari.
- Safari Technology Preview as browser for my X feed and sometimes dev.
Use Brew and global Bun packages for most of my CLIs. Eventually want to settle down on Nix as I learn it more.
I'd love to keep my macOS declarative but it's currently not. I tried getting there with magefile.go but it's not up to date. Most likely be moved to chezmoi or written from scratch in Bun/Go.
I list CLIs I use here (out of date).
All config files are part of this repo. They include configs for fish, karabiner, git and more. Configs for tools I stopped using are in archive.
I only use 2 active spaces on my phone without any folders to minimize hand movement. Everything is optimized for reachability and partly aesthetics. I nearly always use dark mode as I prefer it unless I am outside and it's hard to read the text.
I minimize push notifications to nearly only messaging apps (Telegram/Discord/..). I also keep it nearly always on Do Not Disturb mode. Especially when I work on my mac and keep the phone on the side so as to not duplicate notifications.
Apps are listed in order they appear in each of the screens.
- Fantastical widget to see my current and upcoming events. I click on the widget to open the app itself to make new events or see full week/month view of events.
- App Store to search for apps to download and sometimes check and manually trigger updates for all apps as iOS does not often do it automatically.
- Settings to connect to Wi-Fi mostly or tweak settings.
- Files to search for files like books/PDFs/.. in ~/Documents and ~/Desktop.
- Spark to check on mail. Don't have notifications set for emails.
- GitHub to check on notifications, reply to issues or search for repos/issues.
- Notion for managing personal and organisational knowledge.
- Photos to see/search photos I took and saved. Love its Memories feature.
- Google Maps for navigating around the world. Saving lists of places I want to visit and places I loved seeing.
- Audible to listen to audio books.
- Reddit to read new posts or do searches
- Instagram to share photos/videos in form of stories/posts.
- Notes to write down quick notes or ideas.
- Overcast to listen to podcasts I like. I love its smart speed feature to cut out on silent pauses.
- Reader to read PDFs/ePubs + RSS feeds.
- X to read posts, search and messages
- Perplexity to make search queries. Replacement for Google mostly.
- Slack to check up on communities I am in. Prefer Discord.
- Spotify to stream all my music and some exclusive podcasts.
- Telegram to chat and read groups/channel updates.
- Discord to check up on communities I am in.
- Things to add todos. On macOS I use 2Do as its superior. In future, will only use LA Todos.
- Safari for all web browsing. Keep top sites in bookmarks bar for fast access.
- ChatGPT to ask questions of all kind (textual / audio / visual).
- Trading 212 to to buy/sell stocks/ETFs.
- 1Password to search for passwords/notes/..
- Luma to check on events.
- Tailscale to connect to my exit node server that I use as my VPN in places I need a VPN. Use Bitfolk for my server.
- Bluesky to read posts.
- Mastodon to read posts.
- Solflare to send Solana. It also has Safari extension I use to connect to some Solana apps.
- Phone to search for some contact or update some contact info or add new contact.
- Skyscanner to search for flight tickets.
- Booking to search for hotels to stay in.
- Airbnb to search for rooms to stay in.
- Wise as my primary bank. Sending money and checking on past transactions.
- CapCut to edit videos
- VSCO to edit photos
- Pinterest to see posts and organise them into collections
- YouTube to see/search videos
- Uber to get a ride to some place
- Glass to see photographs and post some
- TikTok to see videos
- Cosmos to see new posts
I use 3 widgets in lock screen.
- Show upcoming event with Fantastical
- Overcast play my
Top
playlist - Create new task with Things
I keep common shortcut actions as widgets on the side (just need to scroll left to access):
I color all shortcuts I use with gray color for consistency.
- Shortcuts - Open Shortcuts app
- Draw - Open Freeform app
- Next - Get Google Maps directions for next event
- Translate - Open Google Translate app
- Places - Search nearby Restaraunts/Attractions/.. in Google Maps
- Workout - Open Caliber app
- Home - Get walk directions to
Home
in Google Maps - Voice - Start voice conversation with ChatGPT
- Ride/Food - Open Uber app
- Photo - Open Camera app
- Record - Create voice recording with superwhisper
- Todo - Create todo in Things with Quick Entry
- Audible - Open Audible app
- Overcast - Open Overcast app and start playing podcast
- Focus - Open Endel app
- Contacts - Start searching Cardhop for contacts
I use Test
shortcut to prototype new actions/ideas quickly. I then duplicate the working prototype & give it appropriate name. I use the same prototyping idea with KM macros.
And I mapped the action button to run Quick Note shortcut.
Here is how my control center looks:
I describe my macOS/iOS setup in greater detail in my course.
And I describe my workflow in a lot of detail in wiki.
I made a Telegram group to discuss all things macOS/iOS.
And I have a personal Discord where you can for ask questions about this repo and others.
Whilst this is a personal config/setup, I am always open to useful suggestions/ideas.
Can see existing issues for things being worked on. See main issue for what's in focus right now.
Can open new issue (search existing ones for duplicates first) or start discussion on GitHub or Discord.
Can always submit draft PRs with good ideas/fixes. You will be helped along the way to make it merge ready.