Geek-oriented toolkit for macOS

This article is constructed and sketched by me, refined and calibrated by Claude Sonnet 4.6 Max.

A guide to productivity-oriented tools and configurations for macOS power users, organized by workflow and aimed at improving efficiency.

Preface

Ever since the first generation of Apple Silicon, i.e. the M1 chip, was launched, there has been a growing popularity for macOS and MacBook among the open-source community. The reason is not hard to see from my perspective. On one hand, macOS is the most mature and polished Unix-like desktop operating system currently available — the Unix toolchain adapts to it naturally, and the POSIX-compliant underpinning means that tools built for Linux often require little to no modification to run. This is a fundamentally different situation from Windows, where you have to run a VM like WSL2 just to get a proper shell. On the other hand, Apple Silicon MacBooks were a hardware inflection point: when the M1 landed in late 2020, there’re barely any Windows laptop could come close to matching its battery life, and the build quality of the MacBook line has long been a benchmark for the industry. These two factors together explain why you see so many terminal windows on MacBook screens at every hacker event.

It is worth distinguishing the success of macOS as a platform from the success of the MacBook as a device. Unified memory, for example, was important for the MacBook but somewhat narrower in its impact: before the AI era, its biggest practical advantage was in tasks like video editing, where the bandwidth between CPU and GPU matters. It is the power efficiency and the Unix-friendly environment that converted developers en masse — unified memory was a bonus.

That said, macOS, as a commercial operating system, has always been known for its closedness. Apple tends to limit user customization in ways that feel deliberate. For instance, the built-in vim in macOS is far behind the latest and cannot be upgraded through official means, and installing some third-party software requires extra steps because the developer was not certified by Apple (i.e., did not pay for an Apple Developer account). The Gatekeeper system, while useful against malware, can be a nuisance for open-source software distributed outside the Mac App Store.

Therefore, although macOS may be satisfying for the majority of users, there are always power users — like you who clicked into this blog — who want more control over their environment, and this article is for them.

Background

There are a few things worth knowing before getting started:

  • Professionalism NOT guaranteed
    • I am only a student majoring in mathematics who loves refining my computing environment and improving productivity.
    • I am an amateur in computer science as a hobbyist.
    • I have not tested all the software listed here; only some of it is in my daily workflow. The rest is mentioned due to its high popularity and reputation in the community.
      • Software I personally use is specifically tagged below.
  • Biases in software selection
    • I prefer free and open-source software.
    • I prefer lightweight software.
    • I try to follow the Unix philosophy where I am capable of it.
    • I prefer keyboard-only operation on my computer, meaning I try to avoid using the mouse or trackpad.
  • About my macOS device
    • 13-inch MacBook Air
    • Chip: M2
      • 8-core CPU
      • 10-core GPU
    • Memory: 16 GB
    • Storage: 512 GB SSD
    • Current system version: Tahoe 26.5
  • About my macOS experience
    • I have been using macOS, starting with the device above, for about four years up to now.
    • I am gradually migrating my production environment from macOS to Linux for a better customization experience — specifically Fedora Everything & niri.

Part I: For Geeks and Programmers

Package Management

homebrew

  • Free and open-source software
  • Personally using
  • Strongly recommended

Just as every Linux distribution needs a package manager, it is always more comfortable to install software via a CLI package manager on macOS, as it’s the easiest way to install the newest software and prevent your disk from bloated by duplicated or unused packages. In this case, homebrew has become the top choice in the community.

For developers, installing homebrew will almost always be their first task on a fresh Mac. It is a CLI package manager where you can install both GUI applications and CLI/TUI software. There is an important conceptual distinction to know: formulae are command-line tools and libraries (e.g. git, ffmpeg, ripgrep), while casks are GUI applications (e.g. ghostty, firefox, obsidian). Most GUI software you install through homebrew will be a cask. You can also add third-party repositories called taps (e.g. brew tap nikitabobko/tap to install AeroSpace), which extends homebrew’s coverage far beyond its default catalog. Software installed through homebrew is generally kept more up-to-date than the Mac App Store or manual downloads, which is another reason to prefer it.

You can install homebrew via:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Searching, inspecting, installing, and updating are straightforward:

brew search 'software-name'
brew info 'software-name'
brew install 'software-name'     # or `brew install --cask 'app-name'` for GUI apps
brew update && brew upgrade

It is also possible to define a reproducible homebrew setup using a Brewfile, which is convenient for syncing your environment across machines or restoring it after a reinstall.


Terminal Emulator

I used to use the system built-in Terminal as my terminal emulator. Later I found some remarkable third-party terminal emulators developed by the open-source community. Here are my recommendations:

Ghostty

  • Free and open-source software
  • Personally using
  • Strongly recommended

Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.

After leaving the system built-in Terminal, I switched to Ghostty based on recommendations from various forums and have never looked back.

Though it may be a simplification, there is a popular saying that “Ghostty is a terminal emulator with the functionality of Kitty and the speed of Alacritty.” In my own use, even though I do not do particularly heavy work in the terminal, I do feel that Ghostty is rich in features and functions right out of the box without requiring extra configuration: split panes, multiple tabs, and in-terminal image display all work immediately. It also supports the Kitty Graphics Protocol, so many TUI applications built on it work seamlessly in Ghostty.

Configuration can be easily managed through git by editing the config file at one of the following paths:

$XDG_CONFIG_HOME/ghostty/config
~/.config/ghostty/config
~/Library/Application Support/com.mitchellh.ghostty/config

Since it is plain-text based, I use a symlink and git to manage my Ghostty config across machines.

Alacritty

  • Free and open-source software
  • Personally used

Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance.

The supported platforms currently consist of BSD, Linux, macOS and Windows.

Alacritty is written entirely in Rust, characterized by its commitment to the Unix philosophy of “do one thing and do it well.” It provides nothing more than a window for your shell while achieving instant startup speed and remarkable performance.

About five months ago, I tried Alacritty as my main terminal emulator on my ThinkPad T14p 2024 (China mainland only) running Fedora. It worked great, and I was quite satisfied with it, with one caveat: no image display. For me, window splitting should be handled by a window manager, and multiple tabs by a terminal multiplexer like tmux — I really dislike heavy, bloated applications, and having duplicated functionality across tools feels wrong. If you share that philosophy and only want your terminal emulator to provide, literally, a terminal window, Alacritty is the best choice for you.

Kitty

  • Free and open-source software

If you live in the terminal, kitty is made for YOU! The fast, feature-rich, GPU based terminal emulator.

Kitty is a terminal emulator featuring high extensibility and a keyboard-driven workflow. It pioneered the Kitty Graphics Protocol for in-terminal image rendering, and its plugin system (called “kittens”) enables powerful extensions like SSH session management, file transfer, and custom input modes. It is worth noting that Kitty is also the project whose graphics protocol Ghostty adopted.

I have not tried Kitty myself since I got comfortable with Ghostty first — classic opportunity cost.

iTerm2

  • Free and open-source software

iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with macOS 12.4 or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted.

iTerm2 is a macOS-only terminal emulator. It is the classic choice — battle-tested, feature-complete, and backed by a large community. Unlike the other emulators listed here, iTerm2 ships with a GUI configuration panel, making it especially easy to get started without touching a config file. For users who are new to terminal customization or who simply want a reliable, batteries-included option, iTerm2 is hard to beat.


Shell Configurations

bash

  • Free and open-source software
  • Classic software

bash (Bourne Again SHell) is the GNU project’s shell, found in nearly all mainstream desktop and server Linux distributions. One thing worth knowing is that the bash bundled with macOS is an ancient version 3.2, frozen in place because Apple refuses to ship anything newer that carries a GPL v3 license. This is one of the practical reasons many macOS users end up switching to zsh or another shell. I was pointed toward zsh early on and never came back.

