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.
- macOS Apps
- macOS CLIs
- macOS Config
- Clean install/replicate macOS
- iOS Apps
- iOS Widgets
- iOS Shortcuts
- iOS Control Center
Below is a list of all the apps & CLIs I use and how. Together with the config I use for everything.
My workflow is described in more detail in wiki and course.
- 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 & Script Kit (at times).
- 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.
- Obsidian for note taking. Love its linking feature and various plugins it has. Also use it as a thinking scratchpad of todos.
- 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 Nightly 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.
- Pathfinder for GraphQL requests (use Grafbase). And HTTPie for regular HTTP requests.
- Xcode to build iOS apps in SwiftUI.
- Telegram as my main messenger. Love its stickers, speed and simplicity.
- Spark as my email client. Does good job of sorting mail and getting out of my way when writing/replying to things.
- Discord as main way to interact with various communities.
- 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 try to keep my macOS declarative. Currently it's one magefile.go but it's not up to date. Most likely be moved to chezmoi.
I list CLIs I use here.
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.
- Boot latest macOS version. Remember that username is the name you want the home folder to be (by default its first name & last name). Mine is
nikiv
.
- Go through preferences & set everything up.
- Download & install apps I use (mentioned above).
- Sync/link all config files.
Take a look at install shell script. It will install brew, go & mage.
Run it with ./install
. As part of the script it will run mage setup
. Take a look at magefile.go Setup
function to see what it will do.
You can also run mage
alone to see what commands you can run with descriptions of them.
In short, it will create appropriate symlinks pointing at files in ~/.dotfiles
. It is assumed that the dotfiles repo is placed there.
It will also install CLI tools & apps.
- Sync settings for apps I use.
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
2 pages is often enough to have nearly all apps I need within super fast access. However I do have last third page of 'other' apps.
I use 3 widgets in lock screen.
- Show upcoming event with Fantastical
- Create new task with Things
- Create new event with Fantastical
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
- Next - Get Google Maps directions for next event
- Phone - Open Phone app
- Places - Search for Restaraunts/Attractions/.. on Google Maps
- Ride/Food - Open Uber app
- Translate - Open Google Translate app
- Weather - Open Weather app
- Workout - Open Caliber app
- Sort - Open Slidebox app
- Photo - Open Camera app
- Podcast - Start playing Overcast podcast
- Voice - Start voice conversation with ChatGPT
- Memos - Open Voice Memos app
- Record - Create voice recording
- 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.
Here is how my control center looks:
I describe my macOS/iOS setup in greater detail in my course.
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 or new tools/apps.
Can open new issue (search existing issues first) or start discussion.
Join Discord for more indepth discussions on this repo and others.
Support on GitHub or look into other projects.