Ubuntu is a capable desktop operating system, but its default appearance is fairly minimal. With a few community-maintained themes and GNOME extensions, you can give it a polished, macOS-inspired look. This is the result we are working toward:

Ubuntu desktop with a macOS-inspired theme

Install the GTK theme

First, install GNOME Tweaks and Extension Manager:

sudo apt install gnome-tweaks gnome-shell-extension-manager

Next, clone the WhiteSur GTK theme repository. Open the cloned directory and run its installation script:

./install.sh

Install a matching icon theme

For Ubuntu 22.04, download the macOS icon pack from GNOME-Look. Create a .icons directory in your home folder, then move the extracted icon-theme folder into it. Press Ctrl+H in the file manager to show hidden files and directories.

On Ubuntu 24.04, you can instead install the icons from the WhiteSur icon theme repository.

Selecting the WhiteSur icon themeWhiteSur icons applied in Ubuntu

Configure GNOME extensions

Open Extension Manager and install the Blur my Shell and User Themes extensions:

GNOME Extension ManagerBrowsing GNOME extensionsBlur my Shell extensionUser Themes extension

Then open GNOME Tweaks from the application menu and apply the theme and icon settings:

GNOME Tweaks appearance settingsGNOME Tweaks theme selection

From here, adjust the settings to suit your preferences. You may also find these extensions useful:

  • Apps Menu adds an application menu to the top bar.
  • Dash to Dock provides a highly customizable, macOS-style dock.
  • Freon displays system information such as CPU temperature and fan speed in the top bar.
  • Logo Menu adds a configurable logo menu to the top bar.

Additional recommended GNOME extensions

Add wallpapers and fonts

For a static background, browse the macOS wallpaper archive from 512 Pixels. For a changing background, follow the setup instructions in the Linux Dynamic Wallpapers repository.

As a final touch, you can use Apple’s SF Pro Display font. This community guide explains how to install and configure it on Linux.