zsh

  • Free and open-source software
  • Classic software
  • Strongly recommended

zsh is the default shell in macOS since Catalina (10.15). It is compatible with bash commands while being richer in features: better tab completion, globbing, theming, and a more programmable configuration system. Most of your shell customization will live in ~/.zshrc, which is loaded on every interactive shell session. If you’re setting up a new Mac, zsh is where you should spend your configuration energy.

oh-my-zsh
  • Free and open-source software
  • Personally used

Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes.

oh-my-zsh is one of the most popular zsh frameworks, known for its ready-to-use experience and enormous plugin/theme ecosystem. I used it when I first started with the command line. It is an excellent entry point, though it is known to be somewhat slow to start up on large configurations.

zim framework
  • Free and open-source software
  • Personally using

Zim Framework: The Zsh configuration framework with blazing speed and modular extensions.

zimfw is a zsh framework with a focus on startup speed. On the same machine, it is noticeably faster than oh-my-zsh. I have configured it with the fzf zim-plugin for fuzzy searching over files, folders, and command history, which has been very practical in everyday use.

powerlevel10k
  • Free and open-source software
  • Personally using

A Zsh theme.

Beautiful. I have been using it all the time. The interactive setup wizard makes it easy to configure from a wide selection of prompt styles without manually editing config files. It is fast enough that it does not contribute perceptibly to shell startup time.

fish

  • Free and open-source software

fish is a smart and user-friendly command line shell for Linux, macOS, and the rest of the family.

fish is not compatible with bash/sh syntax, which is why I have not tried it — too much friction for my existing scripts and workflows. That said, it is entirely rewritten in Rust (as of version 4.0), and it is genuinely batteries-included: autosuggestions, syntax highlighting, and a web-based configuration UI work out of the box without any plugins. If you are starting fresh and do not have a pile of existing shell scripts, fish is well worth considering.


Terminal Multiplexer

I should say upfront: I use a tiling window manager and rarely need to SSH into remote servers or maintain long-running background processes. So in the period of using macOS, I did not actually configure a terminal multiplexer. However, there is one specific feature I do want — copy mode, which lets me navigate terminal output with Vim keybindings without touching the trackpad.

tmux

  • Free and open-source software
  • Classic software
  • Steep learning curve

tmux is a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal.

As a terminal multiplexer, tmux is highly customizable. The default setup can be uncomfortable out of the box — for example, the default prefix key is Ctrl+b, which many users remap to Ctrl+a or Ctrl+Space. Once configured to personal taste, though, tmux becomes a powerful environment for managing long-running processes, remote sessions, and complex multi-pane layouts. It is the standard choice for anyone who regularly SSHes into servers. I am planning to learn it for the copy mode functionality.

zellij

  • Free and open-source software

Terminal Workspace with Batteries Included

zellij is a newer terminal multiplexer written in Rust. If you prefer not to configure everything from scratch and want something that works well immediately, zellij is the better starting point — it ships with a visible keybinding guide at the bottom of the screen and sensible defaults that most users will not need to change.


Version Control

git

  • Free and open-source software
  • Personally using
  • Classic software

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is lightning fast and has a huge ecosystem of GUIs, hosting services, and command-line tools.

I use git for version control, pushing to remote servers, and syncing with collaborators. At this point it is less a tool and more a prerequisite — virtually every developer workflow touches it. If you are new to it, the Pro Git book is free online and comprehensive.

lazygit
  • Free and open-source software
  • Personally using
  • Strongly recommended

lazygit is a terminal UI for git that makes complex operations simple. Stage individual lines, interactive rebase, cherry-pick commits — all without memorizing obscure flags.

An intuitive TUI for git. Anyone who loves the terminal but finds raw git CLI commands tedious or error-prone should try lazygit. Staging individual lines, visualizing branch history, resolving conflicts — all of these become approachable through its interface.


Text Editor

Editors are famously religious territory. I will try to be factual.

vi-side

vim
  • Free and open-source software
  • Classic software
  • Personally using
  • Steep learning curve

Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. It is included as “vi” with most UNIX systems and with Apple OS X.

Vim is rock stable and is continuously being developed to become even better. Among its features are:

  • persistent, multi-level undo tree
  • extensive plugin system
  • support for hundreds of programming languages and file formats
  • powerful search and replace
  • integrates with many tools

Vim (Vi IMproved) is the upgraded version of the classic vi editor. It uses a modal editing model — Normal, Insert, Visual, and Command modes — that has a notorious initial learning curve but becomes extremely efficient once internalized. Vim is ubiquitous: it is installed by default on virtually every Unix system. Even if you end up using Neovim or an IDE, learning basic Vim keybindings pays dividends everywhere — terminals, server shells, browser extensions, and even many GUI applications support them.

nvim (a.k.a. Neovim)
  • Free and open-source software
  • Personally using
  • Strongly recommended
  • Steep learning curve

Vim-fork focused on extensibility and usability

Neovim is a refactored fork of Vim with a focus on extensibility, asynchronous plugin execution, and Lua as the primary configuration language (as opposed to Vimscript). The plugin ecosystem is vastly more active than Vim’s: LSP (Language Server Protocol) integration, Treesitter syntax highlighting, and DAP (Debug Adapter Protocol) debugging are all first-class citizens. If you are starting a Vim-style editor journey today, Neovim is the right choice.

Lazyvim
  • Free and open-source software
  • Strongly recommended

Neovim config for the lazy.

LazyVim is a Neovim setup powered by lazy.nvim to make it easy to customize and extend your config. Rather than having to choose between starting from scratch or using a pre-made distro, LazyVim offers the best of both worlds - the flexibility to tweak your config as needed, along with the convenience of a pre-configured setup.

LazyVim is a Neovim configuration distribution built on the lazy.nvim plugin manager. It gives you a fully-configured, IDE-like Neovim setup that is nonetheless easy to customize and extend. For users who want the power of a hand-tuned Neovim but do not want to spend weeks building it from scratch, LazyVim is the most popular and well-maintained starting point.

If you’re interested in learning vim/neovim, but afraid of its notorious steep learn curve, I’ll recommend LazyVim for a smoother start. I believe you’ll end up finding vim not that difficult to handle.

The Church of Emacs

vanilla emacs
  • Free and open-source software
  • Classic software
  • Steep learning curve

The extensible self-documenting text editor.

GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement.

GNU Emacs is the other legend of the editor world — less a text editor than an extensible computing environment built around Emacs Lisp. It can function as a file manager, email client, web browser, organizer, and more. The famous joke is that Emacs is a great operating system, if only it had a good text editor. For those drawn to ultimate configurability and willing to invest the time, Emacs has a ceiling so high it is effectively invisible.

Doom Emacs
  • Free and open-source software
  • Strongly recommended

An Emacs framework for the stubborn martian hacker.

Doom is a configuration framework for GNU Emacs tailored for Emacs bankruptcy veterans who want less framework in their frameworks, a modicum of stability (and reproducibility) from their package manager, and the performance of a hand rolled config (or better). It can be a foundation for your own config or a resource for Emacs enthusiasts to learn more about our favorite operating system.

Doom Emacs is a heavily optimized Emacs configuration framework. It ships with evil-mode (Vim keybindings) by default, making it an appealing bridge for Vim users curious about Emacs. Startup time is dramatically reduced compared to vanilla Emacs, and the module system makes it easy to pick and choose features.

Spacemacs
  • Free and open-source software

A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it’s Emacs and Vim!

