M
hanzo@bushidocyber ~ % man macos-ify

MacOS-ify

One Bash script that transforms a Linux desktop to look like macOS using the WhiteSur theme suite.

Desktop BashGNOMETheming

What it is

MacOS-ify is a single Bash script that gives a Linux desktop the macOS look in one command. It installs the WhiteSur theme suite — GTK themes, icons, cursors, wallpapers, and GNOME Shell extensions — and handles the fiddly distro differences for you.

It works on any desktop environment, but delivers the complete macOS experience on GNOME Shell 42 or newer.

What it installs

  • WhiteSur GTK theme (GTK3/GTK4) with a light or dark variant and a choice of 9 accent colors — optionally including the GDM login screen.
  • WhiteSur icons & cursors — macOS-style icon set (with a selectable Activities icon) and pointer theme.
  • Wallpaper — set automatically on GNOME and Cinnamon (skippable to save the download).
  • Three GNOME extensions — User Themes, Dash to Dock (macOS-style bottom dock), and Blur My Shell, version-matched to your GNOME release from the official API.
  • libadwaita override (optional) — extends the GTK4 styling to GNOME's built-in apps like Settings and Files; skippable for safer, update-resistant installs.
  • Window-button layout — flips the controls to the macOS close, minimize, maximize arrangement.

Distro support

One /etc/os-release probe picks the right package manager — no manual distro flag:

dnf RHEL family

  • Fedora · RHEL
  • Rocky · AlmaLinux
  • CentOS Stream

apt Debian family

  • Debian · Ubuntu · Mint
  • Pop!_OS · elementary · Zorin
  • Kali · Parrot

pacman Arch family

  • Arch · Manjaro
  • EndeavourOS · Garuda

On a non-GNOME desktop it offers to install GNOME alongside your current one; the themes, icons, and cursors still work on Cinnamon/XFCE/KDE, applied manually through your desktop's settings. (openSUSE, Void, Gentoo, Alpine, and NixOS aren't supported.)

Options & safety

Preview before you commit, then tune the look or opt parts out with flags:

--dry-run · -nPrint every command, change nothing
-yAssume yes — run unattended
--accentAccent color (9 choices)
--colorLight or dark variant
--iconActivities-icon style
--gdmAlso theme the GDM login screen
--no-extensionsSkip the GNOME extensions
--no-wallpapersSkip the wallpaper download
--no-libadwaitaSkip the GTK4 app override
  • Idempotent & logged — re-runs pull the latest upstream WhiteSur instead of re-cloning, and every action is timestamped to a log under ~/.cache/macos-ify/.
  • Fully reversible — a documented uninstall path removes each component, resets the dconf/gsettings keys, restores any competing dock, and clears the cache.

Not themeable: system fonts (set Inter or SF Pro manually), window animations, and Electron/Qt app UIs — these are outside what a theme can control.

Get it running

Clone it, make the script executable, preview with a dry run, then apply:

git clone https://github.com/BushidoCyb3r/macos-ify.git
cd macos-ify
chmod +x macos-ify.sh
./macos-ify.sh --dry-run   # preview the changes
./macos-ify.sh             # apply them

Best on GNOME Shell 42+. Works on other desktops too, with a reduced result. See the README for supported distros and options.

M

Give Linux the Mac look

One script, one command, a whole new desktop. Preview first, then transform.