# Switching from Linux to Mac: what replaces what

Source: https://ribbonformac.com/linux-to-mac-app-replacements  
Updated: 2026-10-22

You can get surprisingly close to a tuned Linux desktop on a Mac. Your terminal, shell, editor and dotfiles mostly carry over unchanged. What changes is the desktop layer, because macOS doesn't let you replace its window server or compositor. Each piece, from the window manager to the status bar, has a Mac tool that runs on top of it instead.

## The quick map

| On Linux | On a Mac |
| --- | --- |
| i3, sway | [AeroSpace](https://github.com/nikitabobko/AeroSpace) (free, i3-style) or yabai. See [i3 for Mac](https://ribbonformac.com/i3-for-mac) |
| niri, PaperWM, scroll | [Ribbon](https://ribbonformac.com/), OmniWM, Paneru or PaperWM.spoon. See [niri for Mac](https://ribbonformac.com/niri-for-mac) |
| Hyprland | AeroSpace or yabai for tiling, Ribbon for scrolling. See [Hyprland for Mac](https://ribbonformac.com/hyprland-for-mac) |
| rofi, wofi, dmenu | [Raycast](https://www.raycast.com/), Alfred, or Spotlight |
| waybar, polybar | [SketchyBar](https://github.com/FelixKratz/SketchyBar) |
| sxhkd, sway bindings | [skhd](https://github.com/koekeishiya/skhd), or your window manager's own shortcuts |
| xmodmap, keyd, kanata | [Karabiner-Elements](https://karabiner-elements.pqrs.org/) (kanata also runs on macOS) |
| apt, pacman, dnf | [Homebrew](https://brew.sh/), or Nix with nix-darwin |
| clipman, cliphist | [Maccy](https://maccy.app/), or Raycast's clipboard history |
| Alacritty, kitty, foot | Alacritty, kitty, WezTerm or Ghostty (all run on macOS) |
| flameshot, grim | Built in: <kbd>⌘</kbd><kbd>⇧</kbd><kbd>4</kbd> for an area, <kbd>⌘</kbd><kbd>⇧</kbd><kbd>5</kbd> for options |

## The window manager

This is the biggest change. On Linux, the window manager or compositor draws your desktop. On macOS, Apple's WindowServer always does, and a window manager is a regular app that moves other apps' windows using the Accessibility permission. That has three effects:

- **Animations are less smooth than niri or Hyprland,** because the window manager moves real windows instead of compositing them.
- **Windows can't truly go off-screen.** Mac tilers park hidden windows just off the edge, so a few pixels may show.
- **No root or kernel changes are needed** for most of them. Only yabai's advanced features ask you to partly disable System Integrity Protection, which is why many people prefer [yabai without SIP](https://ribbonformac.com/yabai-without-sip) or another tool.

If you used i3 or sway, start with AeroSpace. If you used niri or PaperWM, start with a scrolling window manager; [the best scrolling window managers for Mac](https://ribbonformac.com/best-scrolling-window-managers-for-mac) compares them honestly, including the free ones. Ribbon, ours, has a [live demo](https://ribbonformac.com/#demo) you can try in the browser.

## Keyboard: the Command key

macOS uses <kbd>⌘</kbd> where Linux uses <kbd>Ctrl</kbd> for copy, paste and most app shortcuts, while <kbd>Ctrl</kbd> still works in the terminal. Most switchers keep it that way rather than remapping, and give the window manager its own modifier (<kbd>⌥</kbd> in AeroSpace, <kbd>⌃</kbd><kbd>⌥</kbd> in Ribbon) so it never clashes with app shortcuts. Karabiner-Elements can turn Caps Lock into Escape or into a "hyper" key for your own shortcuts.

## Dotfiles and the shell

The default shell is zsh. Bash and fish install through Homebrew. Your shell config, editor config and most CLI tools carry over unchanged. Watch out for GNU versus BSD differences: macOS's `sed`, `date` and `find` differ from GNU's. Install `coreutils`, `gnu-sed` and `findutils` with Homebrew if your scripts depend on GNU behaviour.

## What you won't get

- A fully replaceable desktop: the Dock, menu bar and Mission Control stay.
- Workspaces exactly like Linux's: macOS Spaces have animations you can only reduce, not remove. AeroSpace avoids them by running its own workspaces.
- One config file for everything: you'll have a few small configs, one per tool.

## FAQ

### Is there an i3 or sway equivalent on macOS?

AeroSpace is the closest: free, i3-style tree tiling, configured in a TOML file. yabai is the other long-standing option.

### Is there a niri or PaperWM equivalent on macOS?

Yes. Ribbon, OmniWM, Paneru, Nehir and PaperWM.spoon all give you a scrolling strip of windows on a Mac.

### Can I use Nix on a Mac?

Yes. Nix runs on macOS, and nix-darwin manages macOS settings and packages declaratively, much like NixOS.

### Do I need to disable SIP for a tiling window manager?

No for AeroSpace, Ribbon, OmniWM, Paneru and Amethyst. yabai's scripting features need SIP partly disabled; its basic tiling doesn't.

## Keep reading
- [i3 for Mac](https://ribbonformac.com/i3-for-mac) — No i3 or sway on macOS. Match the i3 habit you miss to the right Mac tiler.
- [Niri for Mac](https://ribbonformac.com/niri-for-mac) — Niri itself is Linux-only. Five ways to get its scrolling strip on macOS.
- [Hyprland for Mac](https://ribbonformac.com/hyprland-for-mac) — No Hyprland on macOS, but each of its layouts has a Mac stand-in. Eye candy doesn't.
- [PaperWM for Mac](https://ribbonformac.com/paperwm-for-mac) — Free Lua plugin or paid native app: keys, setup and trade-offs compared.
- [Mac setup for developers](https://ribbonformac.com/mac-setup-for-developers) — Homebrew, terminal, editor, launcher, windows and the settings to change on day one.