Spacemacs is a new way of experiencing Emacs – it’s a sophisticated and polished set-up, focused on ergonomics, mnemonics and consistency.

Spacemacs is another Emacs distribution that blends Emacs and Vim, built around the concept of “Spaces” for organizing keybindings by mode. It preceded Doom Emacs in the distro space and has a large established user base, though Doom has become the more actively developed of the two.

nano

  • Free and open-source software

GNU nano is a small and friendly text editor. Besides basic text editing, nano offers features like undo/redo, syntax coloring, interactive search-and-replace, auto-indentation, line numbers, word completion, file locking, backup files, and internationalization support.

Among TUI text editors, Nano is the approachable one. It displays its keybindings at the bottom of the screen, does not use modes, and just works. It is the right editor to recommend to someone who SSHes into a server and needs to edit a config file without learning a new paradigm. No one will judge you for using it.

Modern Text Editors / IDEs

Zed
  • Free and open-source software

Code at the speed of thought — Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

Zed is a minimal code editor crafted for speed and collaboration with humans and AI.

Zed is written in Rust and is exceptionally fast. It has first-class collaborative editing support (multiple users in the same file, like Google Docs), built-in AI assistance, and a growing extension ecosystem. It is still young and missing some features that mature IDEs take for granted, but for certain workflows — especially pair programming — it is already compelling.

VSCodium
  • Free and open-source software
  • Personally used

Free/Libre Open Source Software Binaries of VS Code

VSCodium is VS Code without Microsoft: it is built from the same open-source codebase but strips out the telemetry, branding, and proprietary extensions that Microsoft adds to the official binaries. It uses the Open VSX marketplace instead of the Microsoft Marketplace. If you want the VS Code experience without contributing data to Microsoft, VSCodium is the drop-in replacement.


File Manager

vifm

  • Free and open-source software
  • Personally using

Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.

If you use vi, Vifm gives you complete keyboard control over your files without having to learn a new set of commands.

Vifm brings Vim’s modal keybindings and command syntax to file management. If you have internalized Vim, navigating your filesystem with vifm feels natural and fast. Configuration is done in a vifmrc file with a Vimscript-like syntax. It is not flashy, but it does exactly what it promises.

yazi

  • Free and open-source software
  • Personally using
  • Strongly recommended

Blazing fast terminal file manager written in Rust, based on async I/O.

Yazi is the modern choice. Written in Rust with an async core, it is noticeably snappier than older Python-based file managers when navigating large directories. It has first-class image preview support (via the Kitty Graphics Protocol and other protocols), syntax highlighting in the preview pane, and a plugin system. The UI is polished and well thought-out. It is the file manager I would recommend to anyone starting fresh.

ranger

  • Free and open-source software

ranger is a console file manager with VI key bindings.

It provides a minimalistic and nice curses interface with a view on the directory hierarchy. It ships with rifle, a file launcher that is good at automatically finding out which program to use for what file type.

Ranger is the classic choice in this category — written in Python, it has a long history and a mature plugin ecosystem. The three-panel Miller column layout is iconic. It is slower than Yazi on large directories due to Python overhead, but it is well-documented and widely used.


Other TUI/CLI Tools

fzf

  • Free and open-source software
  • Personally using

fzf is a general-purpose command-line fuzzy finder.

fzf (fuzzy finder) is one of those tools that, once you start using it, you wonder how you managed without it. It hooks into your shell history (Ctrl+R), file finding, and cd navigation, replacing them with an interactive fuzzy search interface. It integrates with virtually everything: vim, tmux, git, and shell prompts. My zimfw configuration uses it for command history and file navigation.

bat

  • Free and open-source software
  • Personally using

A cat(1) clone with wings.

bat is a cat replacement written in Rust. It adds syntax highlighting, line numbers, Git change indicators, and automatic paging — making it far more useful than plain cat for quickly reading source files.

fastfetch

  • Free and open-source software
  • Personally using

A maintained, feature-rich and performance oriented, neofetch like system information tool.

fastfetch is a system information tool that displays your OS, hardware specs, and uptime in a pretty ASCII/logo format. It is the spiritual successor to neofetch (which is no longer maintained), written in C for speed. Essential if you want your terminal screenshots to look cool.


Part II: System-wise Configurations

Keyboard & Input

Karabiner-Elements

  • Free and open-source software
  • Personally using
  • Strongly recommended

A powerful and stable keyboard customizer for macOS.

Karabiner-Elements is the de facto standard for low-level keyboard remapping on macOS. It works at the kernel driver level, intercepting keystrokes before they reach the OS, which makes its remappings fast and universal. You can remap individual keys, create complex rules triggered by key combinations, and even define different behaviors based on which application is in focus.

My own configuration is a good illustration of what is possible. As a Vimmer who operates almost entirely from the keyboard, I have set up: long-pressing Caps Lock activates Ctrl, while a single tap sends Esc. This is a well-known Vim-friendly remap — Ctrl (for tmux, terminal shortcuts) and Esc (for returning to Normal mode) are both high-frequency keys that are awkward on their default positions. I have also mapped Right-Cmd + h/j/k/l to arrow keys, so I can navigate text fields and menus with Vim-style motions anywhere on macOS. After setting this up, I literally removed the physical arrow keys from my keyboard — they were being redundant.

Configuration is done through a JSON-based format (or via the GUI for common presets), and the complex modifications repository maintained by the community is a goldmine of ready-made rules.

Hammerspoon

  • Free and open-source software
  • Personally using
  • Strongly recommended

This is a tool for powerful automation of macOS. At its core, Hammerspoon is just a bridge between the operating system and a Lua scripting engine. What gives Hammerspoon its power is a set of extensions that expose specific pieces of system functionality, to the user.

Hammerspoon is essentially a scriptable macOS automation layer. You write Lua scripts that can respond to keyboard shortcuts, window events, application launches, wifi changes, battery level, and much more. It can move and resize windows, launch applications, send keystrokes, display on-screen overlays, manage spaces, and integrate with external tools. The potential is enormous — PaperWM.spoon, listed below, is essentially a complete scrolling window manager implemented as a Hammerspoon script.

I learned about Hammerspoon only after I had already switched to Linux, so I haven’t had the chance to build up a configuration of my own. I’m including it here so that readers encounter it earlier than I did.

Kawa

  • Free and open-source software
  • Personally used

A macOS input source switcher with user-defined shortcuts.

Kawa is a simple input source (IME) switcher for macOS. If you use multiple input methods — say, English and Japanese, or English and Pinyin — Kawa lets you assign a dedicated hotkey to each one rather than cycling through them with the system default Ctrl+Space. This makes language switching instant and unambiguous, which matters when you switch frequently mid-sentence.

MiddleClick

“Wheel click” with three-finger click/tap for Trackpad and Magic Mouse.

  • Free and open-source software
  • Personally used

MiddleClick adds middle-click behavior to the MacBook trackpad by recognizing a three-finger tap. On most websites and applications, middle-click closes tabs, opens links in a new tab, or pastes text (in some Unix environments). It is a small utility, but if you are used to a mouse with a scroll wheel button, the missing middle-click on a trackpad is a noticeable inconvenience that MiddleClick fixes elegantly.

Shortcat

  • Closed source software
  • Personally used

Manipulate macOS masterfully, minus the mouse.

Shortcat extends keyboard-driven navigation to the entire macOS GUI. Think of it like Vimium (described later) but for your desktop rather than your browser — you invoke it with a hotkey and can then type to search for and click any UI element, button, or menu item without moving your hand to the mouse. For a keyboard-first workflow, it fills in the gap that Karabiner-Elements and Hammerspoon do not cover: interacting with arbitrary GUI elements.


Window Management

TWM in macOS?

