I’ve used Linux as my main Operating System for over 20 years, and just started using macOS for work this year (2025). I’m treating it as a research experiment—to see how another OS works and look for ways to improve my Linux setup (which I already have—like using pbcopy/pbpaste, and recently, the trash command). I’ll be documenting my setup and takeaways along the way, so if you’re making a similar transition, hopefully you’ll find this useful.
Apps
I was really happy to see that most of my favorite Linux apps also have a macOS version! While I generally prefer open source solutions, I wanted to take this opportunity to explore some macOS-exclusive options like Raycast and ChatGPT Desktop. Here’s the list of software I’m using:
- Terminal: Ghostty
- Browser: Google Chrome
- Extensions
- Onetab
- Extensions
- Code editor: Visual Studio Code
- Notes: Logseq
- Screen recording: Loom
- Previously, I used the Chrome extension, but I’ve found the main software performs much better when switching tabs during a video recording.
- Meetings: Zoom
- Messages: Slack
- Local WordPress environment: Local WordPress
- Music: Spotify
- Software management (like APT): Homebrew
- Artificial Intelligence
- LLM by Simon Willison
- I wrote a tutorial about it
- Using my prompt templates
- Installed with Homebrew:
brew install llm
- ChatGPT Desktop
- Claude for Desktop
- LLM by Simon Willison
- Pomodoro: Pomatez
- Image editing
- GIMP
- Inkscape
- Screenshots: Flameshot
- Tiling Manager: Rectangle
- Stage Manager recent apps area: Changed to 0
- Added shortcuts to Sixth: Alt + Numbers
- Launcher: Raycast
- Replaced Finder (cmd+space)
- Switch apps: one of my main uses;
- Clipboard History: I was surprised how handy it is to access my clipboard history using only the keyboard. I used to rely on a status bar icon, but now I don’t want to go back.
- Emoji selection
- Control Spotify: it’s slow, but sometimes it’s useful.
- Tiling: I’m still using Rectangle for that, but I’ll probably switch to Raycast.
- A friend recommended this awesome video: 101 Things You Can Do With Raycast.
Mouse settings
- Mouse
- Sensitivity
- [Disabled] Natural scrolling: So the direction is the same as on Linux
- Sensitivity
I had to install Logi Options+ because the MX Master 3 scroll wasn’t working as expected. Installing it fixed the issue.
I also started using the thumb button to see all open apps, and I wrote about how to do this in GNOME (Linux).
Keyboard shortcuts
Learning different keyboard shortcuts is never easy, and having an external keyboard not designed for MacOS didn’t help. Since I still use Linux for non-work stuff, I figured it was easier to adapt MacOS to what I was used to, instead of always remembering which OS I was on when using shortcuts. Doing this has made my life significantly easier, and I picked up some cool tricks along the way.
System Settings
- Modifiers keys
- Switched
Control
and Command Keys for my External Keyboard.- If you’re going to use Karabiner-Elements, you don’t need to do this.
- Switched
- Key repeat rate: moved to Fast
- This is to make the arrow keys move faster in the terminal to edit commands
- Spotlight
- Show Spotlight search
- Changed to Shift+Command+Space so I can use Raycast with the default shortcut.
- Show Spotlight search
Karabiner-Elements
For more complex changes, I installed Karabiner-Elements using brew install --cask karabiner-elements
.
Simple Modifications
- left_control –> left_command
- left_command –> left_control
- right_control –> right_command
This allowed me to keep using shortcuts like Ctrl+C, Ctrl+V
and Ctrl
+X.
Karabiner-Elements overwrote the System Settings modifier keys, so I had to set them up again in Karabiner-Elements.
Complex Modifications
Make Home and End go to the beginning and end of line
I used this custom modifier to have the same behavior as Linux.
Make Delete key delete files in Finder
I used the following modifier, which only works in Finder, to avoid conflicts with other apps:
{
"title": "Finder Delete to Trash",
"rules": [
{
"description": "Delete key moves files to trash in Finder",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "delete_forward"
},
"to": [
{
"key_code": "delete_or_backspace",
"modifiers": ["command"]
}
],
"conditions": [
{
"type": "frontmost_application_if",
"bundle_identifiers": ["^com.apple.finder"]
}
]
}
]
}
]
}
JSONUseful shortcuts I learned
- cmd+shift+4: make screenshot
- cmd+shift+5: record a video (screencast)
How hard was this change?
Thanks to helpful tips from friends, the switch wasn’t as tough as I expected. Besides the apps listed above (which are almost all the same that I use in Linux), most of my time is spent in Google Chrome, so it didn’t feel that a lot has changed. At the beginning it was annoying to give permission to every software where I wanted to share my screen or do something else, but after this initial setup, the rest was smooth.
There are still a couple of things that I need to adjust (like having Spotify controls in the topbar) and others that I want to learn (like how to use more Raycast and Apple Intelligence) and I will update this post when I have more to share about it.
What have I learned that I’m applying on Linux?
In addition to what’s mentioned here, I’m writing separate posts about how I’m improving my Linux setup based on what I’m learning from using macOS.
Leave a Reply