AeroSpace
  • Free and open-source software
  • Personally using
  • Strongly recommended

AeroSpace is an i3-like tiling window manager for macOS.

AeroSpace is a keyboard-first tiling window manager that brings an i3/Sway-style workflow to macOS. Instead of dragging and stacking windows, AeroSpace tiles them automatically and lets you navigate, move, and resize them using keybindings. It implements its own workspace system (0~9 in my config) that operates independently of macOS Spaces, giving you predictable, fast switching.

A major practical advantage over alternatives is what AeroSpace does not do: it does not require disabling SIP (System Integrity Protection) and uses only public macOS accessibility APIs. The competing option, Yabai, is more feature-rich but requires either disabling SIP or accepting degraded functionality, and — this was the dealbreaker for me — because it hooks deeply into the window server, every macOS system update tends to break it until the author releases a patch. AeroSpace avoids all of that by design.

My layout is workspaces 0~9, with Alt as the modifier key. I use Alt + h/j/k/l to move focus between windows, Alt + Shift + h/j/k/l to move windows around, and Alt + [number] to switch workspaces. If you have used i3 on Linux, the mental model is essentially identical. Now I have moved to Fedora with niri as my compositor/window manager, and I find I actually prefer the scrolling/infinite-canvas layout — which is also why I included PaperWM.spoon below.

PaperWM.spoon
  • Free and open-source software

PaperWM.spoon is a Hammerspoon implementation of the PaperWM scrolling window manager concept. Instead of tiling into a fixed grid, windows are arranged in a single scrollable row per workspace — you scroll left and right to bring them into view. I recommend it for those who find traditional tiling window managers a bit too rigid. The fact that it is built on Hammerspoon means it is easy to integrate with other Hammerspoon automation scripts.

Some alternatives I do not recommend:

  • Yabai — Requires disabling SIP for full functionality, and breaks with nearly every macOS update.
  • OmniWM — Poor performance with sluggish window behaviors.

Forget about WM / configure one yourself?

Snap
  • Closed source software
  • Personally used
  • Strongly recommended

Snap assigns keyboard shortcuts to Dock items, letting you switch to or launch any application with a single keypress. Combined with macOS Stage Manager and the native Ctrl+Globe+... window management shortcuts, you can achieve a reasonably productive window-based workflow without installing a window manager at all. For users who find tiling window managers too disruptive to their existing habits, this is a practical intermediate step.

Moreover, adding Hammerspoon for window automation (or Raycast, described below), you can build more sophisticated window-snapping behavior with hotkeys, approaching the convenience of a TWM without its full commitment. PaperWM.spoon is a great example of this potential.

Raycast
  • Closed source software
  • Freemium

A collection of powerful productivity tools all within an extendable launcher. Fast, ergonomic and reliable.

Raycast is a supercharged application launcher — think Spotlight, but with a rich extension ecosystem, built-in clipboard history, window snapping scripts, unit conversions, color pickers, and integrations with developer tools like GitHub and Jira. It has become the default productivity launcher for a large part of the macOS developer community. The core functionality is free, with a Pro tier for AI features and team sharing.


Ice

  • Free and open-source software
  • Personally using
  • Strongly recommended

Ice is a powerful menu bar management tool. While its primary function is hiding and showing menu bar items, it aims to cover a wide variety of additional features to make it one of the most versatile menu bar tools available.

Ice is the open-source alternative to the popular (and closed-source & paid) Bartender. It lets you hide and organize menu bar icons, toggle sections with hotkeys, and customize the menu bar’s appearance. The main use case is taming the menu bar clutter that accumulates as you install more utilities — on a MacBook with a notch, this is practically a necessity. It requires macOS 14 (Sonoma) or later. Note: as of macOS 26 (Tahoe), Ice is in transition — beta builds (0.11.13) are available but a stable Tahoe-compatible release is still pending.

Atoll

  • Free and open-source software
  • Personally using

Atoll brings the Dynamic Island experience to your MacBook, so tools, media, and quick actions stay compact, live, and always within reach.

Atoll is a clever tool that repurposes the MacBook’s notch as a dynamic information panel — inspired by the iPhone 14 Pro modules’ Dynamic Island. Hovering near the notch expands it to show media controls, system stats, timers, clipboard history, and more. It is less a menu bar manager and more a creative use of the screen real estate that Apple left sitting there. Worth trying if you have a MacBook with a notch, or you somehow wish to have a notch on your totally normal monitor.

Stats

  • Free and open-source software
  • Personally using
  • Strongly recommended

Stats is a free, open-source macOS system monitor that lives in your menu bar - track CPU, GPU, RAM, disk, network, sensors, battery and more on Apple Silicon and Intel Macs.

Stats adds compact, real-time system metrics — CPU usage, memory pressure, GPU utilization, network throughput, and disk activity — directly to the menu bar. Each metric can be customized with different display modes (chart, bar, percentage). For a developer or anyone who likes to keep an eye on what their system is doing, Stats is an always-visible, unobtrusive dashboard.


App Launcher

Here’re some Spotlight substitutions I would recommend.

Sol

  • Free and open-source software
  • Personally using

Sol is an open-source macOS launcher.

Free, focused on simplicity and speed.

Sol is a lightweight application launcher with a built-in clipboard manager and other utilities. I use it primarily as an app launcher and for clipboard history access.

However, I should mention one issue I have noticed with the clipboard search: Sol occasionally fails to surface existing clipboard entries when searching, even though they are visible in the history list. This is a known quirk. If reliable clipboard search is important to you, you may want to look for a dedicated clipboard manager instead. For me, I mainly use clipboard history for quick switching between the last few entries, which still works fine.

Raycast — again?

Raycast is listed under Window Management above, but it is equally prominent as an app launcher. Many users choose Raycast as their single tool for both launching apps and managing windows, rather than using separate tools for each.


Clipboard Manager

Yippy

  • Free and open-source software
  • Personally used
  • Unmaintained

Yippy was a simple, open-source clipboard manager for macOS. I use to use it for its intuitive usage: just cmd+shift+v and a clip history window will show up. Now I’ve switched to Sol for clip history management because it is eccupying too much ram when running, and it’s also too energy-consuming which cut my MacBook’s battery life greatly. So if you want a lightweight one, don’t use Yippy.

Sol — again?

Sol includes a built-in clipboard manager. After leaving Yippy, I switched to Sol for clipboard management. See the App Launcher section above for notes on its quirks.


Magnet Download Manager

Motrix

  • Free and open-source software
  • Personally using

A full-featured download manager. Support downloading HTTP, FTP, BitTorrent, Magnet, etc.

Motrix is a cross-platform download manager built on aria2, a powerful command-line download utility. It wraps aria2’s capabilities in a clean GUI, supporting multi-connection downloads for speed, batch downloading, and magnet/torrent links. If you download large files frequently or want something more capable than a browser’s built-in downloader, Motrix is the open-source pick.


Network & Proxy

Clash Verge Rev

  • Free and open-source software
  • Personally using

Clash Verge Rev is a GUI client for the Clash proxy core, rewritten in Rust (the “Rev” meaning it is a community-maintained revival of the original Clash Verge project). It supports rule-based traffic routing, allowing you to route different traffic through different proxies or directly, based on domain, IP, or protocol. The interface is clean, profile management is straightforward, and it integrates well with subscription-based proxy configurations.

V2Ray

  • Free and open-source software
  • Personally used

V2Ray is an open-source platform for building network proxies, supporting multiple protocols including VMess, VLESS, Trojan, and Shadowsocks. It is often used as the underlying protocol in proxy subscriptions consumed by clients like Clash Verge Rev. While V2Ray itself is a command-line tool, it is frequently used together with a GUI front-end. Its successor project, Xray, extends V2Ray with additional protocol improvements and is now widely used as a drop-in replacement.


Part III: Browsers & the Web Layer

Browsers

Zen

  • Free and open-source software
  • Personally using
  • Strongly recommended

Productivity at its best: Zen is packed with features that help you stay productive and focused. Browsers should be tools that help you get things done, not distractions that keep you from your work.

Zen Browser is a free and open-source Firefox fork built around a concept of calm, focused browsing. It brings Arc Browser-style features — a vertical sidebar for tabs, workspaces, and a compact mode that hides the UI and puts the webpage front and center — to the Gecko/Firefox engine rather than Chromium. This is significant for anyone who values the open web: Gecko is one of the last major browser engines not controlled by Google.

As one reviewer put it, Zen is “one of the most impressive Firefox forks” seen in recent years — it rethinks the browser UX from a modern perspective rather than simply repackaging Firefox with different settings. Its “Zen Mods” system allows extensive visual customization without writing CSS from scratch. It is still technically in beta (though actively releasing), and is largely a single-maintainer project, so long-term sustainability is something to keep in mind. Still, it is arguably the most exciting browser project of the past few years.

Personally, Zen browser changes my way to think of tabs and habits to surf the internet. One may argue that Zen is nothing more than just tab bar flipped by 90 degrees, but it’s actually not acurate: By combining the tab-folders features, one-click cleaning new tab areas altogether with a file manager like tab bar, it really make me think of managing files and folders when doing network surfing. I’ll consciously archive tabs in the new tabs area into archive areas by pinning or putting into folders, which keeps the tabs in discipline.

Firefox

  • Free and open-source software
  • Personally used

The web was meant to expand your world, not limit it. Firefox helps you shape a more personal internet that puts you back in control.

Firefox needs little introduction. It is the veteran open-source browser, backed by the Mozilla Foundation, and one of the last major browsers that is neither made by Google nor built on Google’s Chromium engine. Firefox’s developer tools, extension support (including Manifest V2, which Chrome has been phasing out), and privacy posture make it a strong choice for developers and privacy-conscious users alike. If you are not ready to use a beta browser like Zen, Firefox is the obvious baseline.

Brave

  • Free and open-source software
  • Personally used

Block ads. Save data. And get way faster webpages. Just by switching your browser.

Brave is a Chromium-based browser with built-in ad and tracker blocking, a fingerprinting protection system, and an optional cryptocurrency rewards system. It is fast, compatible with the Chrome extension ecosystem, and takes a stronger default stance on privacy than Chrome. The crypto integration (BAT rewards) divides opinions — it is easy to ignore, but it gives the project a particular flavor that some users find off-putting. Brave is a reasonable choice for users who want Chrome compatibility without Google’s data collection. It’s also one of the safest mainstream web browser I knew.

Vivaldi

  • Closed source software
  • Personally used

With all the features you need and unmatched levels of customization.

Vivaldi is a feature-rich browser from the company founded by the co-creator of Opera, characterized by its high customizability. It offers a staggering amount of UI customization: tab stacking, split-screen browsing, a built-in email client, notes, a feed reader, and highly configurable keyboard shortcuts. Basically everything you see is customizable.

It is the choice for power users who want maximum control over their browser environment and do not mind it being closed source.

Qutebrowser

  • Free and open-source software
  • Steep learning curve

qutebrowser is a keyboard-focused browser with a minimal GUI. It’s based on Python and Qt and free software, licensed under the GPL.

It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl.

Qutebrowser takes keyboard-driven browsing to its logical extreme. Navigation, tab management, link following, and page interaction are all controlled through Vim-inspired keybindings and a command-line at the bottom of the screen. There is almost no visible UI chrome — just the page. It is niche software aimed at users who are deeply committed to keyboard-only workflows, but for that audience it is uniquely satisfying. Be prepared to invest time in configuration and accept that some complex web applications may not behave perfectly.


Extensions

Tampermonkey

  • Freemium
  • Personally using
  • Strongly recommended

Tampermonkey is one of the most popular browser extensions across all major browsers. It’s available for Chrome, Microsoft Edge, Safari, Opera Next, and Firefox.

Tampermonkey is a browser extension that allows you to install and run userscripts — small JavaScript programs that modify the behavior and appearance of websites. The Greasy Fork community repository hosts thousands of scripts: removing ads, adding dark mode to websites that don’t have one, bypassing paywalls, enhancing video players, and countless other quality-of-life improvements. This is one of the most universally useful browser extensions regardless of which browser you use.

Vimium C

  • Free and open-source software
  • Personally using
  • Strongly recommended

A keyboard shortcut browser extension for keyboard-based navigation and tab operations with an advanced omnibar.

Vimium C is a browser extension that adds Vim-style keyboard navigation to web browsing. Hit f to overlay hints on every link and click them without touching the mouse; use j/k to scroll; H/L to go back/forward; / to search on the page. It makes browser navigation dramatically faster for keyboard users. Vimium C is an enhanced fork of the original Vimium with better Chinese character support, improved performance, and more features. For anyone already using Vim keybindings elsewhere, this is a natural extension of that workflow into the browser.


Part IV: Knowledge Management, Academic Writing & Reading, Learning

Personal Knowledge Management (PKM)

Obsidian

  • Closed source software
  • Personally using
  • Strongly recommended

The free and flexible app for your private thoughts.

Obsidian is a local-first personal knowledge management tool. Notes are stored as plain Markdown files on disk — there is no proprietary database format, no lock-in — and Obsidian builds a graph of connections between them. The plugin ecosystem is extraordinary: hundreds of community plugins cover everything from LaTeX rendering to Kanban boards to spaced repetition.

I use Obsidian primarily for contents outside my aera: recording thoughts on other subject that I’m interested but not as major; keeping course notes for classes; and archiving web pages with the Obsidian Web Clipper browser extension. For serious mathematical writing, I work directly in LaTeX or Markdown and publish to this site. Obsidian is more of a personal commonplace book for me than a research notebook.

The app itself is closed source (though note storage is open), which is a trade-off worth acknowledging. However, since your notes are plain Markdown files, switching tools later is always an option.

By the way, I am considering to use obsidian.nvim(mentioned below) or doomemacs to replace the closed source Obsidian.

Logseq

  • Free and open-source software

A safe space for your thoughts.

Designed to store your interests, questions, ideas, favorite quotes, reminders, reading and meeting notes easily.

Logseq is an outliner-based PKM tool with a graph database underneath. Every note is a bulleted outline, and linking between notes builds a knowledge graph you can explore visually. It is particularly well-suited for journaling and daily notes workflows. Like Obsidian, data is stored locally in Markdown or Org files. Logseq is fully open-source, which gives it an edge for users who want to inspect or contribute to the codebase.

It’s worth noticing that comparing to Obsidian, which manages traditional paragraph-based notes, Logseq manages outline-based notes which every words are organized by bulleted outline.

AFFiNE

  • Free and open-source software

AFFiNE is a workspace with fully merged docs, whiteboards and databases. Get more things done, your creativity isn’t monotone.

AFFiNE (Affine Artistry For Infinite Notes and Education) is an open-source alternative to Notion and Miro. It combines structured document editing, kanban boards, and an infinite whiteboard canvas in a single workspace. Local-first storage is supported. It is relatively newer than Obsidian or Logseq and has a broader feature scope — worth considering if you need whiteboard collaboration as part of your knowledge workflow, or you’re already familiar with block-based notes like those taken in Notion.

Unlike passage-based notes managers like Obsidian or outline-based notes-managers like Logseq, AFFiNE is a block-based notes manager similar to Notion.

Org-roamemacs

  • Free and open-source software
  • Classic software

A plain-text personal knowledge management system.

Org-roam is a Roam Research-inspired extension for Emacs’s org-mode. If you are already in the Emacs ecosystem, it provides a powerful non-hierarchical note-taking graph using Org files. For those committed to living inside Emacs, Org-roam and org-mode together are arguably the most powerful PKM system available.

obsidian.nvimnvim

  • Free and open-source software

Built for people who love the concept of Obsidian – a simple, markdown-based notes app – but love Neovim too much to stand typing characters into anything else.

A Neovim plugin that lets you interact with Obsidian vaults directly from Neovim: create and follow wiki links, search notes with telescope.nvim or fzf-lua, and insert templates. If you spend most of your time in Neovim and want to access your Obsidian vault without leaving the editor, this is the integration for that.

vimwikivim

  • Free and open-source software
  • Classic software

VimWiki is a personal wiki for Vim – a number of linked text files that have their own syntax highlighting.

Vimwiki turns Vim or Neovim into a personal wiki. Notes are stored in plain text files with a lightweight wiki syntax, and you can follow links with a single keypress. It is simpler and more self-contained than Obsidian, which may be an advantage for users who prefer minimal dependencies.


markdown Editor

Use your favored text editor?

If you are already comfortable in Neovim, Emacs, or VS Code, those are often the best Markdown editors by virtue of familiarity. For mathematical content, pandoc combined with your editor of choice will take you far.

Typora

  • Closed source software
  • Personally using

A truely minimal markdown editor.

Typora is a WYSIWYG (what you see is what you get) Markdown editor — it renders Markdown in-place as you type, rather than showing raw syntax alongside a preview. For writing prose-heavy Markdown documents (blog posts, reports), this mode is much more pleasant than a split-pane editor. It has excellent LaTeX math rendering via MathJax. Typora is paid (one-time license), which may be off-putting given the alternatives, but the editing experience is genuinely polished.

Marktext

  • Free and open-source software

MarkText renders your formatting as you type — headings grow, emphasis leans, and code snaps into place without ever leaving the page.

Marktext is an open-source alternative to Typora with a similar WYSIWYG Markdown editing approach. It is the natural recommendation for users who want the Typora experience without the cost. Feature parity with Typora is not complete, but it covers the core use cases.


$\LaTeX$ Editing

Use your familiar text editor?

Neovim with plugins like vimtex provides compilation, SyncTeX integration, and syntax support in one. Emacs with AUCTeX is the other classic choice.

TexMacs

  • Free and open-source software
  • Personally used

GNU TeXmacs is a free scientific editing platform designed to create beautiful technical documents using a WYSIWYG interface.

TeXmacs is a scientific document editor that offers a WYSIWYG interface producing LaTeX-quality output. Unlike LaTeX, you see the formatted result as you type, without a compilation step. It supports mathematical typesetting, schemes for programming, and can export to various formats.

It’s very easy to learn and use, and I’ll recommend this to those who’re new to $\LaTeX$ typing but unwilling to learn this language.

However, it’s worth noticing that the exporting function of TexMacs seems to be not working very well, as the exported code cannot be complied by my Vimtex.

Skim

  • Free and open-source software
  • Personally using

Skim is a PDF reader and note-taker for OS X.

Skim is a macOS PDF viewer with excellent support for the SyncTeX protocol, which enables bidirectional sync between a LaTeX source file and its PDF output: clicking in the PDF jumps to the corresponding source line, and jumping to a source line reloads and highlights the corresponding position in the PDF. This makes it an ideal companion for a LaTeX workflow where you edit in your terminal and want to preview the output without manual refresh.

On Linux I use zathura for the same purpose, but configuring it properly on macOS can be finicky. Skim works out of the box and integrates cleanly with LaTeX editors and the build tools. If you are writing math in LaTeX on a Mac, Skim is your PDF viewer.

As a side note, I use the Gilles Castel-inspired workflow of writing LaTeX fast using nvim + UltiSnips snippets. The idea is to define short snippet triggers that expand into common LaTeX structures, allowing you to keep up with mathematical content in real time. My speed is far slower than Castel’s (he could literally typeset lectures live), but the workflow is still a meaningful improvement over typing everything by hand.


Office Suite

LibreOffice

  • Free and open-source software
  • Personally using

LibreOffice is an open source office suite created by you, for you.

LibreOffice is the leading open-source office suite, offering equivalents to Word (Writer), Excel (Calc), PowerPoint (Impress), and more. It handles Microsoft Office formats reasonably well, though complex formatting can sometimes be imperfect on import. For a math student who occasionally needs to open or edit .docx or .xlsx files, LibreOffice does the job without downloading Microsoft 365.


Academic Reference Management & Reading

Zotero

  • Free and open-source software
  • Personally using
  • Strongly recommended

Zotero is a free, easy-to-use tool to help you collect, organize, annotate, cite, and share research.

Zotero is the gold standard for academic reference management. It can capture metadata from web pages, journal databases, library catalogs, and PDFs with one click via its browser extension. Notes, PDF annotations, and citations are organized in a local library. When writing papers, Zotero integrates with Word, LibreOffice, and (via third-party plugins) LaTeX, generating citations and bibliographies automatically in virtually any citation style. For any student or researcher dealing with papers and citations, Zotero is essential.

For me, it’s also the textbook / reference reader. The note-taking function is enough for me. And I’ve configured to sync my reference library and notes through webdav server and zotero server, and I am able to read & sync books on any device with zotero installed and logined. Zotero even has a web version to let users to view sync references via browsers.

Kiwix

  • Free and open-source software
  • Personally using

Kiwix is an offline reader for online content. It allows users to make websites available offline by packing them into ZIM files.

Kiwix lets you download and browse offline copies of websites packaged in the ZIM format. The available library includes Wikipedia (in many languages), Stack Overflow, Project Gutenberg, TED Talks transcripts, and educational resources of all kinds. This is invaluable in environments with unreliable internet, on airplanes, or simply when you want a fast, local copy of reference material. A full English Wikipedia ZIM file is 123.98 GB; other smaller packages like mathematics Wikipedia or Stack Overflow dumps are much smaller.

I’ve install the whole English wikipedia on my phone, which makes checking knowledges much easier.


Mathematical Computing

WolframLanguageForJupyter

  • Free and open-source software

Jupyter provides a protocol (ZMQ) to connect their notebooks to various languages. This project defines a Wolfram Language kernel which can be used in Jupyter notebooks.

WolframLanguageForJupyter provides a Jupyter kernel for the Wolfram Language (the language behind Mathematica). The catch is that you still need a Wolfram Engine license — but Wolfram offers a free license for non-commercial use. This makes it a free alternative to the full Mathematica IDE for anyone already comfortable with Jupyter Notebook workflows. It is not as interactive as the native Mathematica frontend, but the combination of a free license, the Wolfram Language’s mathematical capabilities, and Jupyter’s notebook format is compelling.


Handwriting

Xournal++

  • Free and open-source software
  • Personally using
  • Strongly recommended

Xournal++ is an open-source and cross-platform note-taking software that is fast, flexible, and functional. A modern rewrite and a more feature-rich version of the wonderful Xournal program.

Xournal++ is a handwriting and note-taking application with excellent PDF annotation capabilities. It works with stylus input from a drawing tablet or stylus-equipped device, and its PDF annotation workflow is smooth: open a PDF, annotate over it, export a new PDF with annotations embedded.

I use it with a drawing tablet (I am an amateur anime illustrator and carry my tablet with me), primarily for writing out mathematical homework when I am too lazy to typeset everything in LaTeX. The handwriting-to-LaTeX pipeline is an aspirational goal but sometimes you just want to scribble through a problem and move on. Xournal++ makes that frictionless.


Memorization

Anki

  • Free and open-source software

Anki is a flashcard program that helps you spend more time on challenging material, and less on what you already know.

Anki implements spaced repetition — a learning technique that schedules flashcard reviews at optimally expanding intervals based on how well you recalled each card. The result is dramatically more efficient memorization than rote review. It is the standard tool for language learners, medical students, and anyone trying to retain large amounts of factual information. The card format supports text, LaTeX, images, and audio.


Dictionaries

Eudic (欧路词典)

  • Closed source software
  • Personally using

Eudic is a dictionary application popular among Chinese-speaking users for its excellent support for both Chinese-English translation and English monolingual dictionaries. It integrates with macOS to provide system-wide lookup: you can select any word in any application and look it up instantly. It also supports importing third-party dictionaries in MDX/MDD format, making the dictionary collection highly extensible.

I mainly use it for two-stage-enter searching:

  1. Hotkey alt+space will call out a matching word panel, know as “light peek”, on the top right of the screen under the eudic icon in the bar.
  2. Type and navigate through that panel to choose the desired word.
  3. Press enter for the first time to show the brief explanation in another minitype dictionary panel.
  4. Press enter again to show the detailed explanation in the centered dictionary window.

GoldenDict-ng

  • Free and open-source software
  • Personally using

GoldenDict-ng is an advanced dictionary lookup program.

GoldenDict-ng (Next Generation) is the actively maintained fork of GoldenDict. It is a multi-format dictionary reader that supports an enormous range of dictionary file formats (StarDict, MDict/MDX, DSL, Babylon, EPWING, etc.) alongside Wikipedia, Wiktionary, and any website that accepts URL query parameters. For power users who want to maintain their own curated dictionary collection from multiple sources, GoldenDict-ng is the most flexible option available.

I am planning to use this as my dictionary application in my Linux environment, still configuring.


Part V: Media

Video Players

IINA

  • Free and open-source software
  • Personally using
  • Strongly recommended

The modern media player for macOS.

IINA is built on mpv (the powerful command-line media player) but wraps it in a native macOS interface that genuinely feels like it belongs on the platform: a clean, uncluttered window, Touch Bar support, picture-in-picture, macOS media controls, and Apple Silicon optimization. It supports virtually every video and audio format that mpv does, which means virtually everything. I switched from VLC to IINA years ago and have not looked back. For me, this is simply the best video player in macOS.

VLC

  • Free and open-source software
  • Personally used

VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files, and various streaming protocols.

VLC (VideoLAN Client, as it was originally known, though the name is now officially just VLC) is the legendary cross-platform media player that just works with anything you throw at it. It has been around since 2001, runs on every platform imaginable, and handles formats that other players refuse. If you are on a non-Mac platform, VLC is the obvious go-to. On macOS it remains a solid fallback, though IINA is now the more native-feeling choice.


Video Editing & Formatting

HandBrake

  • Free and open-source software
  • Personally using

HandBrake is a open-source tool, built by volunteers, for converting video from nearly any format to a selection of modern, widely supported codecs.

HandBrake is the standard free video transcoder. Its primary use case is converting videos between formats, compressing large files for storage, and preparing content for specific devices. It uses FFmpeg and libav under the hood and supports hardware-accelerated encoding on Apple Silicon (via VideoToolbox). For a student who needs to compress a screen recording or convert a downloaded video to a more manageable format in a GUI interface, HandBrake is indispensable.

LosslessCut

  • Free and open-source software
  • Personally using

The swiss army knife of lossless video/audio editing.

LosslessCut trim and cut video files without re-encoding. Re-encoding a long video file to remove the first and last minute wastes time and degrades quality. LosslessCut cuts at keyframes instantly, without touching the codec at all, producing a trimmed file in seconds.


Local Music Library Manager

Foobar2000

  • Closed source software
  • Personally used

Foobar2000 is a legendary audio player that originated on Windows but now has a macOS version. It is known for its extreme configurability, efficient resource use, and support for virtually every audio format. The component ecosystem extends it with everything from WASAPI output to gapless playback to DSP effects. If you care deeply about audio fidelity and want precise control over playback, foobar2000 is the audiophile community’s long-standing standard.

Harmonoid

  • Free and open-source software
  • Personally using

Plays & manages your music library. Looks beautiful & juicy.

Harmonoid is a modern, cross-platform music player with a focus on beautiful UI and library management. It organizes music by album, artist, and genre from your local files, with smooth album art display. Written in Flutter, it has a consistent look across platforms. A reasonable choice for users who want a nice-looking local music player without the complexity of foobar2000.

HiFidelity

  • Free and open-source software
  • Personally used

Professional-grade audio playback for macOS. Completely offline. No subscriptions, no tracking. Just pure, uncompromised sound quality.

HiFidelity is a macOS-native music player focused on high-quality local audio playback. It supports lossless formats (FLAC, ALAC, WAV, AIFF) and provides a clean interface for managing a local music library. A simpler and more lightweight option than Foobar2000.


AI Transcription

Buzz

  • Free and open-source software
  • Personally using

Transcribe and translate audio offline on your personal computer. Powered by OpenAI’s Whisper.

Buzz is a GUI front-end for OpenAI’s Whisper speech recognition model that runs entirely on your local machine — no audio is sent to any server. It supports over 90 languages, handles video and audio file formats (MP3, WAV, M4A, MP4, MOV, and more), and features live microphone recording transcription, SRT/VTT export, and batch processing. On Apple Silicon, it uses CoreML acceleration for faster processing. The result is a capable, free, and privacy-preserving transcription tool that is genuinely useful for transcribing lectures, meetings, or interview recordings.


Illustrating & Image Editing

Krita

  • Free and open-source software
  • Personally using
  • Strongly recommended

Krita is a public project licensed as GNU GPL, owned by its contributors. That’s why Krita is Free and Open Source software, forever.

Krita is a professional-grade digital painting application built for illustrators, concept artists, and comic artists. It has a rich brush engine, a non-destructive layer system, excellent drawing tablet support (pressure sensitivity, tilt, rotation), and a workflow deliberately designed around painting and illustration rather than photo editing. It is free and open-source, making it remarkable value.

I am an amateur illustrator and use Krita as my primary painting tool. It handles everything I throw at it — character illustration, linework with the stabilizer, color fills, simple animation experiments. It has all the functions that I used in Photoshop.

GIMP

  • Free and open-source software

GIMP, short for GNU Image Manipulation Program, is the most widely known free and open-source image editor, often cited as the open-source alternative to Photoshop. It covers photo retouching, image composition, and format conversion, with a scripting interface (Script-Fu / Python-Fu) for batch operations. GIMP’s interface and paradigm are quite different from Photoshop, which creates a learning curve for users coming from Adobe’s ecosystem. However, for general image manipulation tasks that do not require advanced non-destructive editing, GIMP is a capable and widely-supported choice.


Part VI: Virtual Machines & Containers

OrbStack

  • Closed source software (free for personal use)

OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative.

OrbStack is a fast, lightweight alternative to Docker Desktop on macOS. It starts up much faster, uses significantly less memory and CPU than Docker Desktop at idle, and includes the ability to spin up lightweight Linux VMs (not just containers) alongside Docker. For developers who use Docker regularly, switching from Docker Desktop to OrbStack usually feels like an immediate quality-of-life improvement. The personal use tier is free.

VMware Fusion

  • Closed source software

VMware Fusion is a professional-grade virtual machine application for macOS. It runs full operating systems — Windows, Linux, and other macOS versions — in isolated VMs with hardware virtualization. Since VMware made Fusion free for personal use in 2024, it has become the obvious choice for users who need a full VM rather than a container. Apple Silicon support has matured significantly; running ARM builds of Linux works well. For Windows, it natively runs Windows 11 ARM, though running translated apps is slower than native ARM code.


Part VII: Escape from macOS? — Asahi Linux

What is Asahi Linux?

Asahi Linux is a project dedicated to porting the Linux operating system to Apple Silicon Macs (M1, M2, M3, and eventually beyond). The name comes from the Japanese word 旭 (asahi, “morning sun”), the same word used in the old Japanese name for the Granny Smith apple variety that inspired Apple’s logo.

What makes Asahi technically remarkable is that Apple Silicon is entirely undocumented — there are no publicly available hardware specs. Every driver, every hardware abstraction, every quirk in the platform has been reverse-engineered by examining how macOS interacts with the silicon. This is an enormous undertaking.

Why Would You Want Linux on an Apple Mac?

The MacBook is genuinely excellent hardware: silent fanless operation (on the Air), extraordinary battery life, a best-in-class keyboard and trackpad, and great build quality. If you could run a fully customizable Linux environment on that hardware rather than macOS, you would get the best of both worlds. That is Asahi Linux’s promise.


History & Background

The project was started by Hector Martin (marcan) in 2021, initially bootstrapped through a Patreon crowdfunding campaign. The early milestones were extraordinary: booting a minimal Linux environment, bringing up USB, NVMe storage, WiFi, and eventually a graphical environment.

A significant chapter in the project’s history came in early 2025, when Martin stepped down — first as upstream Linux kernel maintainer for Apple Silicon support, then as Asahi project lead. The reasons were a combination of burnout, frustrations with user expectations around M3/M4 support and missing features like Thunderbolt, and conflicts with Linux kernel maintainers over the integration of Rust code (which the Asahi GPU driver is written in). The Rust-in-kernel debate was a contentious community dispute, and Martin’s public positions on it created friction with Linus Torvalds and other maintainers.

Crucially, the project survived. The remaining team adopted a shared governance structure and continued pushing forward. The progress reports since Martin’s departure show an active and productive project — a testament to how much depth the broader contributor base had developed.


What It Is

The recommended distribution for Asahi Linux is Fedora Asahi Remix, a collaboration between the Asahi Linux project and the Fedora Project. Fedora Asahi Remix is the result of a close multi-year collaboration between the Asahi Linux project and the Fedora Project, working to bring a fully integrated distro with improvements and bug fixes delivered to users as quickly as possible.

As of Fedora Asahi Remix 44 (released April 28, 2026), all M1 and M2 series MacBook, Mac Mini, Mac Pro, Mac Studio, and iMac devices are supported. KDE Plasma is offered as the flagship desktop environment, with full Wayland support.

Recent releases have brought meaningful hardware milestones:

  • Mac Pro with Apple Silicon joined the supported hardware roster for the very first time in Fedora Asahi Remix 43 (March 2026).
  • MacBook Pro owners gained 120 Hz display support on Linux, finally matching macOS refresh rate behavior.
  • M2 Pro and M2 Max internal microphones are now fully functional after a targeted kernel-level fix.

Installing

The recommended approach is the Asahi installer script, which runs from within macOS:

curl https://alx.sh | sh

The installer handles partitioning, firmware installation, and setting up the bootloader. You can dual-boot macOS and Fedora Asahi Remix without permanently committing to one or the other.


The GPU Driver Story

This is the most technically interesting part of the Asahi project, and where the most exciting advances have happened.

OpenGL: Conformant and Fast

Asahi ships an open-source OpenGL driver for the Apple GPU (internally called AGX). Critically, the Asahi driver is conformant to OpenGL 4.6 and OpenGL ES 3.2 — meaning it passes the official Khronos conformance test suite. This is notable because Apple’s own Metal-based drivers on macOS only claim OpenGL 4.1 (and those are not conformant). The Asahi Linux community genuinely has better OpenGL support than macOS itself.

Recent performance work has been significant as well. GPU memory copy operations, which were previously offloaded to the CPU (making them pathologically slow), have been replaced with optimized GPU shader implementations. Buffer clearing was similarly optimized. These changes meaningfully improve real-world application performance.

Vulkan: Honeykrisp

The Vulkan driver, code-named Honeykrisp, was written by Alyssa Rosenzweig and is arguably the most technically impressive piece of the Asahi project. Honeykrisp has been upstreamed into Mesa proper and implements Vulkan sparse support, which enables DirectX Feature Level 12_0 through VKD3D-Proton for running DX12 Windows games on Linux. The driver is conformant to Vulkan 1.4, as well as OpenCL 3.0 (via the same Mesa stack), and is now available in Fedora Asahi Remix. Fedora Asahi Remix 44 retires the vendored Mesa packages, transitioning users to the upstream Mesa packages.

DisplayPort Alt Mode via USB-C

One of the longest-standing missing features was external display output over USB-C. The Asahi team has achieved a working implementation (the fairydust branch) — this was demonstrated at 39C3 by running the slide deck on an M1 MacBook Air connected to a projector via a USB-C to HDMI adapter. As of mid-2026, the feature is available in a developer-targeted branch and not yet in a stable release due to remaining quirks with multi-display setups and hot-plug behavior.

M3 Support — In Progress

M3 support is underway but not yet in a stable release. Three new contributors (Alyssa Milburn, Michael Reeves, and Shiz) brought M3 support to the point where Linux boots to a KDE Plasma desktop on an M3 MacBook Air — a significant milestone. However, the M3 GPU architecture is a significant departure from M1/M2, introducing ray tracing and mesh shaders, and the GPU driver does not yet support M3. The team is committed to matching the polish level of M1/M2 support before releasing M3 support publicly.


What Works / What Doesn’t (June 2026)

Generally working on M1/M2 series:

  • CPU, NVMe storage, USB
  • WiFi and Bluetooth
  • Display (built-in), including 120 Hz on MacBook Pro 14/16
  • Keyboard, trackpad (with gestures)
  • Speakers and headphone jack (with tuned EQ)
  • Webcam
  • GPU acceleration (OpenGL 4.6, Vulkan 1.4, OpenCL 3.0)
  • Battery management and power efficiency
  • Suspend/resume (basic)

Known limitations / in progress:

  • External display via USB-C (works in fairydust branch, not stable release)
  • Thunderbolt (not supported)
  • M3 and M4 series (limited; M3 can boot Fedora but without GPU acceleration)
  • Some power management features still in development

Should You Use It?

Asahi Linux on an M1/M2 Mac is genuinely usable as a daily driver today — not just as a curiosity. In five years, the project has gone from Hello World over a serial port to being one of the best-supported desktop-grade AArch64 platforms in the Linux ecosystem.

That said, it is worth being realistic about what you are signing up for:

Good candidates:

  • Users comfortable with Linux who want to run Fedora on excellent hardware
  • Developers who want a native ARM64 Linux environment for cross-compilation or testing
  • People who value open-source GPU drivers over macOS’s proprietary stack
  • Users whose workflow does not depend on external display output via USB-C (or who are comfortable with the dev branch)

Less ideal if:

  • You depend on Thunderbolt devices
  • You have an M3 or M4 Mac
  • You need macOS-exclusive software and cannot dual-boot comfortably
  • You expect everything to work exactly as on macOS

Dual-booting is always an option and is the recommended approach for most people exploring Asahi — you keep macOS for anything that requires it and boot into Fedora for development or exploration.


End

To find more high-quality software for macOS, check out awesome-mac — a community-curated list that covers many more tools than this article does.